JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 240578
  • Score
    100M100P100Q172807F
  • License MIT

Plugin for markdown-it to parse and output markdown formatted for the terminal

Package Exports

  • markdown-it-terminal
  • markdown-it-terminal/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (markdown-it-terminal) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

markdown-it-terminal

Build Status

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.

Install

npm install markdown-it markdown-it-terminal

Usage

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

Options

markdown-it-terminal takes several options, most of which are to override existing defaults.

var options = {
  styleOptions:{},
  highlight: require('cardinal').highlight,
  unescape: true,
  indent: '  '
}

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:

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:

  • 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.

indent

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.