0.1.1 • Published 7 years ago

htmd v0.1.1

Weekly downloads
4
License
MIT
Repository
github
Last release
7 years ago

htmd

npm Travis Coveralls npm

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 .mds.
  • 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]
OptionDescriptionDefault
-s, --src pathset the {src} directory path./_post/
-d, --dest pathset the {dest} directory path./post/
-w, --watchwatch the change in {src} directoryfalse

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 a post.
  • /{src}/test.js => /test.html, we call this a page.
  • /{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!