佛经科判技术研究

2020.10.28

Kepan Docsify 科判文档

docsify1 是一个开源的文档网站生成器,用 Markdown 语法来编写 md 文件,然后在 docsify 里打开,就能看到排版精美的 html 页面。

docsify 使用了 marked2 作为 Markdown 语法解析库。

我对 marked 作了一些修改,改用 #1, #2, #3 ... #108 来表示一百零八级标题,这样就突破了 Markdown 语法原本以 #, ##, ### ... ###### 表示且只能表示六级标题的限制;

然后对 docsify 也做了一些修改,让它的侧边栏可以流畅地支持一百零八级标题,阅读体验上尽量接近大家都习惯的 Word 和 PDF 的侧边栏。

Kepan Convert 科判转换

docsify 可以让我们直接用 Markdown 语法编写 md 文件,然后在 docsify 里打开就是排版精美的 html 页面,但是这还不是太方便。必须在电脑上启动一个网页服务器,才能正常使用 docsify ,否则由于浏览器安全机制的限制,它无法直接读取硬盘上的 md 文件。

那么我们可以把这个 html 文件再转换为 PDF ,PDF 是非常流行的文档格式,最终用户直接就可以打开看,又能良好地保持排版格式。

WeasyPrint3 是一个开源的 html 转 PDF 的工具,用 Python 开发。它的功能十分现成,不用做任何修改,它直接就可以支持无限标题层级,只需要在 css 文件中写入一些关键信息。

考虑到部分用户可能安装和使用 WeasyPrint 不太容易,需要安装 Python ,然后安装 GTK 运行时,然后使用 pip 来安装 WeasyPrint 。特别是这最后一步,噫吁兮危乎高哉蜀道之难难于上青天

所以我决定做一个在线转换工具,大家把文件传上来就可以很方便地转换,啥也不用安装。

现在大家都慢慢习惯了用 幕布 或者 XMind 来制作佛经科判,然后它们都可以导出 opml 大纲文件。

这个在线转换工具可以把 opml 大纲文件转为 md ,然后转为 html ,然后转为 PDF ,支持一百零八级标题。

它基于开源的 filegator4 在线文件管理器开发,添加了文件转换功能。

Kepan Library 科判仓库

这里用来收集大家制作好的佛经科判。

mubu2pdf 幕布大纲转 108 级 PDF 工具

这是我用 python 写的小工具,可以把幕布(mubu.com)导出的 html 文件,转换为支持 108 级标题的 PDF 文档,效果如下:

截图

幕布导出的 opml 太简单,加粗、彩色等等的格式都没有,这些格式因为可以辅助判断一个节点是不是标题,所以非常重要,但幕布导出的 opml 里没有。但是好在幕布还可以导出 html ,这个的信息保留很全面,所以我写了这个小工具。

这样不但容易判断哪些是标题哪些是正文,它还可以保留幕布原文档中的大部分格式,加粗、彩色字体都可以保留,使用效果、容错性方面,都要胜过 Kepan Convert 。

这是个开源的 python 脚本,要在本地电脑上安装和使用。它的难点在于 WeasyPrint 的安装,请参看文档中的安装教程。

源代码在这里:

github: https://gitee.com/vagra/mubu2pdf

gitee: https://gitee.com/pinsa/mubu2pdf

Thanks 鸣谢


  1. docsify: https://github.com/docsifyjs/docsify ↩︎

  2. marked: https://github.com/markedjs/marked ↩︎

  3. WeasyPrint: https://github.com/Kozea/WeasyPrint ↩︎

  4. filegator: https://github.com/filegator/filegator ↩︎