hads-plantuml
v1.8.0
Published
Fast web server allowing to browse, search and edit project documentation written in Markdown
Downloads
17
Maintainers
Readme
Hey it's Another Documentation Server! (hads)
The master of ~~hell~~ docs
Hads is a fast Node.js based web server allowing to browse, search and edit documentation written in Markdown.
Features:
- No configuration needed
- Github-like presentation
- GFM (Github Flavoured Markdown)
- Automatic indexation and search
- In-browser editor
- Table of contents using Markdown extension
[[toc]]
- Navigation index using Markdown extension
[[index]]
- Diagrams and flowcharts using Mermaid and PlantUML syntax
- Drag'n drop images
- 100% offline
- Custom CSS style
Usage
npm install -g hads
hads -o
Your browser will open http://localhost:4040
and display your project documentation.
Command-line options
Usage: hads [root dir] [options]
Options:
-p, --port Port number to listen on [default: 4040]
-h, --host Host address to bind to [default: "localhost"]
-i, --images-dir Directory to store images [default: "images"]
-o, --open Open default browser on start
-r, --readonly Read-only mode (no add or edit feature)
--help Show this help
If no root dir is specified, ./
will be used.
Extras
Home page
The server will automatically search for a file named index.md
, readme.md
or README.md
on the specified
documentation root and will use it as your home page.
You can customize the CSS style in a file named custom.css
.
Table of contents
The special text [[toc]]
will be replaced by the table of contents of the markdown document, based on headings.
Navigation index
The special text [[index]]
will be replaced by the full navigation index of all markdown files found under the
specified root dir. File and folder names will be humanized for better readability.
It is particularly useful on the home page to provide an overview of the available documentation for your project.
The sorting of each index level is as follows:
- Any README.md, readme.md, or index.md is always at the top.
- All files and folders that are prefixed with a number (e.g.
001-abc
and002 mno
and003_xyz
) are next, sorted by their respective prefix numbers. Note that the prefix numbers are stripped out in the index. - All remaining files, sorted by their name.
- All remaining folders, sorted by their name.
Mermaid Diagrams and flowcharts
You can use the Mermaid syntax to insert diagrams and flowcharts directly in your
markdown, by using code blocks with the mermaid
language specified, like this:
```mermaid
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
```
Mermaid configuration can be overridden on a given page using the global variable MERMAID_CONFIG
in a <script>
tag, for example:
<script>
MERMAID_CONFIG = { theme: 'forest' };
</script>
PlantUML Diagrams
You can use the PlantUML syntax to insert diagrams and flowcharts directly in your
markdown, by using code blocks with the plantuml
or puml
language specified, like this:
```plantuml
@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice -> Bob: Another authentication Request
Alice <-- Bob: Another authentication Response
@enduml
```
or
```puml
@startgantt
[Prototype design] lasts 15 days
[Test prototype] lasts 10 days
@endgantt
```
Since PlantUML uses Graphviz/DOT, it is also possible to directly use the DOT language.
```puml
@startdot
digraph foo {
node [style=rounded]
node1 [shape=box]
node2 [fillcolor=yellow, style="rounded,filled", shape=diamond]
node3 [shape=record, label="{ a | b | c }"]
node1 -> node2 -> node3
}
@enddot
```
Updates
See changelog here