Go to file
Hailee Kenney 58fef9e8f6 (PDOC-3) Refactor face and remove modules action
Refactor the code in the strings face and extract much of the functionality
into a separate library in order to make the code more readable and
sustainable. Additionally, remove the `modules` action from the face
since it does not have a clear use case currently. However since the `server`
action depends on it, and it may be helpful to add other features in the future,
extract the functionality previously contained in `modules` into a helper
method.
2014-09-30 13:55:10 -07:00
lib (PDOC-3) Refactor face and remove modules action 2014-09-30 13:55:10 -07:00
spec (PDOC-3) Refactor face and remove modules action 2014-09-30 13:55:10 -07:00
.gitignore (maint) Update .gitignore to ignore .yardoc files 2014-09-04 17:04:16 -07:00
.travis.yml (PDOC-7) Add .travis file for Travis CI support 2014-09-25 09:28:41 -07:00
.yardopts Exclude YARD templates directory from yard doc 2014-06-10 20:38:01 -07:00
Gemfile (PDOC-6) Allow for different puppet gem versions 2014-09-24 14:09:31 -07:00
README.md (PDOC-3) Rename face to strings instead of yardoc 2014-09-11 09:57:19 -07:00
Rakefile Initial commit 2014-05-16 10:57:24 -07:00
metadata.json (PDOC-3) Rename face to strings instead of yardoc 2014-09-11 09:57:19 -07:00

README.md

Puppet Strings

A Puppet Face and plugin built on the YARD Documentation Tool and Puppet Future Parser.

WARNING: This is very much a science experiment in progress. Things may blow up or change rapidly depending on the Temperature in Portland on a given day.

Installation

So far, this module has been developed against Puppet 3.6.x. It will not work with earlier versions.

Currently, just git clone directly into the Puppet modulepath. Ensure the yard and rgen gems are installed. If running Ruby 1.8.7, ensure the backports gem is installed.

Usage

Documenting a module:

cd /path/to/module
puppet strings

This processes README and everything in manifests/**/*.pp.

Documenting specific manifests:

puppet strings some_manifest.pp [another_if_you_feel_like_it.pp]

Processing is delegated to the yardoc tool so some options listed in yard help doc are available. However, Puppet Faces do not support passing arbitrary options through a face so these options must be specified in a .yardopts file.

Caveats

  • At the moment, only top-level Classes and Defined Types are parsed and formatted.

  • Documentation blocks must immediately precede the documented code with no whitespace. This is because the comment extractor possesses the elegance and intelligance of a bag of hammers.

  • Support for Ruby 1.8.7 may disappear in the future.

  • This is a science experiment. It has a high probability of exploding catastrophically instead of doing something useful.