docs/cli.md
Showdown comes bundled with a Command-line interface (CLI) tool that allows you to run Showdown converter from the command line.
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:
=== "input"
```sh
showdown -h
```
=== "output"
```
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:
=== "input"
```sh
node ./bin/showdown.js -h
```
=== "output"
```
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
```
Use makehtml command to convert your document to HTML. For example:
!!! example "Convert foo.md into bar.html"
```sh
showdown makehtml -i foo.md -o bar.html
```
makehtmlConvert a Markdown input into HTML.
Usage
showdown makehtml [options]
-i / --inputShort format: -i
Alias: --input
Description: Input source. Usually a .md file. If omitted or empty, reads from stdin.
Examples:
!!! example ""
```sh
// 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/--outputShort format: -o
Alias: --output
Description: Output target. Usually a .html file. If omitted or empty, writes to stdout.
Example:
!!! example ""
```sh
// Read from the foo.md file and output to bar.html
showdown makehtml -i foo.md -o bar.html
```
-a/--appendShort format: -a
Alias: --append
Description: Append data to output instead of overwriting.
Example:
!!! example ""
```sh
showdown makehtml -a
```
-u/--encodingShort format: -u
Alias: --encoding
Description: Specify the input encoding.
Example:
!!! example ""
```sh
showdown makehtml -u UTF8
```
-e/--extensionsShort format: -e
Alias: --extension
Description: Load the specified extension(s). Should be valid path(s) to Node-compatible extensions.
Example:
!!! example ""
```sh
showdown makehtml -e ~/twitter.js -e ~/youtube.js
```
-c/--configShort format: -c
Alias: --config
Description: Enable or disable parser options.
Introduced in: 2.0.1 (Breaking change. See the Extra options section below)
Example:
!!! example ""
```sh
showdown makehtml -i foo.md -o bar.html -c strikethrough
showdown makehtml -i foo.md -o bar.html -c strikethrough -c emoji
```
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.
=== "since v2.0.1"
```sh
showdown makehtml -i foo.md -o bar.html -c strikethrough -c emoji
```
=== "before v2.0.1"
```sh
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});
!!! warning ""
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).