diff --git a/doc/v2/dev/new_layer_cn.rst b/doc/v2/dev/new_layer_cn.rst
index 0ded1c262adad44f4df000ef2933c7b68050f2fc..3115654b2bd87995fa63bb7828fd1b3039aea8cc 100644
--- a/doc/v2/dev/new_layer_cn.rst
+++ b/doc/v2/dev/new_layer_cn.rst
@@ -16,7 +16,7 @@
下图是一个全连接层的示意图。在全连接层中,每个输出节点都连接到所有的输入节点上。
-.. image:: FullyConnected.jpg
+.. image:: src/FullyConnected.jpg
:align: center
:scale: 60 %
diff --git a/doc/v2/dev/new_layer_en.rst b/doc/v2/dev/new_layer_en.rst
index 110a9fb38f890a766bb4480e91feb22d3b0838a5..b05bb45f11eb253dfb87d6283c29ec6689394d22 100644
--- a/doc/v2/dev/new_layer_en.rst
+++ b/doc/v2/dev/new_layer_en.rst
@@ -16,7 +16,7 @@ First we need to derive equations of the *forward* and *backward* part of the la
The illustration of a fully connected layer is shown in the following figure. In a fully connected layer, all output nodes are connected to all the input nodes.
-.. image:: FullyConnected.jpg
+.. image:: src/FullyConnected.jpg
:align: center
:scale: 60 %
diff --git a/doc/v2/dev/FullyConnected.jpg b/doc/v2/dev/src/FullyConnected.jpg
similarity index 100%
rename from doc/v2/dev/FullyConnected.jpg
rename to doc/v2/dev/src/FullyConnected.jpg
diff --git a/doc/v2/dev/src/doc_en.png b/doc/v2/dev/src/doc_en.png
new file mode 100644
index 0000000000000000000000000000000000000000..ed6b9178fba91a3bdf45ae797a9924f84146fbc8
Binary files /dev/null and b/doc/v2/dev/src/doc_en.png differ
diff --git a/doc/v2/dev/write_docs_cn.rst b/doc/v2/dev/write_docs_cn.rst
index f79769b810b91c6984016d95f40b89186bfb61b0..a055bb04c0c093c9159290067e5ccbd2525cd519 100644
--- a/doc/v2/dev/write_docs_cn.rst
+++ b/doc/v2/dev/write_docs_cn.rst
@@ -2,20 +2,19 @@
如何贡献文档
#############
-PaddlePaddle的文档包括英文文档 ``doc`` 和中文文档 ``doc_cn`` 两个部分。文档都是通过 `cmake`_ 驱动 `sphinx`_ 编译生成,生成后的文档分别存储在编译目录的 ``doc`` 和 ``doc_cn`` 两个子目录下。
-也可以利用PaddlePaddle 工具来编译文档,这个情况下所有的文件会存在整理过的的文件目录 .ppo_workspace/content 下
+PaddlePaddle的文档包括中英文两个部分。文档都是通过 ``cmake`` 驱动 ``sphinx`` 编译生成,也可以利用paddlepaddle.org工具来编译和预览文档。
如何构建文档
============
-PaddlePaddle的文档构建有三种方式。
+PaddlePaddle的文档构建有两种方式,分别为使用paddlepaddle.org工具和不使用paddlepaddle.org工具,两种方式都有各自的优点,前者方便预览,后者方便开发者进行调试。这两种方式中又分别有使用docker和不使用docker的两种构建方法。
使用PaddlePaddle.org工具
---------------
-这个是目前推荐的使用方法。除了可以自动编译文档,也可以直接在网页预览文档。
+------------------------
+这个是目前推荐的使用方法。除了可以自动编译文档,还可以直接在网页中预览文档,需要注意的是,采用后续说明的其它方式虽然也可以预览文档,但是文档的样式与官网文档是不一致的,使用PaddlePaddle.org工具进行编译才能产生与官网文档样式一致的预览效果。
-文件工具是使用Docker,需要在系统里先安装好Docker工具包。Docker安装请参考Docker的官网。安装好Docker之后及可用以下命令启动工具
+PaddlePaddle.org工具可以配合Docker使用,需要在系统里先安装好Docker工具包。Docker安装请参考 `Docker的官网 `_ 。安装好Docker之后即可用以下命令启动工具
.. code-block:: bash
@@ -35,7 +34,7 @@ PaddlePaddle的文档构建有三种方式。
之后再用网页连到http://localhost:8000就可以在网页上生成需要的文档
编译后的文件将被存储在工作目录 /.ppo_workspace/content。
-如果不想使用 Docker,你还可以通过运行Django框架直接激活工具的服务器。使用下面的命令来运行它。
+如果不想使用Docker,你还可以通过运行Django框架直接激活工具的服务器。使用下面的命令来运行它。
.. code-block:: bash
@@ -62,37 +61,46 @@ PaddlePaddle的文档构建有三种方式。
想了解更多PaddlePaddle.org工具的详细信息,可以 `点击这里 `_ 。
-使用Docker构建
---------------
+不使用PaddlePaddle.org工具
+--------------------------
使用Docker构建PaddlePaddle的文档,需要在系统里先安装好Docker工具包。Docker安装请参考 `Docker的官网 `_ 。安装好Docker之后可以使用源码目录下的脚本构建文档,即
-.. code-block:: bash
+[TBD]
- cd TO_YOUR_PADDLE_CLONE_PATH
- cd paddle/scripts/tools/build_docs
- sh build_docs.sh
+如果不想使用Docker,也可以使用以下命令直接构建PaddlePaddle文档,即
-编译完成之后,会在当前目录生成两个子目录\: doc(英文文档目录)和 doc_cn(中文文档目录)。
-打开浏览器访问对应目录下的index.html即可访问本地文档。
+.. code-block:: bash
-直接构建
---------
+ mkdir paddle
+ cd paddle
+ git clone https://github.com/PaddlePaddle/Paddle.git
+ mkdir -p build
+ cd build
+ cmake .. -DCMAKE_BUILD_TYPE=Release -DWITH_GPU=OFF -DWITH_MKL=OFF -DWITH_DOC=ON
-如果提示正确,可以执行以下命令编译生成文档,即
+ # 如果只需要构建使用文档,则执行以下命令
+ make -j $processors gen_proto_py
+ make -j $processors paddle_docs paddle_docs_cn
-.. code-block:: bash
+ # 如果只需要构建API,则执行以下命令
+ make -j $processors gen_proto_py framework_py_proto
+ make -j $processors copy_paddle_pybind
+ make -j $processors paddle_api_docs
+
+其中$processors代表启动和CPU核一样多的进程来并行编译,可以根据本机的CPU核数设置相应的值。
+
+编译完成后,进入 ``doc/v2`` 目录,如果选择构建文档则会在该目录下生成 ``cn/html/`` 、 ``en/html`` 两个子目录,选择构建API则会生成 ``api/en/html`` 目录,分别进入这些目录下,执行以下命令:
+
+.. code-block:: bash
- 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
- make gen_proto_py
- make paddle_docs paddle_docs_cn
+ python -m SimpleHTTPServer 8088
-编译完成之后,会在当前目录生成两个子目录\: doc(英文文档目录)和 doc_cn(中文文档目录)。
-打开浏览器访问对应目录下的index.html即可访问本地文档。
+在浏览器中输入http://localhost:8088就可以看到编译生成的中/英文的文档页面和英文的API页面,下图为生成的英文文档首页示例。注意,示例中由于使用了sphinx的原始主题,所以页面的风格与官网并不一致,但这并不影响开发者进行调试。
+.. image:: src/doc_en.png
+ :align: center
+ :scale: 60 %
如何书写文档
============
@@ -102,7 +110,7 @@ PaddlePaddle文档使用 `sphinx`_ 自动生成,用户可以参考sphinx教程
如何更新www.paddlepaddle.org
============================
-更新的文档以PR的形式提交到github中,提交方式参见 `贡献文档 `_ 。
+更新的文档以PR的形式提交到github中,提交方式参见 `如何贡献文档 `_ 。
目前PaddlePaddle的develop分支的文档是自动触发更新的,用户可以分别查看最新的 `中文文档 `_ 和
`英文文档 `_ 。