write_docs_cn.rst 5.4 KB
Newer Older
L
Luo Tao 已提交
1 2 3
#############
如何贡献文档
#############
Y
Yu Yang 已提交
4

Q
qijun 已提交
5
PaddlePaddle的文档包括英文文档 ``doc`` 和中文文档 ``doc_cn`` 两个部分。文档都是通过 `cmake`_ 驱动 `sphinx`_ 编译生成,生成后的文档分别存储在编译目录的 ``doc`` 和 ``doc_cn`` 两个子目录下。
6
也可以利用PaddlePaddle 工具来编译文档,这个情况下所有的文件会存在整理过的的文件目录 .ppo_workspace/content 下
Y
Yu Yang 已提交
7

L
Luo Tao 已提交
8 9
如何构建文档
============
Y
Yu Yang 已提交
10

11 12 13 14 15
PaddlePaddle的文档构建有三种方式。


使用PaddlePaddle.org工具
--------------
16
这个是目前推荐的使用方法。除了可以自动编译文档,也可以直接在网页预览文档。
17 18 19 20 21

文件工具是使用Docker,需要在系统里先安装好Docker工具包。Docker安装请参考Docker的官网。安装好Docker之后及可用以下命令启动工具

..  code-block:: bash

22
    mkdir paddlepaddle # Create paddlepaddle working directory
23
    cd paddlepaddle
24 25 26 27 28 29

    # Clone the content repositories
    git clone https://github.com/PaddlePaddle/Paddle.git
    git clone https://github.com/PaddlePaddle/book.git
    git clone https://github.com/PaddlePaddle/models.git
    git clone https://github.com/PaddlePaddle/Mobile.git
30

31 32
    # Please specify the working directory through -v
    docker run -it -p 8000:8000 -v `pwd`:/var/content paddlepaddle/paddlepaddle.org:latest
33

34
注意: PaddlePaddle.org 会在 -v (volume) 指定的内容存储库运行命令
35
之后再用网页连到http://localhost:8000就可以在网页上生成需要的文档
36
编译后的文件将被存储在工作目录 <paddlepaddle working directory>/.ppo_workspace/content。
Y
Yu Yang 已提交
37

38 39 40 41
如果不想使用 Docker,你还可以通过运行Django框架直接激活工具的服务器。使用下面的命令来运行它。

..  code-block:: bash

42
    mkdir paddlepaddle # Create paddlepaddle working directory
43
    cd paddlepaddle
44 45 46 47 48 49 50 51 52 53

    # Clone the content repositories and PaddlePaddle.org
    git clone https://github.com/PaddlePaddle/Paddle.git
    git clone https://github.com/PaddlePaddle/book.git
    git clone https://github.com/PaddlePaddle/models.git
    git clone https://github.com/PaddlePaddle/Mobile.git
    git clone https://github.com/PaddlePaddle/PaddlePaddle.org.git

    # Please specify the PaddlePaddle working directory. In the current setting, it should be pwd
    export CONTENT_DIR=<path_to_paddlepaddle_working_directory>
54 55 56 57 58
    export ENV=''
    cd PaddlePaddle.org/portal/
    pip install -r requirements.txt
    python manage.py runserver

59
工具服务器将读取环境变量 CONTENT_DIR 搜索代码库。请指定的PaddlePaddle工作目录给环境变量 CONTENT_DIR。
60
之后再用网页连到http://localhost:8000就可以在网页上生成需要的文档。
61 62 63
编译后的文件将被存储在工作目录 <paddlepaddle working directory>/.ppo_workspace/content。

想了解更多PaddlePaddle.org工具的详细信息,可以 `点击这里 <https://github.com/PaddlePaddle/PaddlePaddle.org/blob/develop/README.cn.md>`_ 。
64

L
Luo Tao 已提交
65 66
使用Docker构建
--------------
Y
Yu Yang 已提交
67

H
hedaoyuan 已提交
68
使用Docker构建PaddlePaddle的文档,需要在系统里先安装好Docker工具包。Docker安装请参考 `Docker的官网 <https://docs.docker.com/>`_ 。安装好Docker之后可以使用源码目录下的脚本构建文档,即
Y
Yu Yang 已提交
69

Q
qijun 已提交
70
..  code-block:: bash
Y
Yu Yang 已提交
71

Q
qijun 已提交
72
    cd TO_YOUR_PADDLE_CLONE_PATH
Q
qijun 已提交
73
    cd paddle/scripts/tools/build_docs
L
Luo Tao 已提交
74
    sh build_docs.sh
Y
Yu Yang 已提交
75

L
Luo Tao 已提交
76
编译完成之后,会在当前目录生成两个子目录\: doc(英文文档目录)和 doc_cn(中文文档目录)。
Y
Yu Yang 已提交
77 78
打开浏览器访问对应目录下的index.html即可访问本地文档。

L
Luo Tao 已提交
79 80
直接构建
--------
Q
qijun 已提交
81

82
直接构建可以分为两种方式,分别是构建文档和构建API。
Q
qijun 已提交
83

84
- 构建文档
Q
qijun 已提交
85

86
如果只需要构建文档,可以执行以下命令编译生成文档,即:
Q
qijun 已提交
87

88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
.. code-block:: bash

   make -j $processors gen_proto_py
   make -j $processors paddle_docs paddle_docs_cn

- 构建API

如果只需要构建API,则可以执行以下命令编译生成文档,即:

.. code-block:: bash

   make -j $processors gen_proto_py framework_py_proto
   make -j $processors copy_paddle_pybind
   make -j $processors paddle_api_docs

其中$processors代表启动多少个进程来进行编译,一般取值为1,4或8。

编译完成后,从当前目录进入doc/v2目录,该目录下生成了三个子目录,可以分别进入目录cn/html/、en/html、api/en/html中,执行以下命令,即:

.. code-block:: bash

   python -m SimpleHTTPServer 8088

在浏览器中输入http://localhost:8088就可以看到编译生成的中/英文的文档页面和英文的API页面,下图为生成的英文文档页面示例。
Q
qijun 已提交
112

113 114 115
..  image:: doc_en.png
    :align: center
    :scale: 60 %
Y
Yu Yang 已提交
116

L
Luo Tao 已提交
117 118
如何书写文档
============
H
hedaoyuan 已提交
119

Q
qijun 已提交
120
PaddlePaddle文档使用 `sphinx`_ 自动生成,用户可以参考sphinx教程进行书写。
Y
Yu Yang 已提交
121

122
如何更新www.paddlepaddle.org
L
Luo Tao 已提交
123 124
============================

125 126 127
更新的文档以PR的形式提交到github中,提交方式参见 `贡献文档 <http://www.paddlepaddle.org/docs/develop/documentation/en/howto/dev/contribute_to_paddle_en.html>`_ 。
目前PaddlePaddle的develop分支的文档是自动触发更新的,用户可以分别查看最新的 `中文文档 <http://www.paddlepaddle.org/docs/develop/documentation/zh/getstarted/index_cn.html>`_ 和
`英文文档 <http://www.paddlepaddle.org/docs/develop/documentation/en/getstarted/index_en.html>`_ 。
Q
qijun 已提交
128

Y
Yu Yang 已提交
129

Q
qijun 已提交
130 131
..  _cmake: https://cmake.org/
..  _sphinx: http://www.sphinx-doc.org/en/1.4.8/