gulp-remarkable
v2.1.0
Published
Gulp plugin for Remarkable - Markdown parser done right. Fast and easy to extend. Supports CommonMark.
Downloads
1,346
Maintainers
Readme
Gulp Remarkable
A gulp plugin for Remarkable - Markdown parser, done right. Fast and easy to extend. Supports CommonMark.
Installation
Install using npm:
$ npm install gulp-remarkable
Options
remarkableOptions
{Object} Options to be passed to Remarkabledisable
[Array] Options to be passed tomd.core.ruler.disable
- to use it, first
remarkableOptions.typographer
must be set totrue
- to use it, first
preset
{String} Remarkable's preset, defaultfull
Usage
Default Example
var gulp = require('gulp'),
name = require('gulp-rename'),
md = require('gulp-remarkable');
gulp.task('md', function() {
return gulp.src('file.md')
.pipe(md({preset: 'commonmark'}))
.pipe(name('file.html'))
.pipe(gulp.dest('dist'));
});
gulp.task('default', ['md']);
Extended Example
var gulp = require('gulp'),
name = require('gulp-rename'),
md = require('gulp-remarkable');
gulp.task('md', function() {
return gulp.src('file.md')
.pipe(md({
preset: 'full',
disable: ['replacements'],
remarkableOptions: {
typographer: true,
linkify: true,
breaks: true
}
}))
.pipe(name('file.html'))
.pipe(gulp.dest('dist'));
});
gulp.task('default', ['md']);
Using Plugins
gulp-remarkable accepts one or two parameters: options and an optional function that accepts gulpRemarkable object.
var gulp = require('gulp')
var md = require('gulp-remarkable')
return gulp.src(globMarkdown)
.pipe(md(opts, (m=>{
m.renderer.rules.heading_open = headingAnchorRendererPlugin
})))
function headingAnchorRendererPlugin(tokens, idx ) {
if (tokens[idx+1].type == 'inline') {
let heading_anchor = slug(tokens[idx+1].content, {lower: true})
return '<h' + tokens[idx].hLevel + ' id="' + heading_anchor + '">';
}
return '<h' + tokens[idx].hLevel + '>';
}
Run tests
$ npm test
Authors & Contributors
John Otander
Evans Jahja
License
Copyright (c) 2014 John Otander, contributors.
Released under the MIT
license.
Acknowledgements
- Markdown parsing done by remarkable: https://github.com/jonschlinkert/remarkable
- Markdown spec defined by CommonMark: http://commonmark.org
- Test script adapted from: https://github.com/sindresorhus/gulp-markdown/blob/master/test.js
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request