
Changes made under https://review.opendev.org/c/starlingx/docs/+/839788 are incompatible with excluding rST error samples from html checks. Use HTML comments and escape codes to bypass error scanning. Signed-off-by: Ron Stone <ronald.stone@windriver.com> Change-Id: I307643a7c916537eea89cf36e5497dffbd26c8de
845 lines
27 KiB
ReStructuredText
845 lines
27 KiB
ReStructuredText
.. _doc_contribute_guide:
|
||
|
||
===============================
|
||
Documentation Contributor Guide
|
||
===============================
|
||
|
||
This section describes the guidelines for contributing to the StarlingX
|
||
documentation.
|
||
|
||
.. contents::
|
||
:local:
|
||
:depth: 1
|
||
|
||
----------
|
||
Quickstart
|
||
----------
|
||
|
||
The StarlingX documentation uses reStructuredText (RST) markup syntax with
|
||
Sphinx extensions. It uses the same contribution setup and workflow as the
|
||
OpenStack documentation.
|
||
|
||
* `OpenStack Documentation Contributor Guide <https://docs.openstack.org/doc-contrib-guide/index.html>`_.
|
||
|
||
**********************
|
||
Setup for contribution
|
||
**********************
|
||
|
||
Follow the OpenStack instructions for `setting up for contribution
|
||
<https://docs.openstack.org/doc-contrib-guide/quickstart/first-timers.html#setting-up-for-contribution>`_.
|
||
|
||
*************
|
||
Make a change
|
||
*************
|
||
|
||
#. Make changes following the OpenStack instructions for:
|
||
|
||
#. `Starting a change <https://docs.openstack.org/infra/manual/developers.html#starting-a-change>`_
|
||
#. `Committing a change <https://docs.openstack.org/doc-contrib-guide/quickstart/first-timers.html#committing-a-change>`_.
|
||
|
||
.. note::
|
||
|
||
StarlingX requires the use of a **Signed-off-by** header. Use the
|
||
:command:`-s` option with :command:`git commit`.
|
||
|
||
|
||
#. When writing documentation, follow `Writing style`_ and `RST conventions`_.
|
||
|
||
#. Build the documentation locally to verify your changes before committing.
|
||
Follow the OpenStack instructions for
|
||
`Building documentation <https://docs.openstack.org/doc-contrib-guide/docs-builds.html>`_.
|
||
|
||
#. If needed, follow up with edits to your patch following the OpenStack
|
||
instructions for `Responding to requests <https://docs.openstack.org/doc-contrib-guide/quickstart/first-timers.html#responding-to-requests>`_.
|
||
|
||
|
||
--------------------------
|
||
Find tasks and help needed
|
||
--------------------------
|
||
|
||
If you are looking for work to complete:
|
||
|
||
* Refer to the `StarlingX documentation StoryBoard
|
||
<https://storyboard.openstack.org/#!/project/starlingx/docs>`_ for topics that
|
||
need content. Many topics have stub pages in the documentation with a link to
|
||
the associated story.
|
||
|
||
* Find open `documentation bugs on Launchpad
|
||
<https://bugs.launchpad.net/starlingx/+bugs?field.tag=stx.docs>`_.
|
||
|
||
|
||
If you make a contribution that has an the associated story, task, or bug in the
|
||
comment, link to the related story or bug as described in the
|
||
:ref:`Code Submission Guidelines <link-review-to-story>`.
|
||
|
||
-----------------
|
||
Docs organization
|
||
-----------------
|
||
|
||
Documentation for StarlingX is organized into the following sections:
|
||
|
||
:doc:`/introduction/index-intro-27197f27ad41`
|
||
Overview of the StarlingX project.
|
||
|
||
:doc:`/deploy_install_guides/index-install-e083ca818006`
|
||
Release-specific installation and deployment guides.
|
||
|
||
:doc:`/archive/configuration/index`
|
||
Configuration references for post-installation StarlingX system configuration.
|
||
|
||
:doc:`/operations/index`
|
||
System administration and maintenance guides.
|
||
|
||
:doc:`/api-ref/index`
|
||
REST API references for the StarlingX project. For additional information
|
||
about where REST API documentation is located, see `API documentation`_.
|
||
|
||
:doc:`/cli_ref/index`
|
||
Reference for the StarlingX project command line interface (CLI).
|
||
|
||
:doc:`/developer_resources/index`
|
||
Resources for developers using or building StarlingX.
|
||
|
||
:doc:`/releasenotes/index`
|
||
Release notes for all StarlingX releases.
|
||
|
||
:doc:`/contributor/index`
|
||
Overview and guidelines for contributing to StarlingX documentation.
|
||
|
||
*****************
|
||
API documentation
|
||
*****************
|
||
|
||
The structure and location of the REST API documentation deserves extra
|
||
explanation.
|
||
|
||
Most REST API content is generated from the StarlingX project associated with
|
||
the API. For example, the documentation for the StarlingX metal REST API is
|
||
generated from the `metal repository <https://opendev.org/starlingx/metal>`_.
|
||
|
||
API references for StarlingX extensions are part of the docs repository, located
|
||
in the ``api-ref`` project:
|
||
|
||
* StarlingX extensions to the OpenStack Block Storage API
|
||
* StarlingX extensions to the OpenStack Compute API
|
||
* StarlingX extensions to the OpenStack Image API
|
||
* StarlingX extensions to the OpenStack Networking API
|
||
|
||
The ``api-ref`` project also contains index pages used by Sphinx to
|
||
generate the final content tree. Note that the REST API landing page used to
|
||
render content in the generated website is found in the ``doc`` project.
|
||
|
||
For additional information on the API documentation, refer to
|
||
:doc:`api_contribute_guide`.
|
||
|
||
******************
|
||
Spec documentation
|
||
******************
|
||
|
||
Spec documentation is found in the
|
||
`Starlingx specs project <https://opendev.org/starlingx/specs>`_.
|
||
|
||
The ``specs/2019.03`` directory contains the documentation files for approved
|
||
and implemented specs.
|
||
|
||
-------------
|
||
Writing style
|
||
-------------
|
||
|
||
StarlingX documentation follows many (but not all!) of the writing style
|
||
guidelines described in the `OpenStack documentation writing style guide
|
||
<https://docs.openstack.org/doc-contrib-guide/writing-style.html>`_. Differences
|
||
between the StarlingX and OpenStack practices are highlighted below.
|
||
|
||
* Use Title Case for page titles. For example:
|
||
|
||
::
|
||
|
||
===============================
|
||
Documentation Contributor Guide
|
||
===============================
|
||
|
||
* Start section titles with an action verb. Do not use a gerund (word that ends
|
||
with -ing). For example:
|
||
|
||
::
|
||
|
||
------------------
|
||
Configure endpoint
|
||
------------------
|
||
|
||
.. _create-rst-files:
|
||
|
||
----------------
|
||
Create rST Files
|
||
----------------
|
||
|
||
Use the :command:`tox -e newfile` command to create new |RST| files.
|
||
|
||
.. rubric:: |context|
|
||
|
||
All |RST| files created in StarlingX documentation repositories must have the
|
||
following characteristics:
|
||
|
||
* They must have unique file names.
|
||
* They must have |RST| labels at the beginning of the files that match the file
|
||
names.
|
||
|
||
.. important::
|
||
These rules apply to *index* files as well as those containing user
|
||
documentation.
|
||
|
||
A utility is available for use from within each documentation repository you
|
||
have installed to generate uniquely named files for you.
|
||
|
||
.. rubric:: |prereq|
|
||
|
||
You must have :program:`uuidgen` installed on your system. This program is
|
||
included by default on most modern Linux distributions. If it is not installed,
|
||
consult your distribution's documentation for instructions.
|
||
|
||
.. rubric:: |proc|
|
||
|
||
#. Change to the directory where you wish to create a new topic.
|
||
|
||
Typically, this will be below the :file:`doc/source` directory of the
|
||
repository.
|
||
|
||
#. Run the following :command:`tox` command.
|
||
|
||
.. code-block:: bash
|
||
|
||
tox -e newfile
|
||
|
||
#. When prompted, enter a title for the new topic.
|
||
|
||
.. code-block:: none
|
||
:emphasize-lines: 3
|
||
|
||
You are about to create a new reStructuredText file in
|
||
|
||
/home/jdoe/starlingx/docs/doc/source/intro
|
||
|
||
or a content fragment file in doc/source/_includes
|
||
|
||
If this is not what you want, press CTL-C to quit and change to the directory
|
||
you want to create the file in.
|
||
|
||
Enter a title for the new topic. The file name and topic label used for
|
||
linking will be based on this value.
|
||
|
||
|
||
Topic title:
|
||
|
||
#. Review the directory (an example is highlighted above) that the utility
|
||
will create the new file in.
|
||
|
||
.. note::
|
||
This does not apply if you choose to create a content fragment using
|
||
the :kbd:`f` option when prompted. In that case, the file will be
|
||
saved to :file:`doc/source/_includes` regardless of your current
|
||
working directory.
|
||
|
||
#. If this is not correct, press :kbd:`CTL-C` to quit, change to the correct
|
||
directory, and run the command again; otherwise, type the topic title and
|
||
press :kbd:`ENTER`.
|
||
|
||
#. When prompted, select the type of |RST| stub file you want to create.
|
||
|
||
.. code-block:: none
|
||
|
||
Thanks. Now choose a topic type. Enter one of the following characters:
|
||
|
||
t) A task topic. Will contain the outline of a procedure.
|
||
i) An index.
|
||
r) A reference topic. Will contain a minimal list-table definition.
|
||
g) A minimal generic topic.
|
||
f) A content fragment included in an rST file. Will be saved to doc/source/_includes.
|
||
Topic type:
|
||
|
||
Each option creates a stub file with different templated content useful for
|
||
getting started. Press the corresponding key.
|
||
|
||
.. rubric:: |result|
|
||
|
||
The new |RST| file is created.
|
||
|
||
|
||
The title used in the new |RST| file matches what you typed exactly. However,
|
||
some changes have been made to the file name and topic label.
|
||
|
||
For example, if you entered ``Architectural Considerations!`` as a title,
|
||
listing the directory will show a file similar to the following:
|
||
|
||
.. code-block:: bash
|
||
|
||
$ ls
|
||
|
||
.. code-block:: none
|
||
|
||
architectural-considerations--d9dd4c105700.rst
|
||
|
||
The following changes were made.
|
||
|
||
* All alphabetical characters were converted to lower case.
|
||
* *Not shown* The characters ``+``, ``-``, ``@``, and ``&`` are replaced with
|
||
``plus``, ``minus``, ``at``, and ``and`` respectively.
|
||
* All spaces and other special characters, such as the ``!`` were replaced by
|
||
dashes.
|
||
* A final dash and 12 digit random string were appended to the file name.
|
||
* The extension :file:`.rst` was added for all options except :kbd:`f`, in
|
||
which case the extension :file:`.rest` was added.
|
||
* If you chose to create an ``index`` file by selecting :kbd:`i` when prompted,
|
||
:file:`index-` was prepended to the file name.
|
||
|
||
Examining the file reveals that the label matches the file name, while the
|
||
title is preserved as typed. No label was added if you selected :kbd:`f`.
|
||
|
||
.. code-block:: bash
|
||
|
||
cat architectural-considerations--d9dd4c105700.rst
|
||
|
||
.. code-block:: none
|
||
:emphasize-lines: 1,4
|
||
|
||
.. _architectural-considerations--d9dd4c105700:
|
||
|
||
=============================
|
||
Architectural Considerations!
|
||
=============================
|
||
|
||
.. content here
|
||
|
||
When you reference this file in ``toctree`` and ``ref`` directives, use
|
||
the file name/label string like this: ``architectural-considerations--d9dd4c105700``
|
||
|
||
------------------------
|
||
Automated quality checks
|
||
------------------------
|
||
|
||
Several automated checks are available to help improve and maintain the quality
|
||
of your documentation.
|
||
|
||
Some of these checks are run every time you perform a build and are intended to
|
||
catch errors before they are submitted for review. Others are invoked
|
||
independently of regular builds and are intended to identify problems prior to
|
||
a release.
|
||
|
||
*****************
|
||
Formatting checks
|
||
*****************
|
||
|
||
.. begin-post-build-checks
|
||
|
||
You can build the HTML documentation locally using the ``tox -e docs`` command.
|
||
After every successful build, several quality checks are performed against the
|
||
build HTML output.
|
||
|
||
.. parsed-literal::
|
||
|
||
Checking for "grey bar" formatting errors in output ...
|
||
Found 2 HTML file(s) with greybar formatting issues:
|
||
./dist_cloud/kubernetes/reinstalling-a-subcloud-with-redfish-platform-management-service.html
|
||
./dist_cloud/kubernetes/installing-a-subcloud-without-redfish-platform-management-service.html
|
||
Using a browser, locate vertical grey bars in the left margin of the above file(s), then correct the issue(s) in the corresponding rST file(s).
|
||
Checking for ".. include::" errors in output ...
|
||
Checking for unexpanded substitution errors in output ...
|
||
Found 1 HTML file(s) that may have unexpanded substitution(s):
|
||
|
||
./node_management/kubernetes/hardware_acceleration_devices/enabling-mount-bryce-hw-accelerator-for-hosted-vram-containerized-workloads.html:| 1d02 | |html-pipe|\ SATA\ |html-pipe| controller | Intel Corporation |
|
||
|
||
Correct the issue(s) in the corresponding rST file(s).
|
||
|
||
This sample shows three problems.
|
||
|
||
.. list-table:: Post-check issues and remedies
|
||
:header-rows: 1
|
||
:stub-columns: 1
|
||
:widths: auto
|
||
|
||
* - Test
|
||
- Explanation
|
||
- Remedy
|
||
* - Grey bars
|
||
- Scans the output for evidence of |RST| vertical grey bars inserted into the
|
||
output next to formatting errors and reports which files they were found
|
||
in.
|
||
- #. Open the file :file:`doc/build/html/index.html` in a browser and
|
||
navigate to the page reported in the output.
|
||
|
||
#. Locate the grey bars.
|
||
|
||
.. tip::
|
||
Grey bars can be hard to find in some locations, such as notes,
|
||
where they are obscured by a background fill. Look for other
|
||
evidence of a problem such as an oversized font, text that
|
||
appears to be randomly bolded, or senseless line breaks.
|
||
|
||
#. Open the corresponding :file:`.rst` file and find the location
|
||
matching the grey bars in the output.
|
||
#. Correct the issue.
|
||
|
||
.. hint::
|
||
Grey bars are often caused by indentation errors.
|
||
* - Include errors
|
||
- Scans the output for malformed ``.. include::`` statements that result
|
||
in |RST| code and unintended content being exposed and reports which
|
||
files they were found in.
|
||
- As above, find the problem in the appropriate
|
||
:file:`.rst` file by examining the :file:`.html` file reported. Look for
|
||
code fragments associated with ``.. include::`` directives such as
|
||
:start\ |html-comment|-after: and :end\ |html-comment|-before:
|
||
that have been exposed in the final output.
|
||
|
||
Correct the issues by making the code comply with the documentation at:
|
||
|
||
https://docutils.sourceforge.io/docs/ref/rst/directives.html#include
|
||
* - Substitution errors
|
||
- Scans the output for potential unexpanded substitutions such as
|
||
|html-pipe|\ prod\ |html-pipe| and reports which files they were found in, along with the
|
||
offending lines of HTML.
|
||
|
||
.. note::
|
||
This check cannot distinguish between a substitution and an ascii
|
||
output table where cells are not properly padded. In either case, the
|
||
problem needs to be fixed.
|
||
|
||
- As above, find the problem in the appropriate :file:`.rst` file by
|
||
examining the :file:`.html` file reported. Look for |html-pipe|\ <text>\ |html-pipe| code
|
||
exposed in the output. In the corresponding :file:`.rst`, find and
|
||
correct the issue.
|
||
|
||
.. hint::
|
||
Substitutions are not allowed in code blocks, :ref:, :doc:,
|
||
or within |RST| markup such as ``**``, ``*```, `````, and so on.
|
||
|
||
Substitutions cannot be used in ASCII "picture" style tables. If you
|
||
need a substitution in a table, use the ``.. list-table::`` format
|
||
instead.
|
||
|
||
.. end-post-build-checks
|
||
|
||
***********
|
||
Link checks
|
||
***********
|
||
|
||
Link checks are not performed as part of regular documentation builds. They are
|
||
intended to be run periodically and prior to a release.
|
||
|
||
You can invoke the Sphinx link checker with the following command:
|
||
|
||
.. code-block:: bash
|
||
|
||
$ tox -e linkcheck
|
||
|
||
Sphinx will perform a temporary build and then attempt to follow all external
|
||
links from the output files. Results are reported on the console and
|
||
logged for future use.
|
||
|
||
.. note::
|
||
|
||
You may need to disconnect any corporate firewall or VPN to allow the link
|
||
checker to reach external sites.
|
||
|
||
**Console output**
|
||
|
||
The following two lines illustrate output for a valid and a bad link on lines 1
|
||
and 2 respectively. In each case the name of the file being checked, the line
|
||
number the link was found on, and the link itself are reported. In the case of
|
||
a broken link, the server error code is also shown, in this case a 404 *file
|
||
not found* error. This indicates that the page may have moved or been deleted.
|
||
|
||
.. code-block:: none
|
||
:linenos:
|
||
|
||
(developer_resources/build_docker_image: line 120) ok http://mirror.starlingx.cengn.ca/mirror/starlingx/master/centos/latest_docker_image_build/outputs/wheels/stx-centos-stable-wheels.tar
|
||
(developer_resources/build_docker_image: line 122) broken http://mirror.starlingx.cengn.ca/mirror/starlingx/master/centos/latest_docker_image_build/outputs/wheels/stx-centos-dev-wheels.tar - 404 Client Error: Not Found for url: http://mirror.starlingx.cengn.ca/mirror/starlingx/master/centos/latest_docker_image_build/outputs/wheels/stx-centos-dev-wheels.tar
|
||
|
||
**Logs**
|
||
|
||
Non "OK" results such as *file not found* and *permanent redirect* are
|
||
logged under :file:`doc/build/linkcheck` in two files:
|
||
|
||
* :file:`doc/build/linkcheck/output.txt` provides a results log in plain-text
|
||
format.
|
||
|
||
* :file:`doc/build/linkcheck/output.json` provides the same information in
|
||
``JSON`` format.
|
||
|
||
Investigate all issues and update the links as needed. In the case of permanent
|
||
redirects, replace the existing URL with that of the redirect target.
|
||
|
||
************
|
||
Spell checks
|
||
************
|
||
|
||
Spell checks are not performed as part of regular documentation builds. They
|
||
are intended to be run periodically and prior to a release.
|
||
|
||
You can invoke the Sphinx link checker with the following command:
|
||
|
||
.. code-block:: bash
|
||
|
||
$ tox -e spellcheck
|
||
|
||
Sphinx will perform a temporary build and then check the output against a US
|
||
English dictionary. Results are reported on the console and logged for future
|
||
use.
|
||
|
||
**Console output**
|
||
|
||
Console output shows the path and name of the file an error was found in, the
|
||
line number, the misspelled term and the full line to provide context.
|
||
|
||
.. code-block:: none
|
||
|
||
doc/source/storage/openstack/config-and-management-ceph-placement-group-number-dimensioning-for-storage-cluster.rst:41: Spell check: aditional: used as aditional disk volumes for VMs booted from images.
|
||
|
||
|
||
**Logs**
|
||
|
||
Spell check logs are stored under :file:`doc/build/spelling` in
|
||
:file:`*.spelling` files located and named for their :file:`rst` counterparts.
|
||
|
||
For example, errors found in the file:
|
||
|
||
:file:`doc/source/storage/openstack/config-and-management-ceph-placement-group-number-dimensioning-for-storage-cluster.rst`
|
||
|
||
are logged in the file:
|
||
|
||
:file:`doc/build/spelling/storage/openstack/config-and-management-ceph-placement-group-number-dimensioning-for-storage-cluster.spelling`
|
||
|
||
Log files itemize one issue per line. For example:
|
||
|
||
.. code-block:: none
|
||
|
||
storage/openstack/config-and-management-ceph-placement-group-number-dimensioning-for-storage-cluster.rst:41: (aditional) used as aditional disk volumes for VMs booted from images
|
||
storage/openstack/config-and-management-ceph-placement-group-number-dimensioning-for-storage-cluster.rst:68: (num) For more information on how placement group numbers, (pg_num) can be set
|
||
storage/openstack/config-and-management-ceph-placement-group-number-dimensioning-for-storage-cluster.rst:72: (num) group numbers (pg_num) required based on pg_calc algorithm, estimates on
|
||
storage/openstack/config-and-management-ceph-placement-group-number-dimensioning-for-storage-cluster.rst:116: (num) To list all the pools with their pg_num values, use the following command,
|
||
storage/openstack/config-and-management-ceph-placement-group-number-dimensioning-for-storage-cluster.rst:119: (num) To get only the pg_num / pgp_num value, use the following command,
|
||
storage/openstack/config-and-management-ceph-placement-group-number-dimensioning-for-storage-cluster.rst:119: (num) To get only the pg_num / pgp_num value, use the following command,
|
||
storage/openstack/config-and-management-ceph-placement-group-number-dimensioning-for-storage-cluster.rst:142: (num) Increasing pg_num of a pool has to be done in increments of 64/
|
||
storage/openstack/config-and-management-ceph-placement-group-number-dimensioning-for-storage-cluster.rst:142: (num) pg_num number, retry and wait for the cluster to be
|
||
storage/openstack/config-and-management-ceph-placement-group-number-dimensioning-for-storage-cluster.rst:149: (num) pg_num of that pool, using the following commands:
|
||
storage/openstack/config-and-management-ceph-placement-group-number-dimensioning-for-storage-cluster.rst:162: (num) pgp_num should be equal to pg_num.
|
||
storage/openstack/config-and-management-ceph-placement-group-number-dimensioning-for-storage-cluster.rst:162: (num) pgp_num should be equal to pg_num.
|
||
storage/openstack/config-and-management-ceph-placement-group-number-dimensioning-for-storage-cluster.rst:203: (num) pg_num, pgp_num, crush_rule.
|
||
storage/openstack/config-and-management-ceph-placement-group-number-dimensioning-for-storage-cluster.rst:203: (num) pg_num, pgp_num, crush_rule
|
||
|
||
Note that the spell check in this example matched on the substring ``num``
|
||
several times in contexts such as ``pgp_num``. Cases such as this may call for
|
||
additional spell check customization.
|
||
|
||
Adding words
|
||
************
|
||
|
||
|org| documentation makes use of many technical terms that are not known to the
|
||
default dictionary.
|
||
|
||
You can add these to the file
|
||
:file:`doc/source/spelling_wordlist.txt`.
|
||
|
||
This file contains one term per line.
|
||
|
||
.. note::
|
||
|
||
* Care should be taken when adding terms to a custom dictionary to avoid
|
||
errors not being reported. For example, "fs" may be correct in a code
|
||
block but a typo in some other context. As a general rule, it is better
|
||
to have the spell checker over-report than under-report.
|
||
|
||
* It is important that :file:`spelling_wordlist.txt` be kept in
|
||
alphabetical order.
|
||
|
||
* :file:`spelling_wordlist.txt` is under :program:`git` management and
|
||
changes must be submitted for review and merge via a :program:`gerrit`
|
||
review.
|
||
|
||
---------------
|
||
RST conventions
|
||
---------------
|
||
|
||
StarlingX documentation follows many (but not all!) of the RST conventions
|
||
described in the `OpenStack documentation RST conventions guide
|
||
<https://docs.openstack.org/doc-contrib-guide/rst-conv.html>`_. If RST markup
|
||
is not listed in this section's quick reference, refer to the OpenStack guide.
|
||
|
||
For detailed information about RST and Sphinx extensions, refer to the following
|
||
documents:
|
||
|
||
* `Sphinx documentation <http://www.sphinx-doc.org/en/master/usage/restructuredtext/index.html>`_
|
||
* `reStructuredText primer <http://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html>`_
|
||
|
||
-------------------
|
||
RST quick reference
|
||
-------------------
|
||
|
||
.. contents::
|
||
:local:
|
||
:depth: 1
|
||
|
||
********
|
||
Acronyms
|
||
********
|
||
|
||
Define acronym at first instance on page. After definition, use acronym only.
|
||
|
||
**Input:**
|
||
|
||
::
|
||
|
||
:abbr:`CPU (Central Processing Unit)`
|
||
|
||
**Output:**
|
||
|
||
:abbr:`CPU (Central Processing Unit)`
|
||
|
||
************
|
||
Code samples
|
||
************
|
||
|
||
Format code snippets as standalone literal blocks.
|
||
|
||
**Input:**
|
||
|
||
::
|
||
|
||
::
|
||
|
||
ping 8.8.8.8
|
||
|
||
**Output:**
|
||
|
||
::
|
||
|
||
ping 8.8.8.8
|
||
|
||
********
|
||
Commands
|
||
********
|
||
|
||
Format commands using the Sphinx ``command`` role.
|
||
|
||
**Input:**
|
||
|
||
::
|
||
|
||
:command:`system help`
|
||
|
||
**Output:**
|
||
|
||
Use the :command:`system help` command for the full list of options.
|
||
|
||
****************
|
||
Cross-references
|
||
****************
|
||
|
||
Cross-reference to arbitrary locations in a document using the ``ref`` role and a
|
||
named target. Named targets must precede a section heading. For more information
|
||
on references, see
|
||
`Internal Hyperlink Targets <http://docutils.sourceforge.net/docs/user/rst/quickref.html#internal-hyperlink-targets>`_.
|
||
|
||
**Input:**
|
||
|
||
::
|
||
|
||
.. _my_named_target:
|
||
|
||
**********
|
||
My section
|
||
**********
|
||
|
||
This is the section we want to reference.
|
||
|
||
...
|
||
|
||
This is the reference to :ref:`my_named_target`.
|
||
|
||
**Output:**
|
||
|
||
.. _my_named_target:
|
||
|
||
**********
|
||
My section
|
||
**********
|
||
|
||
This is the section we want to reference.
|
||
|
||
...
|
||
|
||
This is the reference to :ref:`my_named_target`.
|
||
|
||
******************
|
||
Information blocks
|
||
******************
|
||
|
||
Emphasize information using notices (an *admonition* in Sphinx). Different types
|
||
of notices exist to emphasize degrees of information importance.
|
||
|
||
**Input:**
|
||
|
||
::
|
||
|
||
.. note::
|
||
|
||
Use a ``note`` for a generic message.
|
||
|
||
.. seealso::
|
||
|
||
Use ``seealso`` for extra but helpful information.
|
||
|
||
.. important::
|
||
|
||
Use ``important`` for details that can be easily missed, but should not be
|
||
ignored by a user and are valuable before proceeding.
|
||
|
||
.. warning::
|
||
|
||
Use ``warning`` to call out information the user must understand
|
||
to avoid negative consequences.
|
||
|
||
**Output:**
|
||
|
||
.. note::
|
||
|
||
Use a ``note`` for a generic message.
|
||
|
||
.. seealso::
|
||
|
||
Use ``seealso`` for extra but helpful information.
|
||
|
||
.. important::
|
||
|
||
Use ``important`` for details that can be easily missed, but should not be
|
||
ignored by a user and are valuable before proceeding.
|
||
|
||
.. warning::
|
||
|
||
Use ``warning`` to call out information the user must understand
|
||
to avoid negative consequences.
|
||
|
||
|
||
***************
|
||
Inline elements
|
||
***************
|
||
|
||
Format most inline elements such as filenames and paths, code fragments,
|
||
parameters, or options with double back ticks.
|
||
|
||
**Input:**
|
||
::
|
||
|
||
``/path/to/file.name``
|
||
``--option``
|
||
|
||
**Output:**
|
||
|
||
Open the ``/path/to/file.name`` file.
|
||
|
||
Optionally pass the ``--option`` with the command.
|
||
|
||
Refer to the
|
||
`OpenStack Inline elements guide <https://docs.openstack.org/doc-contrib-guide/rst-conv/inline-markups.html>`_
|
||
for markup for other inline elements.
|
||
|
||
*****
|
||
Lists
|
||
*****
|
||
|
||
Use a bulleted list for a sequence of items whose order does not matter, such as
|
||
a list of features.
|
||
|
||
**Input:**
|
||
|
||
::
|
||
|
||
* Banana
|
||
* Apple
|
||
* Orange
|
||
|
||
**Output:**
|
||
|
||
* Banana
|
||
* Apple
|
||
* Orange
|
||
|
||
Use an enumerated list for a sequence of items whose order matters, such as in
|
||
an ordered sequence of installation steps.
|
||
|
||
**Input:**
|
||
|
||
::
|
||
|
||
#. Wash apple.
|
||
#. Peel apple.
|
||
#. Eat apple.
|
||
|
||
**Output:**
|
||
|
||
#. Wash apple.
|
||
#. Peel apple.
|
||
#. Eat apple.
|
||
|
||
Use a definition list for an unordered list where each item has a short
|
||
definition, such as term/definition pairs.
|
||
|
||
**Input:**
|
||
|
||
::
|
||
|
||
Command A
|
||
Description of command A.
|
||
|
||
Command B
|
||
Description of command B.
|
||
|
||
**Output:**
|
||
|
||
Command A
|
||
Description of command A.
|
||
|
||
Command B
|
||
Description of command B.
|
||
|
||
****************
|
||
Section headings
|
||
****************
|
||
|
||
Use up to three levels of headings in one file using the following characters:
|
||
|
||
* Heading 1 (Page Title in Title Case) - underline and overline with equal signs;
|
||
|
||
* Heading 2 (Major page sections in Sentence case) - underline and overline with dashes;
|
||
|
||
* Heading 3 (subsections in Sentence case) - underline and overline with asterisks.
|
||
|
||
Example RST:
|
||
|
||
.. code-block:: rest
|
||
|
||
==============
|
||
Document Title
|
||
==============
|
||
|
||
Introduce the topic using 1-2 concise sentences. It should tell the user what
|
||
info can be found on this page.
|
||
|
||
.. contents:: // Use a local TOC to aid user navigation in the page
|
||
:local:
|
||
:depth: 1
|
||
|
||
---------------
|
||
Section heading
|
||
---------------
|
||
|
||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||
|
||
******************
|
||
Subsection heading
|
||
******************
|
||
|
||
Integer sed tortor nisi. Vivamus feugiat, urna in posuere gravida, ligula
|
||
nunc hendrerit magna, nec tristique ex tortor non lorem.
|
||
|