Hacker News new | ask | show | jobs
by hunterb123 1617 days ago
See also: Chroma (https://github.com/alecthomas/chroma) based on Pygments (https://pygments.org).

JS libs like Highlight.js and Prisma.js can be ran server side and then you send the HTML/CSS like normal.

Generally you'd want to pre-render blogs so syntax highlighting should be compiled HTML/CSS during the build process.

CF workers and other edge computing work great if you have dynamic content if you don't want the client to use JS.

For non-readonly, Monaco and Codemirror are available but heavier ofc.

Anyone else know of another perf syntax highlighting lib? I like collecting tech.

1 comments

See also: Shiki https://shiki.matsu.io/
I was also gonna mention Shiki. While it is JS, you can SSR/SSG, and:

- it uses VSCode grammars and themes, which is awesome.

- it’s got some really cool extensions like Shiki Twoslash[1], allowing VSCode-like type hovers and type error demos. I’ve heard this can work without client-side JS but haven’t had the opportunity to check that out just yet.

- with some effort, you can extract the inline styles to a stylesheet and support pure CSS dark mode (note to self: clean up and open source my implementation of this).

1: https://shikijs.github.io/twoslash/

> (note to self: clean up and open source my implementation of this)

Please do!

I’ll try to get that out this weekend, now that I know there’s interest!
Ooo nice one. Cool features I noticed:

- VSCode theme support

- Textmate grammar tokenizing

- Multiple targets (SVG/PDF)

- Annotations