如何在本地构建文档¶
克隆文档源码到本地¶
将存储库克隆到本地(默认为 main
分支),确保目录下有 Makefile
文件。
git clone https://github.com/MegEngine/Documentation
注解
为确保正常克隆,请确保本地 Git 已经安装 LFS (Large File Storage) 插件。
设置 MegEngine 路径¶
根据不同的需求,有两种方式将用于构建文档的 MegEngine 导入当前 Python 环境(任选其一即可):
如果你是框架用户,不需要改动 MegEngine 源码,只需在本地构建和预览文档的内容, 或对进行简单的增删查改,建议安装最新发布的 MegEngine 稳定版 Wheel 包构建文档。 可以直接使用对应的
pip intall
命令 将已经打包好的 MegEngine 安装到当前的 Python 环境中。如果你是研发人员,需要在指定的 MegEngine 分支源代码上生成对应文档,则需要克隆对应分支进行编译构建。 通过
export PYTHONPATH
的形式来临时指定特定的 MegEngine 源代码路径, 这种方式适合开发者需要同时对源码和文档进行维护的情况。了解如何进行从源码构建。
安装 Sphinx 与 Pydata 主题¶
MegEngine 文档使用 Sphinx 进行整个网站的构建,请运行下面的指令,安装 Sphinx 和相关依赖:
python3 -m pip install -r requirements.txt
MegEngine 文档对应的 Sphinx 配置文件位于 source/conf.py
,如需修改请参考官方的 Configuration 页面。
通常情况下,你无需对已有配置文件进行任何改动,即可继续进行后面的流程。
注解
Sphinx 在应用配置时将通过执行上面脚本中的 import megengine
来尝试寻找 MegEngine 包路径。
使用 make info
指令,可以看到当前的 MegEngine
路径和构建参数等信息。
使用
pip
安装的路径应该类似于:/.../lib/.../site-packages/megengine
从源码编译构建的路径应该类似于:
/.../MegEngine/imperative/python/megengine
接下来我们需要从 MegEngine/pydata-sphinx-theme 安装 Fork 版 PyData 主题:
git clone -b dev git@github.com:MegEngine/pydata-sphinx-theme.git
接着安装修改过的主题包:
python3 -m pip install --editable pydata-sphinx-theme
安装相关软件包¶
Pandoc 转换工具¶
nbsphinx 是 Sphinx 的一个插件,可以帮助我们对 .ipynb
格式的 Jupyter Notebook 文件进行解析。
我们在上一小节已经安装好了 nbsphinx, 但 nbsphinx 还需要通过依赖项目 Pandoc 来支持转换 Markdown 格式。
如果你使用的是是 Ubuntu(Debian)操作系统,可以直接使用 apt
命令进行安装 Pandoc:
sudo apt install -y pandoc
如果你使用的是其它操作系统,想要安装 Pandoc,请参考 Pandoc 官方的 Installing 页面。
使用 Sphinx 进行文档构建¶
在文档目录下使用 make html
指令,可根据 BUILDDIR
路径(默认为 build
)生成 HTML 文件夹。
在文档目录下使用 make help
指令,可看到对应的帮助信息。
注解
Sphinx 支持增量构建,当你对源文件进行了更改并保存,只需再次执行
make html
即可。如果发现一些页面的元素仍被缓存而没有被更新 ,请尝试先执行
make clean
指令。阅读
Makefile
文件源代码,可以了解更多细节
文档生成成功后,打开 build/html/index.html
文件便可访问主页。
启动本地 Web 服务器(可选)¶
如果你有在本地启动 Web 服务器的需求,一种比较简单的方法是使用 Python 自带的 http
模块:
python3 -m http.server 1124 --directory build/html
运行上面的代码,可将本地的 build/html 下的 Web 服务映射到 1124 端口,你也可以选择使用其它 Web 服务器。
如果你的 Python 版本低于 3.7, 将不支持 --directory
参数,请 cd
到对应目录执行上述命令。