@gerhobbelt/markdown-it-for-inline

    0.1.2-1 • Public • Published

    markdown-it-for-inline

    Build Status NPM version Coverage Status

    Inline tokens iterator for markdown-it markdown parser.

    This plugin allows to apply function to certain types of inline tokens. Speed will not be the fastest possible, but you can do quick prototyping of certain rule types.

    Usage

    Install

    node.js, browser:

    npm install @gerhobbelt/markdown-it-for-inline --save
    bower install @gerhobbelt/markdown-it-for-inline --save

    Use

    var iterator = require('@gerhobbelt/markdown-it-for-inline');
     
    // plugin params are:
    //
    // - rule name (should be unique)
    // - token type to apply
    // - function
    //
    var md = require('@gerhobbelt/markdown-it')()
                .use(iterator, 'foo_replace', 'text', function (tokens, idx) {
                  tokens[idx].content = tokens[idx].content.replace(/foo/g, 'bar');
                });

    Differences in browser. If you load script directly into the page, without package system, module will add itself globally as window.markdownitForInline.

    Example 2. Cut link prefixes

    var iterator = require('@gerhobbelt/markdown-it-for-inline');
     
    var md = require('@gerhobbelt/markdown-it')({ linkify: true })
                .use(iterator, 'url_beautify', 'link_open', function (tokens, idx) {
                  // Make sure link contains only text
                  if ((tokens[idx + 2].type !== 'link_close') ||
                      (tokens[idx + 1].type !== 'text')) {
                    return;
                  }
                  // Do replacement
                  tokens[idx + 1].content = tokens[idx + 1].content
                                              .replace(/^https?:\/\//, '')
                                              .replace(/^www./, '');
                });

    Example 3. Make links open in new window

    var iterator = require('@gerhobbelt/markdown-it-for-inline');
     
    var md = require('@gerhobbelt/markdown-it')({ linkify: true })
                .use(iterator, 'url_new_win', 'link_open', function (tokens, idx) {
                  tokens[idx].attrPush([ 'target', '_blank' ]);
                });

    License

    MIT

    Install

    npm i @gerhobbelt/markdown-it-for-inline

    DownloadsWeekly Downloads

    7

    Version

    0.1.2-1

    License

    MIT

    Last publish

    Collaborators

    • gerhobbelt