Headings
===
), write as many symbols (=
) as there are characters in
the header.Heading size | Formatting | Min/Max number of occurrences |
---|---|---|
H1 | ======= Heading ======= | 1/1 |
H2 | Heading ======= | 0/∞ |
H3 | Heading ------- | 0/∞ |
H4 | Heading ~~~~~~~ | 0/∞ |
H5 | Heading ******* | 0/∞ |
H6 | Heading ^^^^^^^ | 0/∞ |
Markup
Inline markup
Use the following markups to emphasize your text to your liking:
**Text** | Text |
*Text* | Text |
``Text`` | Text |
Bulleted list
- This is a bulleted list.
- It has two items, the second
item uses two lines.
* This is a bulleted list too.
* The principle stays the same.
Numbered list
#. This is a numbered list.
#. Numbering is automatic.
1. This is a numbered list too.
2. Use this format to specify the numbering.
Nested lists
- This is the first item of a bulleted list.
1. It has a nested numbered list
2. with two items.
Hyperlinks
Hyperlink references
Hyperlink references are links to a URL with a custom label. They follow this syntax:
`label <URL>`_
Note
The URL can be a relative path to a file within the documentation.
Example
This excerpt of RST: For instance, `this is a hyperlink reference
<https://odoo.com>`_.
is rendered as follows in HTML: “For instance, this is a hyperlink
reference.”
External hyperlink targets
.. _target: URL
target_
creates a hyperlink with the target name as label and the URL as reference. Note that the_
moved after the target!`label <target_>`_
does exactly what you expect: the label replaces the name of the target, and the target is replaced by the URL.
Example
RST
.. _proof-of-concept: https://en.wikipedia.org/wiki/Proof_of_concept
A proof-of-concept_ is a simplified version, a prototype of what is expected to agree on the main
lines of expected changes. `PoC <proof-of-concept_>`_ is a common abbreviation.
Render
A proof-of-concept is a simplified version, a prototype of what is expected to agree on the main lines of expected changes. PoC is a common abbreviation.
Internal hyperlink targets
Internal hyperlink targets follow the same syntax as external hyperlink targets but without any URL. Indeed, they are internal. They allow referencing a specific part of a document by using the target as an anchor. When the user clicks on the reference, the documentation scrolls to the part of the page containing the target.
Important
Targets can be referenced from other files than the ones in which they are defined.
.. _target:
ref
directive::ref:`target`
creates a hyperlink to the anchor with the heading defined below as label.:ref:`label <target>`
creates a hyperlink to the anchor with the given label.
See Use relative links for internal URLs to learn how to write proper relative links for internal references.
Note
Notice that there is no _
at the end, as it is done with hyperlink targets.
Example
RST
.. _sales/quotation/start-of-page:
This can easily be done by creating a new product, see :ref:`product` for additional help.
.. _sales/quotation/product:
How to create a product?
=========================
As explained at the :ref:`start of the page <sales/quotation/start-of-page>`, ...
Render
This can easily be done by creating a new product, see How to create a product? for additional help.
How to create a product?
As explained at the start of the page, ...
Implicit hyperlink targets
Example
RST
This can easily be done by creating a new user, see `How to create a new user?`_ for
additional help. ...
Render
This can easily be done by creating a new user, see How to create a new user? for additional help. ...
The doc
directive
doc
directive allows referencing a documentation page wherever it is in the file tree
through a relative file path.:doc:`path_to_doc_page`
creates a hyperlink reference to the documentation page with the title of the page as label.:doc:`label <path_to_doc_page>`
creates a hyperlink reference to the documentation page with the given label.
Example
RST
Please refer to :doc:`this documentation <customer_invoices>` and to
:doc:`../sales/invoicing/proforma`.
Render
Please refer to this documentation and to Send a pro-forma invoice.
The download
directive
The download
directive allows referencing files (that are not necessarily RST documents) within the source tree to be downloaded.
Example
RST
Download this :download:`module structure template <extras/my_module.zip>` to start building your
module in no time.
Render
Download this module structure template to start building your module in no time.
The image
directive
The image
directive allows inserting images in a document. It comes with a set of optional
parameter directives that can individually be omitted if considered redundant.
Example
RST
.. image:: media/create_invoice.png
:align: center
:alt: Create an invoice
:height: 100
:width: 200
:scale: 50
:class: img-thumbnail
:target: ../invoicing.html#create-an-invoice
Render
Admonitions (alert blocks)
Seealso
RST
.. seealso::
- :doc:`customer_invoices`
- `Pro-forma invoices <../sales/invoicing/proforma.html#activate-the-feature>`_
Render
Note
RST
.. note::
Use this to get the attention of the reader about additional information.
Render
Note
Use this to get the attention of the reader about additional information.
Tip
RST
.. tip::
Use this to inform the reader about a useful trick that requires an
action.
Render
Tip
Use this to inform the reader about a useful trick that requires an action.
Important
RST
.. important::
Use this to notify the reader about an important information.
Render
Important
Use this to notify the reader about an important information.
Warning
RST
.. warning::
Use this to require the reader to proceed with caution with what is
described in the warning.
Render
Warning
Use this to require the reader to proceed with caution with what is described in the warning.
Danger
RST
.. danger::
Use this to alarm the reader about a serious threat.
Render
Danger
Use this to alarm the reader about a serious threat.
Formatting tips
Break the line but not the paragraph
RST
| First super long line that you break in two…
here is rendered as a single line.
| Second line that follows a line break.
Render
Add comments
If you made a particular choice of writing or formatting that a future writer should be able to understand and take into account, consider writing a comment. Comments are blocks of text that do not count as a part of the documentation and that are used to pass a message to writers of the source code. They consist of a line starting with two dots and a space, followed by the comment.
.. For instance, this line will not be rendered in the documentation.
Use tables
Make use of this convenient table generator to build your tables. Then, copy-paste the generated formatting into your document.
Spice your writing with specialized directives
Use these additional directives to fine-tune your content:
Directive | Purpose | Example | |
RST | HTML | ||
abbr | Self-defining abbreviations | :abbr:`SO (Sales Order)` | SO |
command | Highlight a command | :command:`python example.py` | python example.py |
dfn | Define a term | :dfn:`a definition for a new term` | a definition for a new term |
file | Indicate a file path | :file:`~/odoo/odoo-bin` | ~/odoo/odoo-bin |
menuselection | Guide a user through a sequence of menus | :menuselection:`Sales --> Configuration --> Settings` |
Escape markup symbols (Advanced)
Markup symbols escaped with backslashes (\
) are rendered normally. For instance, this
\*\*line of text\*\* with \*markup\* symbols
is rendered as “this **line of text** with
*markup* symbols”.
When it comes to backticks (`
), which are used in many case such as hyperlink references, using backslashes for escaping is no longer an option because
the outer backticks interpret enclosed backslashes and thus prevent them from escaping inner
backticks. For instance, `\`this formatting\``
produces an [UNKNOWN NODE title_reference]
error. Instead, ```this formatting```
should be used to produce the following result:
`this formatting`
.