tvl-depot/tools/cheddar
Vincent Ambo f904951384 feat(cheddar): Render code blocks in Markdown via syntect
Implements fully static (i.e. no JavaScript!) highlighting of code
blocks when rendering Markdown.

This works by walking through the Comrak AST and replacing any code
blocks with pre-rendered HTML blocks.

Syntaxes are chosen based on the "block info", which is the string
users put after the block's opening fence. This can either be
a (case-insensitive) name of a syntax, or alternatively a file
extension associated with the desired syntax.

The theme is set to one that imitates GitHub.
2019-12-21 15:57:02 +00:00
..
src feat(cheddar): Render code blocks in Markdown via syntect 2019-12-21 15:57:02 +00:00
.gitignore feat(tools/cheddar): Check in new syntax highlighting tool 2019-12-21 04:54:57 +00:00
.skip-subtree feat(tools/cheddar): Check in new syntax highlighting tool 2019-12-21 04:54:57 +00:00
Cargo.lock refactor(cheddar): Set up scaffolding for Markdown rendering 2019-12-21 14:09:12 +00:00
Cargo.toml refactor(cheddar): Set up scaffolding for Markdown rendering 2019-12-21 14:09:12 +00:00
default.nix feat(cheddar): Use syntax highlighting assets from bat 2019-12-21 04:55:10 +00:00
README.md docs(cheddar): Mention cgit filter compatibility in README 2019-12-21 15:56:44 +00:00

cheddar

Cheddar is a tiny Rust tool that uses syntect to render source code to syntax-highlighted HTML.

It's invocation is compatible with cgit filters, i.e. data is read from stdin and the filename is taken from argv:

cat README.md | cheddar README.md > README.html

In fact, if you are looking at this file on git.tazj.in chances are that it was rendered by cheddar.

The name was chosen because I was eyeing a pack of cheddar-flavoured crisps while thinking about name selection.