Confluence使用html发布wiki

Confluence自带非常完善的富文本编辑器,但是有时候某些文档使用MarkDown编写,而Confluence对MarkDown的支持并不是很好,不支持代码语法高亮。同时MarkDown在不同渲染器下渲染出来的效果也天差地别。所以这时候希望能将MarkDown转成我们希望的html样式,再以html的形式发布到Confluence上。

MarkDown转html,一般的MD编辑器都支持,而Confluence使用html发布,却还有很多坑,这里一一做记录。

插入html

Confluence原生支持HTML Marco


将html源码粘贴进html编辑框时,不能使用CMD+V,而要右键粘贴,否则所有html源码会被隔开,被当做多段html。

css无法渲染

HTML Marco的preview正常,页面的preview也正常


但是保存后,就是无法渲染css。表现为所有背景颜色或者代码高亮全部无效。


这是因为粘贴进来的html有head和body标签。把这两个标签删除了,但是保留标签内的内容,就可以了。

<>符号消失

部分文本代码块中的<>符号消失,部分又没消失。由于<>本身是html的保留字符,所以如果文本中出现<>需要转义成&lt;&gt;。进入html代码中查看,发现粘贴前的html代码中的&lt;&gt;在粘贴后,在HTML Marco编辑器里都被解码成<>了。但是为什么又有部分正确显示了呢?原来被<span>标签包围的可以正确显示,没有span包围的就无法显示了。于是将Marco编辑器里的没有span包围的<>都改成<span><</span>和<span>></span>。这应该是HTML Marco的bug,因为如果hmtl不是粘贴进来的而是手打的,就不会有问题。

参考文献

https://jira.atlassian.com/browse/CONFSERVER-34691

https://community.atlassian.com/t5/Confluence-questions/HTML-Macro-with-css-and-JS-not-working/qaq-p/1730184

https://jira.atlassian.com/browse/CONFSERVER-54107

https://community.developer.atlassian.com/t/paste-html-character-entity-references-like-lt-is-immediately-decoded-by-macro-body-editors/36796

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容