The following guide provides patterns for interface elements and directories.

Operator Menus

Each operator should receive its own heading or page based on the length of the content. At the start should be a reference admonition documenting the context of the operator:

.. admonition:: Reference
   :class: refbox

   :Mode:      Edit Mode
   :Menu:      :menuselection:`Curve --> Snap`
   :Shortcut:  :kbd:`Shift-S`


Panels should be documented by their own heading, nested panels should use decreasing heading levels. Each panel could have its own page based on the length of documentation and/or the amount of panels. Expanded menus that toggle what properties are presented to the user should be treated like subpanels:

Panel Title

Nested Panel Title


Properties should be documented using definition lists. Properties that are hidden based on other properties should used nested definitions:

   Property description.

   Hidden Property
      Hidden property description.

Select menus should be documented using the following syntax:

Menu Label
   General description of the menu.

   :Menu Item: Menu Item Definition.
   :Menu Item: Menu Item Definition.
   :Menu Item: Menu Item Definition.


Nodes should always have three headings inputs, properties and outputs with a note of absence if the node has none. At the end of the page can be an optional example(s) section:

World Node

.. figure:: /images/render_shader-nodes_output_world_node.png
   :align: right

   The World node.

Introduction and general use case(s).


This node has no inputs.


This node has no properties.


This node has no outputs.


Directory Layout

As seções em geral devem ser estruturadas da seguinte maneira:

  • directory_name/

    • index.rst (contém ligações para arquivos internos)

    • introduction.rst

    • section_1.rst

    • section_2.rst

Por exemplo:

  • rendering/

    • index.rst

    • cycles/

      • index.rst

      • introduction.rst

      • materials/

        • index.rst

        • introduction.rst

        • volumes.rst

A ideia é encapsular todos os conteúdos de uma seção dentro de uma pasta. O ideal é que cada seção deva ter um arquivo index.rst (contendo a tabela de conteúdos (TOC) para esta seção) e um arquivo de nome introduction.rst (apresentação) para os conteúdos de cada seção.

Tabela de conteúdos

Por padrão uma tabela de conteúdos deve mostrar dois níveis de profundidade:

.. toctree::
   :maxdepth: 2