Sphinx是一款非常方便的文档生成工具,以前就早有耳闻,最近计划将LLVM的文档翻译一些,在打开LLVM的文档源文件后发现,整个文档部分整理的非常整洁。下载的最新版LLVM-3.8版的源码,已经完全使用Sphinx生成文档,于是我也学习了一些Sphinx的相关用法。
Sphinx是python编写的一款命令行工具,在python3或python2下都能正常的工作,安装可以使用流行的pip进行安装:
$ pip install sphinx --upgrade
$ pip install sphinx-intl
Sphinx的依赖项比较新,最好还是更新一下比较好。sphinx-intl
是一个命令行工具,用来实现多语言翻译的。
Sphinx有着非常独特且方便的代码翻译模型,可以用工具将英语版编写的文档中的文字全部抽取出来,在.po
文件下,可以让用户方便地进行修改和翻译。最后根据生成时的语言配置,构建对应语言版本的文档。
不过我们先不管Sphinx是如何进行翻译抽取的,先来看下LLVM文档的构建。
基本HTML文档的构建
默认LLVM的docs目录下的makefile是给doxygen使用的,这里我将Makefile.sp