naoki.dev

記事検索

タイトル・本文・タグから検索します

ホームに戻る
フロントエンド

Shiki でビルド時シンタックスハイライトを実現する

目次

技術ブログでコードを綺麗に見せたいなら Shiki が有力です。ビルド時に色付けするのでランタイム JS がゼロになります。

なぜ Shiki なのか

  • VSCode と同じテーマが使える
  • 言語サポートが広い
  • 色付け済み HTML を吐くのでクライアント処理が不要

デュアルテーマ

ライト/ダークでテーマをペアにできます。

.use(rehypePrettyCode, {
  theme: { light: "github-light", dark: "github-dark-dimmed" },
  keepBackground: false,
})

あとは CSS で --shiki-light / --shiki-dark を切り替えるだけです。

.dark code[data-theme*=" "] span {
  color: var(--shiki-dark);
}

まとめ

静的サイトと相性が良く、見た目も良い。技術ブログのコードブロックは Shiki を選んでおけば間違いありません。