blog 00
更新:
このWebサイトそのものの開発についてのメモになります。
Obsidian→Git、Astro→HTML
mermaid対応
Obsidian で public_notes 配下の Markdown に Mermaid 図を追加
- Git に commit
- main に push/merge
- GitHub Actions が自動で build
- Astro build
- rehype-mermaid
- Playwright Chromium で Mermaid を描画
- “SVG” を生成
- dist/products/index.html に <“svg”> として埋め込み
- SVG 化された HTML が Cloudflare Pages に公開
Astro
Markdown/MDX を HTML に変換する
rehype-mermaid
HTML 変換途中の Mermaid ブロックを探す
Mermaid に渡して図として描画する
結果を SVG として HTML に埋め込む
Playwright Chromium
Mermaid を正しく描画するためのブラウザ実行環境
rehype-mermaid
Mermaid ブロックを見つける
Mermaid 図を生成する処理を呼ぶ
生成された SVG を HTML に差し替える
Mermaid
flowchart TD などの記法を解釈する
図のノード、線、ラベル、サイズ、レイアウトを計算する
SVG を生成する
Playwright Chromium
Mermaid が動くための実ブラウザ環境を用意する
テキスト幅、SVG サイズ、レイアウトなどをブラウザ上で計算できるようにする
mermaid
図表記法を解釈して SVG を作る JavaScript ライブラリ
rehype-mermaid
Markdown/HTML 変換パイプラインの中で mermaid を呼び出すプラグイン
Playwright Chromium
mermaid ライブラリをブラウザ環境で実行するための土台