New upstream version 18.08
[deb_dpdk.git] / doc / guides / contributing / documentation.rst
index ba5c4de..6a07555 100644 (file)
@@ -1,3 +1,6 @@
+..  SPDX-License-Identifier: BSD-3-Clause
+    Copyright 2018 The DPDK contributors
+
 .. _doc_guidelines:
 
 DPDK Documentation Guidelines
@@ -34,7 +37,6 @@ The main directories that contain files related to documentation are shown below
        |-- testpmd_app_ug
        |-- rel_notes
        |-- nics
-       |-- xen
        |-- ...
 
 
@@ -155,7 +157,7 @@ It can be installed as follows:
    sudo apt-get -y install doxygen
 
    # Red Hat/Fedora.
-   sudo yum     -y install doxygen
+   sudo dnf     -y install doxygen
 
 `Sphinx`_ is a Python documentation tool for converting RST files to Html or to PDF (via LaTeX).
 For full support with figure and table captioning the latest version of Sphinx can be installed as follows:
@@ -165,10 +167,12 @@ For full support with figure and table captioning the latest version of Sphinx c
    # Ubuntu/Debian.
    sudo apt-get -y install python-pip
    sudo pip install --upgrade sphinx
+   sudo pip install --upgrade sphinx_rtd_theme
 
    # Red Hat/Fedora.
-   sudo yum     -y install python-pip
+   sudo dnf     -y install python-pip
    sudo pip install --upgrade sphinx
+   sudo pip install --upgrade sphinx_rtd_theme
 
 For further information on getting started with Sphinx see the `Sphinx Tutorial <http://sphinx-doc.org/tutorial.html>`_.
 
@@ -186,7 +190,7 @@ It can be installed as follows:
    sudo apt-get -y install inkscape
 
    # Red Hat/Fedora.
-   sudo yum     -y install inkscape
+   sudo dnf     -y install inkscape
 
 `TexLive <http://www.tug.org/texlive/>`_ is an installation package for Tex/LaTeX.
 It is used to generate the PDF versions of the documentation.
@@ -198,7 +202,7 @@ The main required packages can be installed as follows:
    sudo apt-get -y install texlive-latex-extra
 
    # Red Hat/Fedora, selective install.
-   sudo yum     -y install texlive-collection-latexextra
+   sudo dnf     -y install texlive-collection-latexextra
 
 
 Build commands
@@ -280,33 +284,21 @@ The additional guidelines below reiterate or expand upon those guidelines.
 Line Length
 ~~~~~~~~~~~
 
-* The recommended style for the DPDK documentation is to put sentences on separate lines.
-  This allows for easier reviewing of patches.
-  Multiple sentences which are not separated by a blank line are joined automatically into paragraphs, for example::
-
-     Here is an example sentence.
-     Long sentences over the limit shown below can be wrapped onto
-     a new line.
-     These three sentences will be joined into the same paragraph.
-
-     This is a new paragraph, since it is separated from the
-     previous paragraph by a blank line.
-
-  This would be rendered as follows:
+* Lines in sentences should be less than 80 characters and wrapped at
+  words. Multiple sentences which are not separated by a blank line are joined
+  automatically into paragraphs.
 
-     *Here is an example sentence.
-     Long sentences over the limit shown below can be wrapped onto
-     a new line.
-     These three sentences will be joined into the same paragraph.*
+* Lines in literal blocks **must** be less than 80 characters since
+  they are not wrapped by the document formatters and can exceed the page width
+  in PDF documents.
 
-     *This is a new paragraph, since it is separated from the
-     previous paragraph by a blank line.*
+  Long literal command lines can be shown wrapped with backslashes. For
+  example::
 
-
-* Long sentences should be wrapped at 120 characters +/- 10 characters. They should be wrapped at words.
-
-* Lines in literal blocks must by less than 80 characters since they aren't wrapped by the document formatters
-  and can exceed the page width in PDF documents.
+     testpmd -l 2-3 -n 4 \
+             --vdev=virtio_user0,path=/dev/vhost-net,queues=2,queue_size=1024 \
+             -- -i --txqflags=0x0 --enable-hw-vlan --enable-lro \
+             --enable-rx-cksum --txq=2 --rxq=2 --rxd=1024  --txd=1024
 
 
 Whitespace
@@ -330,7 +322,7 @@ Whitespace
 Section Headers
 ~~~~~~~~~~~~~~~
 
-* Section headers should use the use the following underline formats::
+* Section headers should use the following underline formats::
 
    Level 1 Heading
    ===============
@@ -378,12 +370,11 @@ Lists
 
      #. Item one.
 
-     #. Item two is a long line that is wrapped and then indented
-        to match the start of the e first line.
-
      #. Item two is a long line that is wrapped and then indented to match
         the start of the previous line.
 
+     #. Item three.
+
 * Definition lists can be written with or without a bullet::
 
      * Item one.
@@ -456,8 +447,8 @@ Code and Literal block sections
   For long literal lines that exceed that limit try to wrap the text at sensible locations.
   For example a long command line could be documented like this and still work if copied directly from the docs::
 
-     build/app/testpmd -c7 -n3 --vdev=eth_pcap0,iface=eth0     \
-                               --vdev=eth_pcap1,iface=eth1     \
+     build/app/testpmd -l 0-2 -n3 --vdev=net_pcap0,iface=eth0     \
+                               --vdev=net_pcap1,iface=eth1     \
                                -- -i --nb-cores=2 --nb-ports=2 \
                                   --total-num-mbufs=2048
 
@@ -475,7 +466,7 @@ Images
 
 * `Inkscape <http://inkscape.org>`_ is the recommended graphics editor for creating the images.
   Use some of the older images in ``doc/guides/prog_guide/img/`` as a template, for example ``mbuf1.svg``
-  or ``ring-enqueue.svg``.
+  or ``ring-enqueue1.svg``.
 
 * The SVG images should include a copyright notice, as an XML comment.
 
@@ -629,7 +620,7 @@ The following are some guidelines for use of Doxygen in the DPDK API documentati
       * @param devargs
       *  A pointer to a strings array describing the new device
       *  to be attached. The strings should be a pci address like
-      *  `0000:01:00.0` or **virtual** device name like `eth_pcap0`.
+      *  `0000:01:00.0` or **virtual** device name like `net_pcap0`.
       * @param port_id
       *  A pointer to a port identifier actually attached.
       *
@@ -641,7 +632,7 @@ The following are some guidelines for use of Doxygen in the DPDK API documentati
 * Doxygen supports Markdown style syntax such as bold, italics, fixed width text and lists.
   For example the second line in the ``devargs`` parameter in the previous example will be rendered as:
 
-     The strings should be a pci address like ``0000:01:00.0`` or **virtual** device name like ``eth_pcap0``.
+     The strings should be a pci address like ``0000:01:00.0`` or **virtual** device name like ``net_pcap0``.
 
 * Use ``-`` instead of ``*`` for lists within the Doxygen comment since the latter can get confused with the comment delimiter.