This is a plugin to provide ansi terminal output for markdown-it. It is heavily inspired by marked-terminal, a terminal renderer for the marked library.
This library is not officially supported by markdown-it.
npm install markdown-it markdown-it-terminal
markdown-it
provides a method for extending it with plugins.
var markdown = require('markdown-it');
var terminal = require('markdown-it-terminal');
markdown.use(terminal);
You can override the default options if you choose.
var styles = require('ansi-styles');
var markdown = require('markdown-it');
var terminal = require('markdown-it-terminal');
var options = {
styleOptions: {
code: styles.green
}
}
markdown.use(terminal, options);
// inline code now prints in green instead of the default yellow
markdown-it-terminal
takes several options, most of which are to override existing defaults.
var options = {
styleOptions:{},
highlight: require('cardinal').highlight,
unescape: true
}
Styles are defined per token, and make use of the ansi-styles
library, which provides a number of open and close values for ansi codes.
In the most basic implementation, you can simply provide a supported style like so:
var styles = require('ansi-styles');
var options = {
styleOptions: {
code: styles.green
}
}
markdown-it-terminal
exposes a utility method to build compound styles, using an array of style names (must be supported by ansi-styles
).
var styles = require('ansi-styles');
var terminal = require('markdown-it-terminal');
var options = {
styleOptions: {
code: terminal.compoundStyle(['green','underline'])
}
}
The following tokens can be overridden through styleOptions:
Highlight function to parse code blocks. Should be a function that takes a string and outputs a formatted string.
Unescape content, true
by default.
markdown-it-terminal
uses the cardinal library
for code highlight support by default.
Because ansi is not supported on cmd.exe, markdown-it-terminal
only works on Windows shells with ansi support.
markdown-it-terminal === [![Build Status](https://travis-ci.org/trabus/markdown-it-terminal.svg)](https://travis-ci.org/trabus/markdown-it-terminal) This is a plugin to provide ansi terminal output for markdown-it. It is heavily inspired by [marked-terminal](https://github.com/mikaelbr/marked-terminal), a terminal renderer for the marked library. __This library is not officially supported by markdown-it.__ ## Install `npm install markdown-it markdown-it-terminal` ## Usage `markdown-it` provides a method for extending it with plugins. ```js var markdown = require('markdown-it'); var terminal = require('markdown-it-terminal'); markdown.use(terminal); ``` You can override the default options if you choose. ```js var styles = require('ansi-styles'); var markdown = require('markdown-it'); var terminal = require('markdown-it-terminal'); var options = { styleOptions: { code: styles.green } } markdown.use(terminal, options); // inline code now prints in green instead of the default yellow ``` ## Options `markdown-it-terminal` takes several options, most of which are to override existing defaults. ```js var options = { styleOptions:{}, highlight: require('cardinal').highlight, unescape: true } ``` ### styleOptions Styles are defined per token, and make use of the `ansi-styles` library, which provides a number of open and close values for ansi codes. In the most basic implementation, you can simply provide a supported style like so: ```js var styles = require('ansi-styles'); var options = { styleOptions: { code: styles.green } } ``` `markdown-it-terminal` exposes a utility method to build compound styles, using an array of style names (must be supported by `ansi-styles`). ```js var styles = require('ansi-styles'); var terminal = require('markdown-it-terminal'); var options = { styleOptions: { code: terminal.compoundStyle(['green','underline']) } } ``` The following tokens can be overridden through styleOptions: * code * blockquote * html * heading * firstHeading * hr * listitem * table * paragraph * strong * em * codespan * del * link * href ### highlight Highlight function to parse code blocks. Should be a function that takes a string and outputs a formatted string. ### unescape Unescape content, `true` by default. ## Highlighting `markdown-it-terminal` uses the [cardinal](https://github.com/thlorenz/cardinal) library for code highlight support by default. ## Windows Support Because ansi is not supported on cmd.exe, `markdown-it-terminal` only works on Windows shells with ansi support.