markdown-it-for-inline
Inline tokens iterator for markdown-it markdown parser.
This plugin allows to apply function to certain types of inline tokens. Speed
will be not fastest of possible, but you can do quick prototyping of certain
rule types.
Usage
Install
node.js, browser:
npm install markdown-it-for-inline --save
bower install markdown-it-for-inline --save
Use
var iterator = require('markdown-it-for-inline');
var md = require('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('markdown-it-for-inline');
var md = require('markdown-it')({ linkify: true })
.use(iterator, 'url_beautify', 'link_open', function (tokens, idx) {
if ((tokens[idx + 2].type !== 'link_close') ||
(tokens[idx + 1].type !== 'text')) {
return;
}
tokens[idx + 1].content = tokens[idx + 1].content
.replace(/^https?:\/\//, '')
.replace(/^www./, '');
});
Example 3. Make links open in new window
var iterator = require('markdown-it-for-inline');
var md = require('markdown-it')({ linkify: true })
.use(iterator, 'url_new_win', 'link_open', function (tokens, idx) {
tokens[idx].attrPush([ 'target', '_blank' ]);
});
License
MIT