Various module sources now contain a DOCUMENTATION doc string that
contains a YAML description of the help of that module.
This doc string is used to generate the ReStructuredText source code
to the modules page of the docs site, for modules that have them.
This feature is mostly due to all the hard work of JP Mens (huge
thanks), though I have had to tweak it some and have as a result
probably broken a few of his other exciting templates it can also use.
This include being able to generate manpage documentation for modules
as well as a LaTex-formatted PDF. Both of these are awesome ideas
and I think he's only going to have to make some minor tweaks to the
templates to get that working again.
The next steps are to apply the YAML "DOCUMENTATION" doc string to
every single module that needs it. The module docs text used to
describe each option must mirror the existing documentation page
content.
One this is done (including for all action modules, which will be
stubs that contain NOTHING but a documentation string) the web site
documentation for modules can easily be maintained by module authors
WITHOUT having to make seperate changes in the ansible-docs project.
This opens the way for other things, such as a really kick-ass module
docs viewer that @mavimo prototyped -- http://agavee.com/ansible-docs/
-- which we could possibly include in something like
Ansible-commander.
It also will ultimately allow ansible itself to introspect module
arguments prior to dispatch to remote hosts, allowing it do new error
checking on remote hosts. (The implementation of this is somewhat
theoretical and not on any immediate roadmap, but sounds cool).
So, I guess the conclusion is this -- let's get to work annotating
modules with DOCUMENTATION strings! Look at ini_file (It's new!) for
a relatively pristine example of what it looks like.
Any questions please let me know, and once again, thanks to JP Mens
for both the idea and hard work in getting it working!
I'm not sure how to best divide up the module documentation work, so
how about replying to this thread with what modules you are working on
docs for and everybody takes three or four at a time? We'll be done
pretty quick.
--Michael