markdown-to-html
Markdown renderer aiming at providing :
- A static site generator (converting .md to .html)
- A live server (serving rendered .md files)
Features
- Markdown files are rendered using the powerfull Marked library.
-
Marked is extended with :
-
Table of content generation in markdown files (
[[toc]]
from pandoc) - The support of custom heading links (
# This is the title {#custom-id}
) - The hability to rename
.md
to.html
for relative links for static site generation.
-
Table of content generation in markdown files (
- A basic layout system based on handlebars is available with some built-in layouts :
- default to generate classic pages.
- remarkjs to generate slideshows.
- Partial HTML/JS views can be injected in the layout to bypass markdown limitation for some pages.
Samples
Setup
sudo npm install -g @mborne/markdown-to-html
# check version
markdown-to-html --version
# show help
markdown-to-html --help
Usage
See markdown-to-html [serve|convert|check] --help
.
Generate static website
markdown-to-html convert samples/01-default-layout /tmp/output
Serve markdown file
# with the default layout
markdown-to-html serve samples/01-default-layout
# with a custom layout
markdown-to-html serve samples/02-remarkjs --layout remarkjs
Check markdown file
To check links between markdown files :
markdown-to-html check samples/01-default-layout
Credits
- marked provides the markdown parser.
- marked-custom-heading-id provided the solution to support custom heading id.
- handlebars provides the template engine.
- commander allows CLI options handling.
- shelljs allows to list files, copy directory, etc.
- express provides the server mode.
It is inspired from :
License
Alternatives
See jamstack.org - Site Generators :