开发文档加载不再卡顿,亿点点提升

作为一个头(ku)秃(bi)的开发者,查阅各种文档是家常便饭,但由于中国特色在查阅一些文档时总是加载中。而且有时外场调试还不一定有网,因而将文档本地化是相当有必要的。本文介绍了一种将文档编译为静态网页并本地查阅的方法。

以Pixhawk飞控相关文档为例。APM的官方wiki是用Sphinx进行编译,支持的格式也比较丰富,编译为静态html后可以方便的查找和跳转。而PX4相关的文档主要是用gitbook进行编译管理,相比与Sphinx增加了多语言的切换,但作为静态网页挂载时无法直接跳转。因而考虑使用Nginx作为web服务器挂载网页gitbook类的文档。

建议以下的步骤都在Linux系统下操作,虚拟机或WSL。Win也可以,但会有这样那样的奇怪问题。

APM文档本地化

APM文档的官方repo为https://github.com/ArduPilot/ardupilot_wiki,下载完成后搭建文档的编译环境,官方说明在[这里](https://ardupilot.org/dev/docs/common-wiki-editing-infra-overview.html)。大体是安装了sphinx的1.8.3版本然后装了一些插件,官方提供了Docker和Vagrant的相关脚本。WSL或者虚拟机运行`Sphinxsetup.sh`,等待环境设置完成后在根目录下`make`即可以编译相关的全部文档。

1
2
3
4
5
# 相关指令
git clone https://github.com/ArduPilot/ardupilot_wiki.git
cd ardupilot_wiki
./Sphinxsetup.sh
make

编译完成截图

之前的版本目录会抽风来着,不过问题不大。新版本好像修复了这个问题

可以将主页的相关路径改为存放相关载具的路径,这样打开主页即可跳转相关的文档

打开ardupilot\index.html,定位到177行左右,将https://ardupilot.org替换为存放html主页的文件夹,比如file:///F:/Progroming/_Doc_Src/ardupilot_wiki/_build

之后编写一个python小脚本就可以方便的管理文档啦。

PX4文档本地化

PX4的文档比APM更多更杂,常用的是PX4的开发者手册和Mavlink的开发者手册,相关的repo链接如下

分别为Mavlink的开发者手册,px4的开发手册和用户手册,qgc的开发手册

1
2
3
4
https://github.com/mavlink/mavlink-devguide.git
https://github.com/PX4/dev.px4.io.git
https://github.com/PX4/px4_user_guide.git
https://github.com/mavlink/qgc-dev-guide.git

gitbook编译文档比之前的方便,不过编译时各种插件还是有些bug(win上),linux上可以成功编译,安装好gitbook之后进行编译,生成_book目录以及相关的语言。

1
2
3
cd <dir of docs>
gitbook init
gitbook build

不过缺点是无法直接单击跳转,考虑用Nginx辅助,安装Nginx后修改配置文件

可以使用nginx -t命令查看nginx.conf的具体路径

在配置文件中的http中添加下面的配置,可以添加多个,修改玩配置文件后重启nginx

1
2
3
4
5
6
7
server {
listen <port_num>;
location / {
root <path of dir>;
index index.html index.htm;
}
}

然后就可以通过访问127.0.0.1:<port_num>愉快的使用本地文档啦

伸手党的福利

当然,懒得走上面的编译流程可以直接下载编译好的文档,因为时间问题,没有把所有的文档都编译为最新版本,有需自取。后缀为文档的更新日期和git的commit hash,PX4文档的hash实在找不到了,只记得对应的版本了。

关注公众号,并回复”无人机文档”下载相关文件

文章目录
  1. 1. APM文档本地化
  2. 2. PX4文档本地化
  3. 3. 伸手党的福利
|