# posthtml-highlight
**Repository Path**: mirrors_posthtml/posthtml-highlight
## Basic Information
- **Project Name**: posthtml-highlight
- **Description**: :art: Syntax Highlighting for PostHTML
- **Primary Language**: Unknown
- **License**: WTFPL
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-09-25
- **Last Updated**: 2025-09-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# PostHTML Highlight Plugin
[![Version][npm-version-shield]][npm]
[![License][wtfpl-shield]][wtfpl]
[![TypeScript][typescript-shield]][typescript]
[![Build Status][build-status-shield]][build-status]
[![Coverage][codecov-shield]][codecov]
[![Downloads][npm-stats-shield]][npm-stats]
[![Chat][gitter-shield]][gitter]
Compile-time syntax highlighting for code blocks via [highlight.js][]
Before:
```html
const foo = 'foo'
console.log(foo)
```
After:
```html
const foo = 'foo'
console.log(foo)
```
## Install
```
$ yarn add -D posthtml posthtml-highlight
```
_or_
```
$ npm i posthtml posthtml-highlight
```
If using TypeScript, additionally install `@types/highlight.js`
## Usage
```js
const fs = require('fs')
const posthtml = require('posthtml')
const highlight = require('posthtml-highlight')
const source = fs.readFileSync('./before.html')
posthtml([
highlight(
/* optional */ {
/**
* By default, only code tags wrapped in pre tags are highlighted (i.e.
)
*
* Set `inline: true` to highlight all code tags
*/
inline: true,
/**
* You may also pass any highlight.js options (http://highlightjs.readthedocs.io/en/latest/api.html#configure-options)
*/
useBR: true,
}
),
])
.process(source)
.then((result) => fs.writeFileSync('./after.html', result.html))
```
### Styling
You will also need to include a highlight.js stylesheet
View the available color schemes [here](https://highlightjs.org/static/demo/), then
a) include via a [CDN](https://cdnjs.com/libraries/highlight.js)
b) install via npm (`yarn add -D highlight.js`, `./node_modules/highlight.js/styles/*`)
c) download via the [highlight.js repo](https://github.com/isagalaev/highlight.js/tree/master/src/styles)
### Specifying a language
Specifying a language as per [highlight.js's usage docs][] is supported, with the caveat that you must use the `lang-*` or `language-*` prefix
### Skip highlighting on a node
Add the `nohighlight` class as per [highlight.js's usage docs][]
[highlight.js]: https://highlightjs.org/
[highlight.js's usage docs]: https://highlightjs.org/usage/
[npm]: https://www.npmjs.com/package/posthtml-highlight
[npm-version-shield]: https://img.shields.io/npm/v/posthtml-highlight.svg
[npm-stats]: http://npm-stat.com/charts.html?package=posthtml-highlight&author=&from=&to=
[npm-stats-shield]: https://img.shields.io/npm/dt/posthtml-highlight.svg?maxAge=2592000
[typescript]: https://www.typescriptlang.org/
[typescript-shield]: https://img.shields.io/badge/definitions-TypeScript-blue.svg
[build-status]: https://github.com/posthtml/posthtml-highlight/actions/workflows/nodejs.yml
[build-status-shield]: https://img.shields.io/github/workflow/status/posthtml/posthtml-highlight/Node%20CI/master
[codecov]: https://codecov.io/gh/posthtml/posthtml-highlight
[codecov-shield]: https://img.shields.io/codecov/c/github/posthtml/posthtml-highlight.svg
[gitter]: https://gitter.im/posthtml/posthtml
[gitter-shield]: https://badges.gitter.im/posthtml/posthtml.svg
[wtfpl]: ./LICENSE.md
[wtfpl-shield]: https://img.shields.io/npm/l/posthtml-highlight.svg