htmd v0.1.1
content.md + template.js = content.html
Just use
htmd
to htmlify your markdown files.
Features
- Write a template file, use anywhere.
- Without setting files, all is in your
.md
s. - Create a
.js
, then you'll get a magic page.
You can use
htmd
as a node module, but I really recommend the CLI API.
Usage
Installation
$ npm install -g htmd
CLI 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 .html
s 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!