Ansible style guide¶
Welcome to the Ansible style guide! To create clear, concise, consistent, useful materials on docs.ansible.com, follow these guidelines:
Linguistic guidelines¶
We want the Ansible documentation to be:
- clear
- direct
- conversational
- easy to translate
We want reading the docs to feel like having an experienced, friendly colleague explain how Ansible works.
Stylistic cheat-sheet¶
This cheat-sheet illustrates a few rules that help achieve the “Ansible tone”:
Rule | Good example | Bad example |
---|---|---|
Use active voice | You can run a task by | A task can be run by |
Use the present tense | This command creates a | This command will create a |
Address the reader | As you expand your inventory | When the number of managed nodes grows |
Use standard English | Return to this page | Hop back to this page |
Use American English | The color of the output | The colour of the output |
Header case¶
Headers should be written in sentence case. For example, this section’s title is
Header case
, not Header Case
or HEADER CASE
.
Avoid using Latin phrases¶
Latin words and phrases like e.g.
or etc.
are easily understood by English speakers.
They may be harder to understand for others and are also tricky for automated translation.
Use the following English terms in place of Latin terms or abbreviations:
Latin | English |
---|---|
i.e | in other words |
e.g. | for example |
etc | and so on |
via | by/ through |
vs./versus | rather than/against |
reStructuredText guidelines¶
The Ansible documentation is written in reStructuredText and processed by Sphinx. We follow these technical or mechanical guidelines on all rST pages:
Header notation¶
Section headers in reStructuredText can use a variety of notations. Sphinx will ‘learn on the fly’ when creating a hierarchy of headers. To make our documents easy to read and to edit, we follow a standard set of header notations. We use:
###
with overline, for parts:
###############
Developer guide
###############
***
with overline, for chapters:
*******************
Ansible style guide
*******************
===
for sections:
Mechanical guidelines
=====================
---
for subsections:
Internal navigation
-------------------
^^^
for sub-subsections:
Adding anchors
^^^^^^^^^^^^^^
"""
for paragraphs:
Paragraph that needs a title
""""""""""""""""""""""""""""
Syntax highlighting - Pygments¶
The Ansible documentation supports a range of Pygments lexers for syntax highlighting to make our code examples look good. Each code-block must be correctly indented and surrounded by blank lines.
The Ansible documentation allows the following values:
- none (no highlighting)
- ansible-output (a custom lexer for Ansible output)
- bash
- console
- csharp
- ini
- json
- powershell
- python
- rst
- sh
- shell
- shell-session
- text
- yaml
- yaml+jinja
For example, you can highlight Python code using following syntax:
.. code-block:: python
def my_beautiful_python_code():
pass
More resources¶
These pages offer more help with grammatical, stylistic, and technical rules for documentation.
See also
- Contributing to the Ansible Documentation
- How to contribute to the Ansible documentation
- Testing the documentation locally
- How to build the Ansible documentation
- irc.freenode.net
- #ansible-docs IRC chat channel