Neolithic Psychedelic Mushrooms

    markdown-it-terminal

    0.2.1 • Public • Published

    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.

    Install

    npm i markdown-it-terminal

    DownloadsWeekly Downloads

    140,260

    Version

    0.2.1

    License

    MIT

    Unpacked Size

    23.3 kB

    Total Files

    8

    Last publish

    Collaborators

    • trabus