reST & Sphinx Cheat Sheet

Every reST (.rst) file should use these underlining styles. In reST, you can use different styles in any order you want. These are our conventions for TYPO3 documentation.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
   ========
   DocTitle
   ========

   Then use underlining only:

   .. _header1:

   Header 1
   ========

   Header 1.1
   ----------

   Header 1.1.1
   ~~~~~~~~~~~~

   Header 1.1.1.1
   """"""""""""""
  • line 1-3: This is the doc title. Every .rst file should have one.

  • line 7: header label. This can be used for cross-referencing to this section:

    :ref:`header1`
    
  • 9-10: Header level 1

  • etc.

Lists

This is a bullet list:

  • list item 1
  • list item 2

More text.

Important

Always add blank line before and after list!

This is a bullet list:

* list item 1
* list item 2

More text. **Important:** Always add blank line before and after list!

Add a blank link too, when starting another list hierarchy:

This is a bullet list:

* list item 1

   * list item 1.1
   * list item 1.2

* list item 2

Numbered Lists

Important

Always add blank line before and after list!

some text

  1. list item 1
  2. list item 2

some text

some text

#. list item 1
#. list item 2

some text

Code Blocks

Important

Use syntactically correct code in your codeblocks.

Code Block Directive

How it looks:

$a = 'hello';
$b = 'something';

Source:

1
2
3
4
.. code-block:: php

   $a = 'hello';
   $b = 'something';

This uses the directive “code-block” (line 1)

Important

Make sure to indent correctly. The lines of the code-block (line 3+) must be indented (3 spaces).

Literal Block (::)

Or, use the literal block markup :: if PHP is already set as default with highlight directive and you want to combine a text with a colon, followed by the code block.

How it looks:

Assign the variable a:

$a = 'hello';

Source:

Assign the variable a::

   $a = 'hello';

Inline Code, Textroles

For inline code or for other semantic markup of special texts, use textroles.

Examples:

  1. $result = $a + 23; (PHP snippet)
  2. lib.hello.value = Hello World! (TypoScript snippets)
  3. /etc/passwd (file)
  4. ctrl + s (keyboard strokes)

Source (inline text with textroles):

1
2
3
4
:php:`$result = $a + 23;`
:typoscript:`lib.hello.value = Hello World!`
:file:`/etc/passwd`
:kbd:`ctrl` + :kbd:`s`

Bold & Italic

Normal text, bold text and italic text.

Source (bold & italic):

Normal text, **bold text** and *italic text*.

Images

../_images/a4.jpg

Source (image):

.. image:: ../images/a4.jpg
   :class: with-shadow

Another example:

.. image:: ../images/a4.jpg
   :class: with-shadow
   :target: https://typo3.org
   :alt: alt text
   :width: 100px

See also

YouTube Videos

Source (YouTube):

.. youtube:: wNxO-aXY5Yw

Styled Numbered Lists

This is often used, for a Quick Start section, involving a few numbered steps:

With Big Numbers

This is an example with a code block (::) embedded in the sections.

Source:

.. rst-class:: bignums

1. Embed an image

   Source::

      .. image: some_image.png
         :class: with-shadow

2. Two

   Do something else ...

How it looks:

  1. Embed an image

    Source:

    ../images/a4.jpg
       :class: with-shadow
    
  2. Two

    Do something else …

With Big Numbers XXL

Source:

.. rst-class:: bignums-xxl

1. Embed an image

   Source::

      .. image: some_image.png
         :class: with-shadow

2. Two

   Do something else ...

How it looks:

  1. Embed an image

    Source:

    ../images/a4.jpg
       :class: with-shadow
    
  2. Two

    Do something else …

Tips, Hints, Important (Admonitions)

Tip

To look at the reST source of this rendered page, scroll to the bottom and click on “View page source”.

Source (tip):
.. tip::

   To look at the reST source of this rendered page, scroll to the bottom
   and click on "View page source".