Generates html from markdown using remark and rehype plugins from the unifiedjs
ecosystem.
npm i -g mdsg
Convert *.md
files in current directory to html and write to ./_output/
mdsg
To specify input and output directories:
mdsg <inputDir> <outputDir?>
If only an input directory is specified, output will be written to <inputDir>/output/
mdsg --help
mdsg
uses rc
so you can set config in all the places rc
looks.
Example config
{
"assets": "./assets",
"css": [
"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.2.0/styles/github-dark.min.css",
"/assets/css/fonts.css",
"/assets/css/styles.css",
"/assets/css/theme.css"
],
"injectCss": false
}
The css array from config is used when linking to css files in the head tag of each html document. This is the default setting. A <link rel="stylesheet" href="/...">
tag is injected for each item in the array.
To inject the css as style tags into each document:
mdsg --injectCss true
When injecting, the css is loaded from **/*.css
files in the assets directory. They're lexicographically sorted by filename before being written into style tags in the head tag of each document.
The assets directory contents are copied to the output directory.
Directories or files with a leading underscore are skipped when reading content.
e.g. naming your output directory to _site/
would ensure it's skipped on a subsequent run.