Confluence自帶非常完善的富文本編輯器紫岩,但是有時(shí)候某些文檔使用MarkDown編寫,而Confluence對(duì)MarkDown的支持并不是很好,不支持代碼語法高亮。同時(shí)MarkDown在不同渲染器下渲染出來的效果也天差地別脯燃。所以這時(shí)候希望能將MarkDown轉(zhuǎn)成我們希望的html樣式,再以html的形式發(fā)布到Confluence上蒙保。
MarkDown轉(zhuǎn)html辕棚,一般的MD編輯器都支持,而Confluence使用html發(fā)布邓厕,卻還有很多坑逝嚎,這里一一做記錄。
插入html
Confluence原生支持HTML Marco
將html源碼粘貼進(jìn)html編輯框時(shí)邑狸,不能使用CMD+V懈糯,而要右鍵粘貼,否則所有html源碼會(huì)被隔開单雾,被當(dāng)做多段html。
css無法渲染
HTML Marco的preview正常她紫,頁面的preview也正常
但是保存后硅堆,就是無法渲染css。表現(xiàn)為所有背景顏色或者代碼高亮全部無效贿讹。
這是因?yàn)檎迟N進(jìn)來的html有head和body標(biāo)簽渐逃。把這兩個(gè)標(biāo)簽刪除了,但是保留標(biāo)簽內(nèi)的內(nèi)容民褂,就可以了茄菊。
<>符號(hào)消失
部分文本代碼塊中的<>符號(hào)消失,部分又沒消失赊堪。由于<>本身是html的保留字符面殖,所以如果文本中出現(xiàn)<>需要轉(zhuǎn)義成<>。進(jìn)入html代碼中查看哭廉,發(fā)現(xiàn)粘貼前的html代碼中的<>在粘貼后脊僚,在HTML Marco編輯器里都被解碼成<>了。但是為什么又有部分正確顯示了呢遵绰?原來被<span>標(biāo)簽包圍的可以正確顯示辽幌,沒有span包圍的就無法顯示了。于是將Marco編輯器里的沒有span包圍的<>都改成<span><</span>和<span>></span>椿访。這應(yīng)該是HTML Marco的bug乌企,因?yàn)槿绻鹔mtl不是粘貼進(jìn)來的而是手打的,就不會(huì)有問題成玫。
參考文獻(xiàn)
https://jira.atlassian.com/browse/CONFSERVER-34691