技術仕様 - Markdown Renderer for GitHub
Markdown Renderer for GitHub プラグインの詳細な技術情報とバージョン仕様です。
基本情報
| 項目 | 仕様 |
|---|---|
| 現在のバージョン | 1.7.1 |
| ライセンス | GPL-2.0-or-later |
| PHP要件 | 8.1 以上 |
| WordPress要件 | 6.0 以上 |
| JavaScriptエンジン | モダン ES Modules |
テクノロジースタック
本プラグインは、堅牢なPHPバックエンド処理とダイナミックなJavaScriptフロントエンドを組み合わせたハイブリッドアーキテクチャで構築されています。
バックエンド (PHP)
- コントローラー:
GFMR_Renderer(Singleton) - アセット管理: 高度な機能検出機能を備えた
GFMR_Asset_Manager - メタデータ: レンダリング最適化のためのカスタム投稿メタ (
_gfmr_code_metadata) - キャッシュ: パフォーマンス向上のための WordPress Transient API
フロントエンド (JavaScript)
- コアエンジン:
gfmr-core.js - ビルドツール:
@wordpress/scripts(Webpackベース) - 動的読み込み: Intersection Observer による重量級ライブラリの遅延読み込み
採用ライブラリ
| ライブラリ | バージョン | 用途 |
|---|---|---|
markdown-it | 14.1.0 | コアのMarkdownパース |
shiki | 1.x | VS Codeグレードのシンタックスハイライト |
mermaid | 10.x | 図表レンダリング (フローチャート等) |
katex | 0.13+ | 数式レンダリング (LaTeX) |
パフォーマンス設計
本プラグインは、パフォーマンスを最優先に設計されています。
- 選択的読み込み: 投稿コンテンツ内に特定の機能(コードブロックやMermaid図表など)が検出された場合にのみ、アセットを読み込みます。
- 遅延レンダリング: ShikiやMermaidなどの重いライブラリは、必要になった時点で非同期に読み込まれます。
- 最適化されたメタデータ: 投稿保存時にコードブロックのメタデータを事前計算し、フロントエンドの処理時間を短縮します。
- キャッシュ戦略: レンダリング済みのアセットや機能検出結果は、WordPressのトランジエント機能を使用してキャッシュされます。
開発フロー
- テスト: バックエンド用 PHPUnit、E2E用 Playwright
- リンター: PHPCS (WordPress基準)、ESLint、Stylelint
- CI/CD: 自動テストと透明性のための GitHub Actions