mkhighlight
v1.0.3
Published
Syntax highlight code blocks
Readme
Syntax Highlight
Highlight code blocks
Syntax highlight code blocks in the input stream using source-highlight.
Install
npm i mkhighlight --saveFor the command line interface install mkdoc globally (npm i -g mkdoc).
Usage
Pass the transform implementation to mktransform:
var highlight = require('mkhighlight')
, ast = require('mkast')
, tfm = require('mktransform');
ast.src('```javascript\nvar foo = "bar"\n```')
.pipe(tfm(highlight))
.pipe(ast.stringify({indent: 2}))
.pipe(process.stdout);Example
To highlight code blocks in a document with ANSI escape sequences:
mkcat README.md | mkhigh -o esc | mkoutTo highlight code blocks for a standalone HTML page:
mkcat README.md | mkhigh | mkpage | mkhtml > README.htmlNumber lines in the code blocks:
mkcat README.md | mkhigh --lines | mkpage | mkhtml > README.htmlHelp
Usage: mkhigh [-lph] [--lines] [--preserve] [--help] [--version] [--out=<val>]
[--src=<lang>] [--alias-[NAME]=<val...>]
Highlight code blocks.
Options
-o, --out=[VAL] Set output format (default: html)
-s, --src=[LANG] Source language (overrides info string)
--alias-[NAME]=[VAL...] Alias info strings to source languages
-l, --lines Number lines in output
-p, --preserve Keep code elements
-h, --help Display help and exit
--version Print the version and exit
[email protected]API
highlight
highlight(through, ast, opts)For each code block with an info string call source-highlight(1) and rewrite the output nodes to include the highlighted response.
throughmodule for subclassing streams.astmodule for working with ast nodes.optsoptions passed to thetransformfunction.
Options
srcString source language, overrides info string.outString output format.aliasObject map of info string languages to source languages.linesBoolean number lines in highlighted output.preserveBoolean Keep a<code>element in the result.
License
MIT
Created by mkdoc on February 6, 2017
