build a site for your documentation
This module generates a documentation site from two simple components: (1) a collection of markdown documents and (2) a hierarchical object specifying your table of contents.
This module is intentionally simpler and more opinionated than something like Jekyll or Sphinx. Depending on what you're looking for, that might be good, because it's easier to reason about, or not, because it's less flexible! It'll probably be most useful if your documentation already consists entirely of markdown files, and it composes well with any tools that generate markdown, for example ecosystem-docs
, which pulls README files from a collection of GitHub repositories.
There are options for specifying a project logo and which document to show on load. Support for themes, and bundling via a command-line tool, coming soon. PRs welcome!
Add to your project with
npm install minidocs
Specify a table of contents
var contents = {
'overview': {
'about': 'about.md'
},
'animals': {
'furry': {
'sheep': 'sheep.md'
},
'pink': {
'pig': 'pig.md'
}
}
}
Then generate the site
var minidocs = require('minidocs')
minidocs(contents)
This assumes you have the files about.md
, sheep.md
, and pig.md
inside a local folder markdown
.
To run a full example, clone this repository, go into the folder example
then call
npm install
npm start
Where contents
is an object describing the hierarchy of contents, used to build the sidebar, and opts
is an object that can specify the following options
logo
relative file path to a logo file, if unspecified will not include a logoinitial
which document to show on load, if unspecified will load the first documentroot
a DOM node to append to, if unspecified will append todocument.body