Plugin for markdown-it to parse and output markdown formatted for the terminal
npm install markdown-it-terminalmarkdown-it-terminal
===

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.
``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
`
takes several options, most of which are to override existing defaults.
`js
var options = {
styleOptions:{},
highlight: require('cardinal').highlight,
unescape: true,
indent: ' '
}
`$3
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
$3
Highlight function to parse code blocks. Should be a function that takes a string and outputs a formatted string.$3
Unescape content, true by default.$3
Indent all content under a heading (h1..h6) using this string. With indent: ' ' (two spaces):| Markdown | Rendered |
| -------------------------- | ----------------------------- |
|
# Heading 1
## Heading 2
Some stuff indented twice
#
Only indented once
| Heading 1
Heading 2
Some stuff indented twice
Only indented once
|Highlighting
markdown-it-terminal uses the 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.