|
|
||
|---|---|---|
| .github | ||
| demo | ||
| src | ||
| test | ||
| .editorconfig | ||
| .eleventy.js | ||
| .eleventyignore | ||
| .eslintrc.js | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
| package.json | ||
| syntax-highlight.webc | ||
README.md
eleventy-plugin-syntaxhighlighting-chroma
A module for handling syntax highlighting in Eleventy using Chroma; a syntax highlighter written in Go. There is no browser/client JavaScript required, the highlight transformations are all done at build-time.
I am making using of the chroma-highlight NPM package to include Chroma support. (It handles downloading the required binary for the platform you are working on).
This module/plugin took the 11ty plugin eleventy-plugin-syntaxhighlight as the basis.
Supported args in code blocks
The first argument is always expected to be the language, at present there is no bugout/fail if a language is not provided first. (Nor in the original plugin)
For Markdown, separate arguments with a /, this seems to be hard coded somewhere and I haven't a workaround yet. For liquid and njk use spaces ( ) to separate arguments.
Arguments:
lineNumberswill add line numbers starting from 1 for each code block.lineNumbersStyleiftableis used, then code block will use a table to make it easier to drag and select the code. i.elineNumberStyle=tablelineNumbersStartthe number to start the line number count from. i.elineNumbersStart=200
Supported options in eleventy config
You can specify some arguments in the options object in .eleventy.js config. Options are considered defaults, and can be overriden by codeblock arguments.TODO
Example of options object
options
{
theme: 'onedark',
lineNumbers: false,
}
Theme can be set to one of these themes. If no theme is specified, then xcode-dark is used.
lineNumberswill add line numbers starting from 1 for each code block.lineNumbersStyleiftableis used, then code block will use a table to make it easier to drag and select the code.