文档中心 > 芯片厂商开放

开放文档协作编辑指南

更新时间:2017/08/15 访问次数:2766

文档内容拷贝自:codebase_host/yunhal/opendoc/zh/getting_started/opendoc_collaboration.md
联系人:王作省(zuosheng.wzs@alibaba-inc.com

文档对标

开放工作相关文档呈现的信息,对标Android:
https://source.android.com/source/

问题

开源开放三步走路线中,第一项是技术文档的梳理和编写。从目前情况来看,我们缺乏有效的手段,同时满足多人协作编辑和支持完整文档编辑后效果的展示。虽然不同小组各自在Gitlab上构建wiki,以期解决各自团队的协作编辑问题,但因为无法归并到整体文档里显得碎片化。另外,当前系统开发的文档临时挂靠在“淘宝开放平台”上方便预览,而每次通过手动的方式更新也显得冗余低效和易于出错。

所以,请大家遵照以下操作完成文档编写,再发信给 @陆生华 @龙开文 @王作省 将最终发布版本更新到网站上。

解决方案

我们将直接在codebase中放至markdown文件,并且结合gitbook解决这个问题:

  • 首先 codebase 代码里增加 yunhal/opendoc 目录,用于存放开源开放工作的所有技术文档,利于多人协作编辑。

  • 其次,遵循Gitbook的相关规则,添加多语言的配置LANGS.md并规划整体目录结构。根据撰写语言的不同,分别将中英文的所有文档各自放到 enzh 目录,使得两者独立不相关。依照阅读对象的不同,分别添加 Porting Guide、*Development Guide*、*Best practice* 和 YunOS HAL 等目录,并且可以根据需求在SUMMARY.md中添加层次化的描述。

gitbook_summary_description

  • 预览的工作需要在opendoc目录下执行 gitbook serve . 操作,然后待载入完毕后,通过浏览器http://localhost:4000即可访问,大致的效果如下:
    gitbook_preview

  • 另外,为了方便读者快速找到作者讨论内容,建议在每个markdown文件开头填上联系信息,比如工作邮箱。

样例

以下将以 添加YunOS Video HAL 为例,演示下如何增加新的文档。为了方便描述起见,接下来只在中文版上实行操作,英文版上也是同样的原理,读者可以自己实现。

  1. 首先修改opendoc/zh/SUMMARY.md的文件结构,添加Video.md
# change diff
diff --git a/zh/SUMMARY.md b/zh/SUMMARY.md
index b3079e9..b806096 100644
--- a/zh/SUMMARY.md
+++ b/zh/SUMMARY.md
@@ -30,4 +30,5 @@
     * [图形](yunhal_doc/graphics.md)
     * [LED](yunhal_doc/led.md)
     * [传感器](yunhal_doc/sensors.md)
+    * [视频](yunhal_doc/video.md)
     * [无线连接](yunhal_doc/wifi.md)
  1. 而后通过统一的命令,根据目录结构定义生成文件。这里需要注意,这条命令只会增加新添的文件或者目录,而不会删除原来的文件和目录,或者更新已有文件的内容,切记,切记。
$ gitbook init
# result after execution
info: create yunhal_doc/video.md
info: create SUMMARY.md
info: initialization is finished
  1. 随后在新添的video.md里填充相关内容吧,注意涉及的图片全部可以存放于 img 目录里,并用相对路径的方式引用。若在放置到开发者网站上后,可能需要修改链接。

  2. 通过gitbook serve .查看结果预览,确认改动成功。

附录

  • 附录1:gitbook简易使用指南(见附件gitbook_usage.md
  • 附录2:文件结构
* [前言](README.md)

-----
* [移植指南](porting_guide/README.md)
    * [概述](porting_guide/overview.md)
    * [搭建编译环境](porting_guide/build_env.md)
    * [下载代码](porting_guide/download_code.md)
    * [代码编译](porting_guide/compile_system.md)
    * [运行版本](porting_guide/run_builds.md)
    * [常见问题](porting_guide/faqs.md)

-----
* [开发指南](development_guide/README.md)
    * [概述](development_guide/overview.md)
    * [准备工作](development_guide/prepare_env.md)

-----
* [最佳开发实践](best_practice/README.md)
    * [概述](best_practice/overview.md)
    * [内存优化](best_practice/memory_tunning.md)
    * [性能优化](best_practice/perf_opt.md)

-----
* [YunOS硬件适配层](yunhal_doc/README.md)
    * [音频](yunhal_doc/audio.md)
    * [蓝牙](yunhal_doc/bt.md)
    * [相机](yunhal_doc/camera.md)
    * [图形](yunhal_doc/graphics.md)
    * [LED](yunhal_doc/led.md)
    * [传感器](yunhal_doc/sensors.md)
    * [视频](yunhal_doc/video.md)
    * [无线连接](yunhal_doc/wifi.md)

FAQ

关于此文档暂时还没有FAQ
返回
顶部