Code Monkey home page Code Monkey logo

markdown-it-terminal's Introduction

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.

markdown-it-terminal's People

Contributors

trabus avatar dependabot[bot] avatar akatov avatar daguej avatar baweaver avatar locks avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.