$ cat post.metadata
Hello World: React Router v7 + Hono ブログ始動
TechBlog
React Router v7とHonoを使った新しいブログシステムの紹介。Markdownファイルを配置するだけで記事が公開される仕組みを構築しました。
$ cat post.content | render --format=markdown
Hello World! 🚀
新しいブログシステムを React Router v7 と Hono で構築しました。このブログの特徴は、Markdownファイルを content/posts/ ディレクトリに配置するだけで、自動的に記事として公開される点です。
技術スタック
このブログは以下の技術で構築されています:
- Frontend: React Router v7 (Framework Mode)
- Backend: Hono on Cloudflare Workers
- Styling: Tailwind CSS
- Content: Markdown + Mermaid
- Deployment: Cloudflare Pages & Workers
アーキテクチャ
システムの全体像を図で表すと以下のようになります:
Markdown機能
このブログシステムは豊富なMarkdown機能をサポートしています:
コードブロック
TypeScriptのコード例:
typescriptinterface BlogPost { title: string; date: string; content: string; tags: string[]; } export async function loader({ params }: LoaderFunctionArgs) { const post = await fetchPost(params.slug); return json({ post }); }
テーブル
| Feature | Support | Notes |
|---|---|---|
| Markdown | ✅ | GFM準拠 |
| Mermaid | ✅ | 図表対応 |
| Syntax Highlight | ✅ | Prism.js |
| LaTeX | ❌ | 今後対応予定 |
リスト
番号付きリスト:
- Markdownファイルを作成
- frontmatterでメタデータを定義
- Git pushで自動デプロイ
箇条書き:
- 高速なページ読み込み
- SEO最適化
- レスポンシブデザイン
- ダークモード対応(予定)
Mermaid図表
複雑な図表もMermaidで簡単に作成できます:
今後の展望
このブログシステムをさらに改善していく予定です:
- 🔍 全文検索機能の実装
- 🌙 ダークモード対応
- 💬 コメントシステム(Cloudflare D1使用)
- 📊 アクセス解析ダッシュボード
- 📱 PWA対応
まとめ
React Router v7とHonoの組み合わせにより、高速で柔軟なブログシステムを構築できました。Markdownファイルを置くだけで記事が公開される手軽さと、Mermaid図表による表現力の高さが特徴です。
今後も継続的に改善を加えていきますので、ぜひご期待ください!
このブログはCloudflare WorkersとPagesで動作しています。ソースコードはGitHubで公開予定です。