Markdownからドキュメントサイトを構築⁠Astro/ViteベースのOSS「Blume」v1が公開

開発者のHayden Bleasel氏は7月13日、MarkdownやMDXを基にドキュメントサイトを構築するオープンソースフレームワークBlumeの正式版となるv1.0.0を公開した。本稿執筆時点の最新版はv1.0.3。MITライセンスで公開されている。

Blumeとは

Blumeは、製品やAPI、オープンソースプロジェクトなどのドキュメントサイトを作るためのフレームワークで、サイト生成にはAstro、開発・ビルド基盤にはVite、テーマにはTailwind CSSを利用する。CLIとテンプレート、コンポーネント群を一体で提供し、コンテンツの入ったフォルダーを起点に、ナビゲーションや検索、テーマ、OGP画像などを備えたサイトを生成する。

Blumeのドキュメントトップページ

これら3つの技術は内部の基盤として使われ、利用者が個別にセットアップする必要はない。CLIがコンテンツとblume.config.tsを読み込み、.blume/以下にAstroプロジェクトを生成し、開発サーバーの起動やビルドを行う。Blumeのコアテーマはクライアント側のJavaScriptフレームワークに依存せず、インタラクティブな要素が必要なページにはReactコンポーネントを追加できる。

初期化からビルドまで

利用にはNode.js 22.12以降が必要になる。npx blume initでプロジェクトを初期化した後、blume devでホットリロード付きのプレビューを起動できる。blume buildを実行すると、静的HTMLとローカル検索用のインデックスがdist/に出力される。生成物はVercel、Netlify、Cloudflare Pages、GitHub Pages、S3などの静的ホスティング環境に配置できる。

各設定項目は省略でき、必要なものだけをプロジェクトのルートに置くblume.config.tsへ記述する。さらに細かく変更したい場合は、組み込みコンポーネントを置き換えられるほか、blume ejectで単独のAstroアプリとして取り出せる。取り出した後もblumeパッケージを引き続き利用できる。

検索やSEO⁠AI向け機能などを標準で用意

各ページはMarkdownまたはMDXで記述でき、コードブロックなどの一般的な記法を利用できる。MDXでは、コールアウト、タブ、手順、ファイルツリーなど30種類以上のコンポーネントをインポートなしで使えるほか、Mermaidによる図やKaTeXによる数式にも対応する。

検索はOramaによるローカルインデックスをデフォルトで利用し、Pagefind、Algolia、Typesenseなどへ切り替えられる。SEO関連では、メタデータやOGP画像、サイトマップ、robots.txt、RSS、JSON-LDの生成に対応する。OpenAPIまたはAsyncAPIの仕様から、Scalarを利用したインタラクティブなAPIリファレンスを作る機能も備える。

AIやコーディングエージェント向けには、llms.txtllms-full.txt、各ページのMarkdown版、ページ内で質問できるAsk AI、ドキュメントを検索・取得するMCPサーバーなどを用意する。Ask AIやMCPサーバーのようにリクエスト時の処理が必要な機能を使う場合は、静的サイトではなく、Vercel、Netlify、Cloudflare、Node.js向けのサーバー出力を選択できる。

ローカルファイルのほか、リモートのMDX、GitHub Releases、Notion、Sanity、独自バックエンドから取得したコンテンツを組み合わせて、1つのサイトを構成できる。国際化や変更履歴、ブログ、PDF/EPUBへのエクスポートもサポートしている。

v1.0.3でAsk AIやMCPサーバー関連を改善

Changelogによると、v1.0.0からv1.0.3まではいずれも7月13日に公開された。v1.0.3では、カスタムページでもAsk AIのボタンを表示できるようにしたほか、MCPサーバーの設定をblume.config.tsai以下へ移動した。Ask AIまたはMCPサーバーを有効にしたデプロイ先で、依存パッケージを読み込めなくなる問題も修正している。

Blumeのソースコードと導入手順はGitHubリポジトリで確認できる。

おすすめ記事

記事・ニュース一覧