grunt-slice-front
Slices a Markdown file in segments separating a front matter in YAML, generates HTML, and applies a template to the result. Useful to generate web pages.
Getting Started
This plugin requires Grunt ~0.4.5
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-slice-front --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt;
The "slice_front" task
Overview
In your project's Gruntfile, add a section named slice_front
to the data object passed into grunt.initConfig()
.
grunt;
Documentation
Please consult Wiki.
Grunt Options
// options.splitter is a regex that separates the sections of the markdown document. splitter: /^||\s*$/gm // options.templateFile is, unsurprisingly, a path to the template file. templateFile: path // options.templateOptions is a Lodash.template options object. See https://lodash.com/docs#template. templateOptions = {} // options.templateParams is an arbitrary hash of task-wide variables, made available to the template as params. templateParams = {} // options.markdownItOptions is a hash of MarkdownIt options. markdownItOptions = typographer: true html: true
Template Variables
The task exposes three different variables to the template file:
page
is a hash of all the YAML variables.body
is an array of the markdown content and each item in the array a string of converted HTML.params
is a hash of the data inoptions.templateParams
.
Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
Release History
- 1.0.4 Refreshed dependencies.
- 1.0.3 Bugfix by @lukehler to support embedded folders, and reduce dependencies.
- 1.0.2 Switched to js-yaml from yaml. Less plugins included by default. New version.
- 1.0.1 Fixed task's name. Made almost all plugins optional.
- 1.0.0 Started by cloning grunt-slice-markdown 0.3.2.
License
BSD