Guard::Yard allows you to automatically run and update your local YARD Documentation Server. It aims to centralize your file monitoring to guard instead of using the
yard server --reload command which can be unreliable and provides little control over the generated documentation. Guard::Yard monitors files and updates only the documentation than changes, as opposed to generating the entire documentation suite. That means that changes to your documentation are available sooner!
Add guard-yard to your Gemfile (inside development group):
Install or update your bundle:
Add the default guard-yard definition to your Guardfile:
guard init yard
Please read the Guardfile DSL documentation for additional information.
Guard::Yard automatically detects changes in your app, lib and ext directories, but you can have it monitor additional files using the Guardfile DSL.
Guard::Yard also provides some basic options for doc generation and running the YARD server.
guard 'yard', :port => '8808' do ... end
:server => true # Disable/Enable server :port => '8808' # Port on which the server shoud run. :host => 'localhost' # Host to which the server should bind. :stdout => 'yard.log' # File in which to log the yard server output. :stderr => '/dev/null' # File in which to log the yard server errors. :cli => '--plugin rest' # Additional command line options to be appended to the server command.
To generate or re-create documentation from a clean-slate, run the following command:
rm -rf .yardoc && yard doc
When booting guard, Guard::Yard will do this for you automatically if no .yardoc directory is present. Once guard is running you can execute this command by using the
Ctrl-\ key combination as well.
If you are running into issues, try re-creating your documentation using
rm -rf .yardoc && yard doc. Once this operation is complete, restart guard. If you are still having problems, open a new issue in the GitHub issue tracker for this project.