Eleventy plugin to support TextMate-style syntax highlighting via the Giallo Rust crate
Find a file
2026-01-26 01:49:17 +00:00
giallo-js update with naming scheme 2026-01-26 01:33:19 +00:00
src initial commit 2026-01-23 19:48:31 +00:00
test initial commit 2026-01-23 19:48:31 +00:00
.eleventy.js initial commit 2026-01-23 19:48:31 +00:00
.gitignore initial commit 2026-01-23 19:48:31 +00:00
.npmignore remove unnecessary files, deps, and configuration 2026-01-26 01:32:29 +00:00
block-diagram.svg update readme block diagram 2026-01-26 01:49:17 +00:00
LICENSE initial commit 2026-01-23 19:48:31 +00:00
mise.toml remove unnecessary files, deps, and configuration 2026-01-26 01:32:29 +00:00
package-lock.json bump npm version 2026-01-26 01:46:49 +00:00
package.json bump npm version 2026-01-26 01:46:49 +00:00
README.md point readme image to git forge 2026-01-26 01:41:10 +00:00

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

Themes included with Giallo

Block Diagram

block diagram of plugin architecture

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.