@shahzainb/highlight-loader
v1.0.0
Published
Applies highlight.js to given HTML
Downloads
4
Readme
highlight-loader - Applies highlight.js to given module
This loader can apply syntax-highlighting via highlight.js in two ways:
Given HTML (either straight HTML or the output of something like markdown-loader), it will replace the contents of
<code>
blocks with syntax-highlighted HTML generated by highlight.js. This is the default behavior.Given a raw file, it will return syntax-highlighted HTML generated by highlight.js. This can be enabled by using the
raw
parameter.
You probably want to pass the HTML output of this loader through html-loader.
Parameters
raw
If any value is provided, the loader will interpret its input as a raw string to run through highlight.js.
By default, the language is auto-detected. To specify a language, use the lang
parameter.
lang
Specify a language for highlight.js. Only works in combination with the raw
parameter.
(To specify a language for non-raw input, apply lang-[something]
classes to your <code>
blocks.)
exec
Execute the input that highlight-loader
receives. Useful in cases when chaining another loader which returns a function. One use case is to combine this with the apply-loader.
By default, exec is false
and simply treats its input as a string.
Installation
Install with npm:
npm install highlight-loader --save-dev
Make sure highlightjs
is included and initialized on your page.
Usage
Add @shahzainb/highlight-loader
as a webpack loader:
module: {
rules: [
{
test: /\.md$/,
use: ["@shahzainb/highlight-loader", "markdown-loader"]
}
];
}
Examples
// Reading HTML from parsed markdown
var highlightedMarkdown = require("html!highlight!markdown!./README.md");
// Reading a file's raw contents and auto-detecting the language
var highlightedRaw = require("html!highlight?raw=true!./example-script.js");
// Reading a file's raw contents and specifying the language
var highlightedRawCss = require("html!highlight?raw=true&lang=css!./example-stylesheet.css");
// Reading HTML from a template loader
var highlightedRenderedJadeTemplate = require("html!highlight?exec!apply!jade!./index.jade");
Contributors
- Juho Vepsäläinen - Original maintainer and creator
- David Clark - Added
raw
andlang
parameters - Zane Miller - Added missing
hljs
class topre
element - Javier Castro - Added Node support
- Sidd Sridharan - Added support for
exec
parameter - M.K. Safi - Added installation instructions
License
highlight-loader is available under MIT. See LICENSE for more details.