很多公司使用 Confluence 来构建企业的知识管理系统, 但是不得不说,文档的构建对程序员很不友好。对于用惯了 Markdown 这种轻量级标记语言的程序员来说,写文章半小时,排版半小时。于是乎就有了这篇将 Markdown 转换为 Confluence 格式文档的技巧文档。
介绍
markdown
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档。由于它的轻量化、易读易写特性,并且对于图片,图表、数学式都有支持,目前许多网站都广泛使用 Markdown 来撰写帮助文档或是用于论坛上发表消息。如 GitHub、简书等,甚至被用来撰写电子书。对于程序员而言,用 Markdown 来写帮助文档是特别舒服的事。
confluence
Confluence 是由澳大利亚软件公司 Atlassian 开发和发布的协作软件程序。它用 Java 编程语言开发,并于 2004 年首次发布。其目标是“构建一种根据企业知识管理系统的要求而构建的应用程序,而不会在此过程中失去 Wiki 的本质而强大的简单性”。
看完上面两段关于 Markdown 和 Confluence 在 Wiki 上的介绍,肯定认为二者一定可以强强联合,然而并不是如此,因为 Confluence 有自己的标记语言 Confluence wiki markup
, 有着自己的一套
标记语法。所以才会想到怎么由 Markdown 转换到 Confluence 上。
文档转换
网上查了一些资料,的确有前人已经做了这样的事,这里记录一下。解决方案流程是:
- 随心所欲的 Markdown 文档编写
- 使用工具将 Markdown 文档转换为 Confluence wiki markup 文档
- 将 Confluence wiki markup 文档导入到 Confluence 中
- 插入 Wiki标记
- 选择 企业维基
- 处理一些图片附件问题
这种处理方式能够节约96%的排版时间(29/30)吧。
上述流程的重点就是 Markdown 文档转换为 Confluence wiki markup 文档, 这里提供两种方式: 网页转换和 vscode 插件
网页转换
操作流很简单:
- 打开 web页面
- 复制 markdwon文档 粘贴到网页第一个框
- 点击转换后将第二个框的内容复制到 Confluence 页面中
vscode 插件
这个比较适合使用vscode 作为开发工具的用户,在插件中搜索confluence,发现有两款插件:
- Confluence markup (下载7222次)
- Markdown to confluence for VSCode Extension (下载3次,安装这款)
虽然第一款插件下载次数多,但是该插件是使VS code 支持 Confluence 和 Jira 标记语法,并且将其渲染成 html 的,也就是说这款插件适合那些用 Confluence wiki markup
来写文章的人。而我们需要的是将 Markdown 文件转换为 Confluence wiki markup
。
操作流程更简单:
- 打开命令面板(
Shift
+Command
+P
),输入md2confl
, 该操作会将当前 Markdown 文档转换成 Confluence,并且复制到剪贴板 - 将剪贴板的内容粘贴到 Confluence 页面中
进阶
上面介绍的解决方案是通过文档转换,并进行复制粘贴进 Confluence 的,那有没有一步到位的解决方案呢? 有,在github上找到了一个库 go-markdown2confluence,专门用来将 markdown 文件直接同步到 Confluence 页面的。不过我试了一下,没有成功,可能需要研究一下 confluence开发者接口文档。
TODO: 了解一下 md2confluence 实现原理。