Readonly
blockReadonly
coreInstance of [[Core]] chain executor. You may need it to add new rules when writing plugins. For simple rules control use [[MarkdownIt.disable]] and [[MarkdownIt.enable]].
Readonly
helpersReadonly
inlineInstance of [[ParserInline]]. You may need it to add new rules when writing plugins. For simple rules control use [[MarkdownIt.disable]] and [[MarkdownIt.enable]].
Readonly
linkifylinkify-it instance. Used by linkify rule.
Readonly
optionsReadonly
rendererInstance of [[Renderer]]. Use it to modify output look. Or to add rendering rules for new token types, generated by plugins.
var md = require('markdown-it')();
function myToken(tokens, idx, options, env, self) {
//...
return result;
};
md.renderer.rules['my_token'] = myToken
See [[Renderer]] docs and source code.
Readonly
utilschainable, internal
Batch load of all options and compenent settings. This is internal method, and you probably will not need it. But if you with - see available presets and data structure here
We strongly recommend to use presets instead of direct config loads. That will give better compatibility with next versions.
chainable
Enable list or rules. It will automatically find appropriate components,
containing rules with given names. If rule not found, and ignoreInvalid
not set - throws exception.
var md = require('markdown-it')()
.enable(['sub', 'sup'])
.disable('smartquotes');
rule name or list of rule names to enable
Optional
ignoreInvalid: booleanset true
to ignore errors when rule not found.
internal
Parse input string and returns list of block tokens (special token type "inline" will contain list of inline tokens). You should not call this method directly, until you write custom renderer (for example, to produce AST).
env
is used to pass data between "distributed" rules and return additional
metadata like reference info, needed for the renderer. It also can be used to
inject data in specific cases. Usually, you will be ok to pass {}
,
and then pass updated object to renderer.
source string
environment sandbox
internal
The same as [[MarkdownIt.parse]] but skip all block rules. It returns the
block tokens list with the single inline
element, containing parsed inline
tokens in children
property. Also updates env
object.
source string
environment sandbox
Render markdown string into html. It does all magic for you :).
env
can be used to inject additional metadata ({}
by default).
But you will not need it with high probability. See also comment
in [[MarkdownIt.parse]].
source string
Optional
env: anyenvironment sandbox
chainable
Set parser options (in the same format as in constructor). Probably, you will never need it, but you can change options after constructor call.
var md = require('markdown-it')()
.set({ html: true, breaks: true })
.set({ typographer: true });
Note: To achieve the best possible performance, don't modify a
markdown-it
instance options on the fly. If you need multiple configurations
it's best to create multiple instances and initialize each with separate
config.
chainable
Load specified plugin with given params into current parser instance.
It's just a sugar to call plugin(md, params)
with curring.
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');
});
Optional
options: TRest
...params: any[]Link validation function. CommonMark allows too much in links. By default
we disable javascript:
, vbscript:
, file:
schemas, and almost all data:...
schemas
except some embedded image types.
You can change this behaviour:
var md = require('markdown-it')();
// enable everything
md.validateLink = function () { return true; }
Instance of [[ParserBlock]]. You may need it to add new rules when writing plugins. For simple rules control use [[MarkdownIt.disable]] and [[MarkdownIt.enable]].