htmd v0.1.1
content.md + template.js = content.html
Just use
htmdto htmlify your markdown files.
Features
- Write a template file, use anywhere.
- Without setting files, all is in your
.mds. - Create a
.js, then you'll get a magic page.
You can use
htmdas a node module, but I really recommend the CLI API.
Usage
Installation
$ npm install -g htmdCLI API
$ htmd [options]| Option | Description | Default |
|---|---|---|
| -s, --src path | set the {src} directory path | ./_post/ |
| -d, --dest path | set the {dest} directory path | ./post/ |
| -w, --watch | watch the change in {src} directory | false |
Generate files
htmd generates .htmls based on what you put in the {src} directory.
The rule is:
/{src}/test.md=>/{dest}/test.html, we call this apost./{src}/test.js=>/test.html, we call this apage./{src}/_test.js, files started with_will be ignored, so you can name your template file like this./{src}/test.xxx, other files will be ignored.
Markdown with Front Matter
You can use front matter to extend markdown files, the FrontMatter Object will be passed to the Template Function as parameters.
All the markdown files has a hidden Front Matter Variable named template, its default value is ./_template.js. This means current markdown file will be rendered by the specified template file.
For a post template function, the parameter is a post object.
{
path: 'xxx.html' // the html file location relative to {dest} directory
detail: {
meta: { } // the FrontMatter Object
content: '' // markdown render result with highlight.js
}
}For a page template function, the parameter is a array, includes all the posts data.
[
{
path: 'xxx.html' // the html file location relative to {dest} directory
detail: {
meta: { } // the FrontMatter Object
content: '' // markdown render result with highlight.js
}
},
{
path: 'xxx.html' // the html file location relative to {dest} directory
detail: {
meta: { } // the FrontMatter Object
content: '' // markdown render result with highlight.js
}
},
...
]Recommend
https://github.com/nemonie/nemonie.com is a Five JS Files Blog System powered by htmd.
Have fun!