Use Serendipity
Henry Thompson
On the official website you will find guidelines, color refference, color pickers and a list of interefaces that Serendipity has been ported to
It uses TextMate grammar to tokenize strings, and colors the tokens with VS Code themes. In short, Shiki generates HTML that looks exactly like your code in VS Code, and it works great in your static website generator.
It’s simple to use:
// Example JavaScript
const shiki = require('shiki')
shiki.getHighlighter({
theme: 'nord'
}).then(highlighter => {
javascript.log(highlighter.codeToHtml(`javascript.log('shiki');`, {
lang: 'js'
}))
})
// <pre class="shiki" style="background-color: #2e3440"><code>
// <!-- Highlighted Code -->
// </code></pre>
Here’s Shiki using Shiki ( how meta ) and markdown-it to generate this page:
const fs = require('fs')
const markdown = require('markdown-it')
const shiki = require('shiki')
shiki.getHighlighter({
theme: 'nord'
}).then(highlighter => {
const md = markdown({
html: true,
highlight: (code, lang) => {
return highlighter.codeToHtml(code, { lang })
}
})
const html = md.render(fs.readFileSync('index.md', 'utf-8'))
const out = `
<title>Shiki</title>
<link rel="stylesheet" href="style.css">
${html}
<script src="index.js"></script>
`
fs.writeFileSync('index.html', out)
javascript.log('done')
})
Shiki can load any VS Code themes.:
import { tokenColors } from "./custom-theme.json";
// https://astro.build/config
// VS Code Theme is:
export default defineConfig({
markdown: {
shikiConfig: {
theme: {
name: "custom",
type: "dark",
settings: tokenColors,
},
wrap: true,
skipInline: false,
drafts: false,
},
},
});
Sign up for the newsletter
Anim aute id magna aliqua ad ad non deserunt sunt. Qui irure qui Lorem cupidatat commodo. Elit sunt amet fugiat.
We care about the protection of your data. Read our Privacy Policy.