DILA-edu / cbeta-api

CBETA API Developer Group
21 stars 5 forks source link

HTML文檔缺<br> tag #12

Closed MrRogerHuang closed 3 years ago

MrRogerHuang commented 3 years ago

各位大德您好:

如圖所示為《太虛大師年譜》:「太虛大師年譜」(CBETA 2020.Q4, Y13, no. 13, p. 1a1)一處瀏覽器擷圖: image 左方的文字有用<br>正確作換行。

但我的app使用CBETA API取得的HTML卻缺少該換行<br> tag: image

太虛大師年譜卷2 CBETA API call

請問如何處理?

RayCHOU commented 3 years ago

因為前端在呈現時有「依原書換行」與「不依原書換行」兩種選擇, 所以當時與前端開發者 @winxd 討論的結果是:

API 提供 <span class="lb"> 標記,
前端視需要判斷是否轉為 <br>.
MrRogerHuang commented 3 years ago

了解,謝謝您。

MrMYHuang commented 3 years ago

補充:我研究出來是pre class HTML element裡的lb class HTML elements都需要在它們前面加上斷行。JS的參考作法:

function addCbetaLineBreaks() {
  document.querySelectorAll('.pre .lb').forEach((el) => {
    const newBr = document.createElement('br');
    el.before(newBr);
  });
}

完成範例: image