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

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

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

1.APM文档本地化

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

 # 相关指令git clone https://github.com/ArduPilot/ardupilot_wiki.gitcd ardupilot_wiki./Sphinxsetup.shmake

编译完成截图

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

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

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

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

2.PX4文档本地化

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

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

 https://github.com/mavlink/mavlink-devguide.githttps://github.com/PX4/dev.px4.io.githttps://github.com/PX4/px4_user_guide.githttps://github.com/mavlink/qgc-dev-guide.git

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

 cd 

gitbook initgitbook build

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

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

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

 server {listen       ;location / {        root ;        index  index.html index.htm;}}

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

伸手党的福利

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

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

linux访问文档根目录之外的网页_开发文档加载不再卡顿,亿点点提升相关推荐

  1. 网易云信消息抄送php,消息功能-服务端API文档-IM即时通讯-网易云信开发文档

    消息功能 发送普通消息 请求说明 POST https://api.netease.im/nimserver/msg/sendMsg.action HTTP/1.1 Content-Type:appl ...

  2. 容联云通讯php短信接口,短信查询接口_开发文档_容联云通讯

    1.短信模板查询 1.1 请求地址 /{SoftVersion}/Accounts/{accountSid}/SMS/QuerySMSTemplate 1.2 请求包体 属性 类型 约束 说明 app ...

  3. wps在线预览接口_开发文档 - WPS在线预览 - view.wps.cn

    接口开发流程 业务实现接口 图3 预览与业务关系图 预览服务与业务系统之间为协作关系,业务系统作为预览的文件提供方,需要对用户身份鉴权.文件权限鉴权.实现接口如下: 获取文件信息 接口描述 描述:获取 ...

  4. android点对点 sdk,Client(SDK)_开发文档_容联云通讯

    Demo & SDK下载 云通讯平台为开发者提供多语言Demo,让您可以轻松地选择你熟悉的编程语言来体验.以下是官方提供的Demo,这些Demo都是开源的,如果你发现错误,我们欢迎你的反馈,同 ...

  5. luajit开发文档中文版(二)LuaJIT扩展

    2022年6月10日15:33:04 luajit开发文档中文版(一)下载和安装 luajit开发文档中文版(二)LuaJIT扩展 luajit开发文档中文版(三)FAQ 常见问题 luajit开发文 ...

  6. luajit开发文档wiki中文版(五) 系统集成

    2022年6月10日15:15:35 luajit开发文档中文版(一)下载和安装 luajit开发文档中文版(二)LuaJIT扩展 luajit开发文档中文版(三)FAQ 常见问题 luajit开发文 ...

  7. luajit开发文档wiki中文版(四) LuaJIT 内部结构

    2022年6月10日15:15:22 luajit开发文档中文版(一)下载和安装 luajit开发文档中文版(二)LuaJIT扩展 luajit开发文档中文版(三)FAQ 常见问题 luajit开发文 ...

  8. luajit开发文档wiki中文版(二) LuaJIT 扩展

    2022年6月9日09:39:53 luajit开发文档中文版(一)下载和安装 luajit开发文档中文版(二)LuaJIT扩展 luajit开发文档中文版(三)FAQ 常见问题 luajit开发文档 ...

  9. luajit开发文档中文版(一)下载和安装

    2022年6月10日15:32:51 luajit开发文档中文版(一)下载和安装 luajit开发文档中文版(二)LuaJIT扩展 luajit开发文档中文版(三)FAQ 常见问题 luajit开发文 ...

最新文章

  1. 刷新三项世界纪录的跨镜追踪(ReID)技术是怎样实现的?进来了解一下
  2. 跟着老司机玩转Node自定义命令行
  3. 刚接触机器学习这一个月我都做了什么?
  4. 12:MYSQL 使用函数创建自增序列管理表(批量使用自增表,设置初始值,自增幅度)
  5. Cordova实战培训
  6. EasyUI中Datebox日期框的简单使用
  7. php excel中解析显示html代码_骑士cms从任意文件包含到远程代码执行漏洞分析
  8. 面向.NET开发人员的Dapr- actors 构建块
  9. 链表(Linked List)之双向链表
  10. 企业实战_13_MyCat清除冗余数据
  11. gpedit msc组策略面板 win10在哪里_Win10家庭版找不到本地组策略gpedit.msc解决办法...
  12. DDL修改 删除 使用数据库
  13. Rayzone2面大旗的官方汉译
  14. xcode连接iphone调试_电脑操作手机?iPhone,安卓通吃?手机还能这么玩!
  15. 流体力学CFD前处理软件-Gambit
  16. 网上书城_前端动态加载类别and书籍显示
  17. 苹果笔记本摄像头黑屏怎么回事
  18. 火影150集碎片拾忆 记于2014-04-08
  19. T83310 【音乐会】二重变革
  20. 一键加速GitHub、Pypi、DockerHub访问

热门文章

  1. Java迭代器ListIterator
  2. jQuery操作元素属性
  3. MySQL的空值查询
  4. python无法安装tensorflow_python – 无法安装Tensorflow Mac
  5. 通俗讲解分布式锁,看完不懂算我输
  6. MyBatis 事务管理解析和有关事务的几种特殊场景表现
  7. 关于这件事,我有话要说!
  8. MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk.
  9. 第四届蓝桥杯省赛javaB组试题解析
  10. JSP+servlet生成验证码并验证