A documentation generator
Docuowl generates a static single-page documentation from Markdown files
As a long-time fan of documentation style made by Stripe, and Markdown, I decided to use the former as a base to create a pretty documentation generator that outputs something like Stripe's. Stripe also generously allowed me to use their layout, so here's a big thank you to them! ♥️
Looking for a demo? A simple demo is available at https://docuowl.github.io/demo/!
To install Docuowl using Homebrew, execute the following command:
brew install docuowl/tap/docuowlRefer to the releases page to get the latest version.
Docuowl takes a directory as input. The directory is expected to have one
directory for each section or group. Each group may have subsections, which by
their turn must also be placed into directories.
Each Section is required to have an content.md file, containing the
Frontmatter for that section, and an optional sidenotes.md file, that will be
rendered to the right of the section. The Frontmatter must contain at least a
Title property, and an optional ID property containing a unique slug for that
section.
Each Group must contain a single meta.md file, containing a Frontmatter like
a Section, and an optional content following the frontmatter.
For instance, take the following directory tree as example:
…meta.md:---
Title: Authorization
---
> :warning: **Warning**: All authorization endpoints are currently in maintenanceDocuowl introduces two new blocks to Markdown: Boxes and Attributes List.
Boxes can only be used in sidenotes. To create a new box, use the following format:
#! This is a box
And this is the box's contentAfter one #!, the box will take any content that follows until one of the
following conditions are met:
----)Attributes Lists can only be used in contents. To create a new Attribute List, use the following format:
#- Attribute List
- Key1 `type`
- Key1 DescriptionDocuowl can be invoked in two modes: Compile, and Watch.
Compilation will output a single index.html file to an specified directory,
taking another directory as input. For instance:
$ docuowl --input docs --output docs-htmlWatch allows one to continuously write documentation and see the preview with auto-reload. For that, use:
$ docuowl --input docs --output docs-html --watch
Docuowl v0.1
Listening on 127.0.0.1:8000Then open your browser and point to 127.0.0.1:8000. The page will be reloaded
each time a file changes in the input directory.
In order to locally build, use the provided Makefile. Steps consist of running
cmd/static-generator/main.go, responsible for compiling static files required
by static/static.go, and running go build on cmd/docuowl/main.go.
This software uses other open-source components. For a full list, see the LICENSE file.
…No open issues yet, or sync has not completed.