Okanjo Server Documentation Generator
Super basic module to generate documentation in Markdown and JSON based on HAPI route tags. You could use this to generate an SDK!
Add to your project like so:
npm install okanjo-app-server-docs
Note: Use okanjo-app-server-docs@^1.x.x for OkanjoServer 1.x (Hapi 16 and below)
You can see a basic demonstration by running:
http://localhost:3001/docs– Rendered version using Flatdoc + Markdown
http://localhost:3001/docs/markdown– Generated markdown
http://localhost:3001/docs/json– Generated JSON
Creates a new instance of the documentation service.
app– The OkanjoApp instance to bind to
server– The OkanjoServer instance to bind to
Gets the routing table as a serializable object. May include internal information that should not be publically exposed. Does not include ignored or excluded routes.
Gets only the publicly accessible route definitions. Uses service.getRouteTable for data, and formats for public consumption.
Generates a markdown interpretation of the server routes.
ignoreUnorganizedRoutes– Whether to include routes that have not been organized into resource groups. Useful to enable in development environments to identify new or missed routes, but disable in production to prevent leaking beta routes.
Returns a sample HTML template that can be used to display the markdown publically.
Extending and Contributing
Our goal is quality-driven development. Please ensure that 100% of the code is covered with testing.
Before contributing pull requests, please ensure that changes are covered with unit tests, and that all are passing.
To run unit tests and code coverage:
npm run report
This will perform:
- Unit tests
- Code coverage report
- Code linting
Sometimes, that's overkill to quickly test a quick change. To run just the unit tests:
or if you have mocha installed globally, you may run
mocha test instead.