ansible/docs/templates/man.j2
Adrian Likins 89c973445c generate rst doc pages for command line tools (#27530)
* let generate_man also gen rst pages for cli tools
* make template-file, output-dir, output format cli options for generate_man
* update main Makefile to use generate_man.py for docs (man pages and rst)
* update vault docs that use :option:
* Edits based on
6e34ea6242 and
a3afc78535

* add a optparse 'desc' to lib/ansible/cli/config.py 

  The man page needs a short desc for the 'NAME' field
  which it gets from the option parse 'desc' value.

  Fixes building ansible-config man page.

* add trim_docstring from pep257 to generate_man

  use pep258 docstring trim function to fix up any indention
  weirdness inherit to doc strings (ie, lines other than
  first line being indented.

* Add refs to cli command actions

To reference ansible-vaults --vault-id option, use:

:option:`The link text here <ansible-vault --vault-id>`

or:

:option:`--vault-id <ansible-vault --vault-id>`

To reference ansible-vault's 'encrypt' action, use:

:ref:`The link text here <ansible_vault_encrypt>`

or most of the time:

:ref:`ansible-vault encrypt <ansible_vault_encrypt>`
2017-09-07 15:44:20 -04:00

125 lines
2.9 KiB
Django/Jinja

{% set name = ('ansible' if cli == 'adhoc' else 'ansible-%s' % cli) -%}
{{name}}(1)
{{ '=' * ((name|length|int) + 3) }}
:doctype: manpage
:encoding: utf-8
:lang: en
:man source: Ansible
:man version: %VERSION%
:man manual: System administration commands
NAME
----
ansible{% if cli != 'adhoc' %}-{{cli}}{% endif %} - {{short_desc|default('')}}
SYNOPSIS
--------
{{ usage|replace('%prog', name) }}
DESCRIPTION
-----------
{{ long_desc|default('', True)|wordwrap }}
{% if options %}
COMMON OPTIONS
--------------
{% for option in options|sort(attribute='options') %}
{% for switch in option['options'] %}*{{switch}}*{% if option['arg'] %} '{{option['arg']}}'{% endif %}{% if not loop.last %}, {% endif %}{% endfor %}::
{{ option['desc'] }}
{% endfor %}
{% endif %}
{% if arguments %}
ARGUMENTS
---------
{% for arg in arguments %}
{{ arg }}
{{ (arguments[arg]|default(' '))|wordwrap }}
{% endfor %}
{% endif %}
{% if actions %}
ACTIONS
-------
{% for action in actions %}
*{{ action }}*::: {{ (actions[action]['desc']|default(' '))|wordwrap}}
{% if actions[action]['options'] %}
{% for option in actions[action]['options']|sort %}
{% for switch in option['options'] if switch in actions[action]['option_names'] %}*{{switch}}*{% if option['arg'] %} '{{option['arg']}}'{% endif %}{% if not loop.last %}, {% endif %}{% endfor %}::
{{ (option['desc']) }}
{% endfor %}
{% endif %}
{% endfor %}
{% endif %}
{% if inventory %}
INVENTORY
---------
Ansible stores the hosts it can potentially operate on in an inventory.
This can be an YAML file, ini-like file, a script, directory, list, etc.
For additional options, see the documentation on http://docs.ansible.com/.
{% endif %}
ENVIRONMENT
-----------
The following environment variables may be specified.
{% if inventory %}
ANSIBLE_INVENTORY -- Override the default ansible inventory file
{% endif %}
{% if library %}
ANSIBLE_LIBRARY -- Override the default ansible module library path
{% endif %}
ANSIBLE_CONFIG -- Override the default ansible config file
Many more are available for most options in ansible.cfg
FILES
-----
{% if inventory %}
/etc/ansible/hosts -- Default inventory file
{% endif %}
/etc/ansible/ansible.cfg -- Config file, used if present
~/.ansible.cfg -- User config file, overrides the default config if present
AUTHOR
------
Ansible was originally written by Michael DeHaan.
See the AUTHORS file for a complete list of contributors.
COPYRIGHT
---------
Copyright © 2017 Red Hat, Inc | Ansible.
Ansible is released under the terms of the GPLv3 License.
SEE ALSO
--------
{% for other in cli_list|sort %}{% if other != cli %}*ansible{% if other != 'adhoc' %}-{{other}}{% endif %}*(1){% if not loop.last %}, {% endif %}{% endif %}{% endfor %}
Extensive documentation is available in the documentation site:
<http://docs.ansible.com>.
IRC and mailing list info can be found in file CONTRIBUTING.md,
available in: <https://github.com/ansible/ansible>