= RESTful Notes Slate Sample

This sample demonstrates how to document a RESTful API using Spring REST Docs and https://github.com/slatedocs/slate[Slate].
The sample can be built with Gradle, but requires Ruby and the `bundler` gem to be installed.



== Building the Sample

You will need Java 17 to build the sample.
It is built using Gradle:

[source]
----
./gradlew build
open build/docs/api-guide.html
----



== Details

The bulk of the documentation is written in Markdown in the file named link:slate/source/api-guide.html.md.erb[`api-guide.html.md.erb`] in the `slate/source` directory.
When the documentation is built, snippets generated by Spring REST Docs in the link:src/test/java/com/example/notes/ApiDocumentation.java[ApiDocumentation] tests are incorporated into this documentation by https://ruby-doc.org/stdlib-2.7.1/libdoc/erb/rdoc/ERB.html[ERB].
The combined Markdown document is then turned into HTML.
