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):
gem 'guard-yard'
Install or update your bundle:
bundle install
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
Available options:
: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.