gulp-remarkable

2.1.0 • Public • Published

Gulp Remarkable NPM version Build Status Dependency Status

A gulp plugin for Remarkable - Markdown parser, done right. Fast and easy to extend. Supports CommonMark.

Installation

Install using npm:

$ npm install gulp-remarkable

See gulp-remarkable on npm.

Options

  • remarkableOptions {Object} Options to be passed to Remarkable
  • disable [Array] Options to be passed to md.core.ruler.disable
    • to use it, first remarkableOptions.typographer must be set to true
  • preset {String} Remarkable's preset, default full

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

Charlike Mike Reagent author tips

Evans Jahja

License MIT license

Copyright (c) 2014 John Otander, contributors.
Released under the MIT license.

Acknowledgements

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Package Sidebar

Install

npm i gulp-remarkable

Weekly Downloads

149

Version

2.1.0

License

none

Unpacked Size

17.1 kB

Total Files

13

Last publish

Collaborators

  • johno