Eleventy plugin to support TextMate-style syntax highlighting via the Giallo Rust crate
| giallo-js | ||
| src | ||
| test | ||
| .eleventy.js | ||
| .gitignore | ||
| .npmignore | ||
| block-diagram.svg | ||
| LICENSE | ||
| mise.toml | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
11ty-plugin-giallo
Eleventy plugin to support TextMate-style syntax highlighting via the Giallo Rust crate.
Usage
// eleventy.config.js
import syntaxHighlight from "11ty-plugin-giallo";
export default function (eleventyConfig) {
eleventyConfig.addPlugin(syntaxHighlight, {
themeLight: "github-light",
themeDark: "github-dark",
});
}
Themes
Block Diagram
Development Quickstart
Mise-en-place manages dev dependencies and scripts.
# Installs dev tools (Rust, Node) and automatically downloads WASI-SDK for the
# host architecture.
mise install
# Installs Node dependencies.
npm install
# Compiles Rust code into a Wasm component and generates Javascript bindings.
mise run build
# Runs unit tests.
mise run test
Limitations
- Support is currently limited to markdown code blocks. The official Eleventy syntax highlighting plugin also provides Liquid and Nunjucks tags as well as a global Javascript function.
- Line highlights and numbers are not yet supported.
- Giallo does not support Prism-style diff format.
Licensing
11ty-plugin-giallo is distributed under the European Union Public License v.
1.2, to match the licensing of the Giallo crate. The EUPL is generally
compatible with other OSI-approved copyleft licenses; for more information refer
to the
compatibility matrix.