Syntax Highlighting
Set "highlight": true in blogin.json and Blogin highlights fenced code during
the build. Highlighting is server-side: there is no client JavaScript, and the
pages work without it.
A fenced block's info string names the language:
```raku
my $x = 1; # a comment
```
The highlighter tokenizes the code into spans, escaping the source:
my $greeting = "hello"; # keywords, strings, numbers, comments
Recognized languages are raku, ruby, python, javascript, bash, and json. An unrecognized language falls back to escaped plain text with no spans.
Styling#
Highlighting emits hl-keyword, hl-string, hl-number, and hl-comment
classes. The build emits blogin.css with a default color scheme for them, along
with base styling for code blocks and heading anchors. Link it from base.haml
and override any rule in your own stylesheet. Because the spans are plain HTML,
any color scheme is a matter of CSS.