claranet / ansible-gendoc

Auto generate Ansible documentation
Mozilla Public License 2.0
26 stars 7 forks source link
ansible claranet sphinx

Ansible-Gendoc

Inspired by Felix Archambault's ansidoc project.

An example generated with ansible-gendoc.

Features

Quickstart

If you have an existing README.md file in your role, backup it before !

Run From docker

Clone this project and build the image :

git clone
export DOCKER_BUILDKIT=1
docker build . -t ansible-gendoc:0.1.0 -t ansible-gendoc:latest
docker run --user $(id -u):$(id -g) -it ansible-gendoc:latest help

Install python package

Install the latest version ansible-gendoc with pip or pipx

pip install ansible-gendoc

Usage

ansible-gendoc --help

 Usage: ansible-gendoc [OPTIONS] COMMAND [ARGS]...

╭─ Options ────────────────────────────────────────────────────────────────────────╮
│ --version             -v        Show the application's version and exit.         │
│ --install-completion            Install completion for the current shell.        │
│ --show-completion               Show completion for the current shell, to copy   │
│                                 it or customize the installation.                │
│ --help                          Show this message and exit.                      │
╰──────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────────╮
│ init     Copy templates README.j2 from packages in templates/role folder.        │
│ render   Build the Documentation                                                 │
╰──────────────────────────────────────────────────────────────────────────────────╯

Build your first documentation of a role

To build the documentation roles, you can run these commands :

Use your personal template

To use a personal template, you need to init the template in the templates folder of your role. If ansible-gendoc find an existing file templates/README.j2, it will use it to render the README.md file.

ansible-gendoc init
ls templates
README.j2

The template use jinja as templating language.

Modify it, for example replace html or Restructuredtext or another language. You can remove some variables too.

Documentation of vars template

The documentation of vars coming soon.