Skip to content

CLI

Showdown comes bundled with a Command-line interface (CLI) tool that allows you to run Showdown converter from the command line.

Requirements

Quick start guide

  1. Check that Showdown CLI is accessible.

    • If you installed Showdown globally via npm install showdown -g, you can access the CLI tool help by typing showdown -h in the command line:

      showdown -h
      
      Usage: showdown <command> [options]
      
      CLI to Showdownjs markdown parser v3.0.0-alpha
      
      Options:
        -V, --version       output the version number
        -q, --quiet         Quiet mode. Only print errors
        -m, --mute          Mute mode. Does not print anything
        -h, --help          display help for command
      
      Commands:
        makehtml [options]  Converts markdown into html
        help [command]      display help for command
      
    • If you installed Showdown locally via npm install showdown, open the folder where Showdown is installed, and type node ./bin/showdown.js -h in the command line:

      node ./bin/showdown.js -h
      
      Usage: showdown <command> [options]
      
      CLI to Showdownjs markdown parser v3.0.0-alpha
      
      Options:
        -V, --version       output the version number
        -q, --quiet         Quiet mode. Only print errors
        -m, --mute          Mute mode. Does not print anything
        -h, --help          display help for command
      
      Commands:
        makehtml [options]  Converts markdown into html
        help [command]      display help for command
      
  2. Use makehtml command to convert your document to HTML. For example:

    Convert foo.md into bar.html

    showdown makehtml -i foo.md -o bar.html
    

Commands

makehtml

Convert a Markdown input into HTML.

Usage

showdown makehtml [options]

Options

-i / --input
  • Short format: -i
  • Alias: --input
  • Description: Input source. Usually a .md file. If omitted or empty, reads from stdin.
  • Examples:

    // Read from stdin and output to stdout
    showdown makehtml -i
    
    // Read from the foo.md file and output to stdout
    showdown makehtml --input foo.md
    
-o/--output
  • Short format: -o
  • Alias: --output
  • Description: Output target. Usually a .html file. If omitted or empty, writes to stdout.
  • Example:

    // Read from the foo.md file and output to bar.html
    showdown makehtml -i foo.md -o bar.html
    
-a/--append
  • Short format: -a
  • Alias: --append
  • Description: Append data to output instead of overwriting.
  • Example:

    showdown makehtml -a
    
-u/--encoding
  • Short format: -u
  • Alias: --encoding
  • Description: Specify the input encoding.
  • Example:

    showdown makehtml -u UTF8
    
-e/--extensions
  • Short format: -e
  • Alias: --extension
  • Description: Load the specified extension(s). Should be valid path(s) to Node-compatible extensions.
  • Example:

    showdown makehtml -e ~/twitter.js -e ~/youtube.js
    
-c/--config
  • Short format: -c
  • Alias: --config
  • Description: Enable or disable parser options.
  • Introduced in: 2.0.1 (Breaking change. See the Extra options section below)
  • Example:

    showdown makehtml -i foo.md -o bar.html -c strikethrough
    showdown makehtml -i foo.md -o bar.html -c strikethrough -c emoji
    

Extra options

Starting from the version 2.0.1, CLI the format of passing extra options has changed. Please make the necessary changes to your code, if required.

showdown makehtml -i foo.md -o bar.html -c strikethrough -c emoji
showdown makehtml -i foo.md -o bar.html --strikethrough --emoji

You can specify any of the supported options, and they will be passed to the converter.

The above commands are equivalent of doing:

var conv = new showdown.Converter({strikethrough: true, emoji: true});

In the CLI tool, all the extra options are disabled by default. This is the opposite of what is defined for node and browser, where some options, like ghCodeBlocks are enabled (for backward compatibility and historical reasons).