write_docs_cn.rst 6.0 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

_青葱's avatar
_青葱 已提交
11
PaddlePaddle的文档构建有两种方式。
12 13 14


使用PaddlePaddle.org工具
_青葱's avatar
_青葱 已提交
15
----------------------
16
这个是目前推荐的使用方法。除了可以自动编译文档,也可以直接在网页预览文档。
17

_青葱's avatar
_青葱 已提交
18
PaddlePaddle.org工具可以配合Docker使用,需要在系统里先安装好Docker工具包。Docker安装请参考Docker的官网。安装好Docker之后即可用以下命令启动工具
19 20 21

..  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

_青葱's avatar
_青葱 已提交
65 66
不使用PaddlePaddle.org工具
------------------------
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

_青葱's avatar
_青葱 已提交
72 73 74 75 76
    mkdir paddlepaddle # Create paddlepaddle working directory
    cd paddlepaddle

    # Clone the content repositories
    git clone https://github.com/PaddlePaddle/Paddle.git
Q
qijun 已提交
77
    cd TO_YOUR_PADDLE_CLONE_PATH
Q
qijun 已提交
78
    cd paddle/scripts/tools/build_docs
L
Luo Tao 已提交
79
    sh build_docs.sh
Y
Yu Yang 已提交
80

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

_青葱's avatar
_青葱 已提交
84
如果不想使用Docker,也可以使用以下命令直接构建PaddlePaddle文档,即
Q
qijun 已提交
85

_青葱's avatar
_青葱 已提交
86
.. code-block:: bash
Q
qijun 已提交
87

_青葱's avatar
_青葱 已提交
88 89
   mkdir paddlepaddle # Create paddlepaddle working directory
   cd paddlepaddle
Q
qijun 已提交
90

_青葱's avatar
_青葱 已提交
91 92 93 94 95 96
   # Clone the content repositories
   git clone https://github.com/PaddlePaddle/Paddle.git
   cd TO_YOUR_PADDLE_CLONE_PATH
   mkdir -p build
   cd build
   cmake .. -DCMAKE_BUILD_TYPE=Debug -DWITH_GPU=OFF -DWITH_MKL=OFF -DWITH_DOC=ON
97

_青葱's avatar
_青葱 已提交
98
   # 如果只需要构建使用文档,则执行以下命令
99 100 101
   make -j $processors gen_proto_py
   make -j $processors paddle_docs paddle_docs_cn

_青葱's avatar
_青葱 已提交
102
   # 如果只需要构建API,则执行以下命令
103 104 105 106
   make -j $processors gen_proto_py framework_py_proto
   make -j $processors copy_paddle_pybind
   make -j $processors paddle_api_docs

_青葱's avatar
_青葱 已提交
107
其中$processors代表启动和CPU核一样多的进程来并行编译,一般取值为1,4或8,可以根据本机的CPU核数设置相应的值。
108

_青葱's avatar
_青葱 已提交
109
编译完成后,进入doc/v2目录,如果选择构建文档则会在该目录下生成cn/html/、en/html两个子目录,选择构建API则会生成api/en/html目录,分别进入这些目录下,执行以下命令,即:
110 111 112 113 114

.. code-block:: bash

   python -m SimpleHTTPServer 8088

_青葱's avatar
_青葱 已提交
115
在浏览器中输入http://localhost:8088就可以看到编译生成的中/英文的文档页面和英文的API页面,下图为生成的英文文档首页示例。注意,示例中由于使用了sphinx的原始主题,所以页面的风格与官网并不一致,但这并不影响开发者进行调试。
Q
qijun 已提交
116

_青葱's avatar
_青葱 已提交
117
..  image:: src/doc_en.png
118 119
    :align: center
    :scale: 60 %
Y
Yu Yang 已提交
120

L
Luo Tao 已提交
121 122
如何书写文档
============
H
hedaoyuan 已提交
123

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

126
如何更新www.paddlepaddle.org
L
Luo Tao 已提交
127 128
============================

129 130 131
更新的文档以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 已提交
132

Y
Yu Yang 已提交
133

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