Skip to content

Latest commit

 

History

History
146 lines (83 loc) · 7.1 KB

README.md

File metadata and controls

146 lines (83 loc) · 7.1 KB

2024-rehype-pretty-code

CodeGrid連載Rehype Pretty Codeを使いこなすのデモコードです。

Rehype Pretty Codeを実際にAstroプロジェクトに導入し、Markdownページでのコードの表示をカスタマイズする例を示しています。

各ブランチについて

作業段階ごとにブランチを分けて掲載しています。

main

Rehype Pretty Codeはまだ導入していない状態のサンプルAstroプロジェクトです。

demo-1-default-view

Rehype Pretty Codeを導入し、オプション指定やスタイル追加などのカスタマイズを行う前の状態です。

demo-2-styling

コードブロックに基本的なスタイルを当てた状態です。

demo-3-inline-code

インラインコード表示に必要なスタイルやオプションを指定した状態です。

demo-4-theme-light-and-dark

配色テーマをオプションで指定し、ライトモードとダークモードに応じた表示を実現した状態です。

demo-5-line-number

行番号の表示を実現するサンプルです。

demo-6-line-highlight

特定の行のハイライト表示を実現するサンプルです。

demo-7-keyword-highlight

特定の変数が使われている箇所をハイライト表示するサンプルです。

demo-8-keyword-description

ハイライト箇所に番号を表示し、コードブロックの下に各番号に対応する解説を添えたコンテンツを実現するサンプルです。

demo-9-inline-token

単一のトークンを表示するインラインコードにトークンIDを指定することで、正確なシンタックスハイライトを適用したサンプルです。

demo-10-show-language

コードブロックに言語名を表示したサンプルです。

demo-11-with-title

タイトル付きのコードブロックを実現するサンプルです。

demo-12-visit-line-argument

onVisitLineフックの引数に渡されるhASTオブジェクトをJSON形式で表示し、構造を理解するためのサンプルです。

demo-13-hast-to-string

hast-util-to-stringtoStringメソッドを使って、hASTオブジェクトから、その要素が表示するテキストを取り出すサンプルです。

demo-14-color-preview

Visitor Hooksを使って、色コードの直前にプレビューを表示する機能を実装したサンプルです。

動作確認方法

基本的なコマンド

  • 初めて実行する際は、npm iで依存ライブラリをインストール
  • 表示確認をする際は、npm run devで開発サーバーを起動

ページをカスタマイズしたい場合

src/pages配下にある.mdファイルを編集してください。

スタイルをカスタマイズしたい場合

src/styles配下にある.cssファイルを編集してください。

新規CSSファイルを追加する場合は、

  1. src/styles配下に設置
  2. src/layouts/Layout.astroimport文を追加

備考:Astroについて

このAstroプロジェクトは、次のコマンドによって作成されました。

npm create astro@latest -- --template minimal

Astroについての詳細は、次のリンクを参考にしてください。