3 ms·
See also: Chroma (https://github.com/alecthomas/chroma https://github.com/alecthomas/chroma) based on Pygments (https://pygments.org https://pygments.org). JS
by hunterb123 5y ago
See also: Chroma (https://github.com/alecthomas/chroma https://github.com/alecthomas/chroma) based on Pygments (https://pygments.org 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.
- john-doe 5y agoSee also: Shiki https://shiki.matsu.io/ https://shiki.matsu.io/
- hunterb123 5y agoOoo nice one. Cool features I noticed: - VSCode theme support - Textmate grammar tokenizing - Multiple targets (SVG/PDF) - Annotations
- eyelidlessness 5y agoI 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/ https://shikijs.github.io/twoslash/
- john-doe 5y ago> (note to self: clean up and open source my implementation of this) Please do!
- eyelidlessness 5y agoI’ll try to get that out this weekend, now that I know there’s interest!