= How to Contribute to the Reference Manual The Spring Framework reference manual uses http://asciidoctor.org/[asciidoctor]. This document describes how to contribute documentation updates. == Building with Gradle You can build the documentation using Gradle using the `asciidoctor` task. For example, from the project root execute the following command: [indent=0] ---- ./gradlew asciidoctor ---- The generated reference manual will then be available at `build/asciidoc/html5/index.html`. == Live Editing One of the nice features about using Asciidoctor is the support for live editing. You will find a Guardfile already present at `spring-framework/src/docs/asciidoc/Guardfile`. First, follow the setup instructions within the http://asciidoctor.org/docs/editing-asciidoc-with-live-preview/[Editing AsciiDoc with Live Preview] document. Once you have done that, there are additional gems to install to make it work (assuming that you are using http://livereload.com/[LiveReload]): [indent=0] ---- gem install guard-rspec guard-livereload ---- When running `guard start` within the `src/asciidoc/` folder, any changes to the `src/asciidoc/index.adoc` file are automatically written to `src/asciidoc/build/index.html`. == Troubleshooting * If you are using LiveReload, select _Allow access to file URLs_ in the LiveEdit plugin options of your browser. * The icon used to enable _LiveReload_ can be a bit confusing. The dot is empty when it is disabled and full when the plugin is active. Make sure to enable it on the tab displaying the `index.html` file. * Ensure you are _not_ running `guard start` at all, as two instances could not run at the same time. To exit a current session in a clean way, type `e` in the shell. == Documentation Notes Some notes on the documentation. * Documentation is wrapped at 90 chars. Ensure that you manually wrap your edits. * Tabs are used for indentation. Do not use spaces. * Follow the existing style when inserting `source` blocks. Here are some useful resources for working with Asciidoctor: * http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/[Asciidoctor Quick Reference] * http://asciidoctor.org/docs/user-manual/[Asciidoctor Manual] * http://asciidoctor.org/docs/asciidoc-writers-guide/[Asciidoctor Writers Guide]