Negligent Parachute Maintainers
    Have ideas to improve npm?Join in the discussion! »

    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

    Install

    npm i gulp-remarkable

    DownloadsWeekly Downloads

    149

    Version

    2.1.0

    License

    none

    Unpacked Size

    17.1 kB

    Total Files

    13

    Last publish

    Collaborators

    • avatar