コンテンツにスキップ
Blume
Esc
↑↓移動↵開く⌘Jプレビュー

GitHub リリース

githubReleases() ソースを使ってリポジトリの GitHub リリースを変更履歴エントリに変換し、リリースノートをそのまま変更履歴として活用します。

組み込みの githubReleases() アダプターは、リポジトリのリリースを変更履歴に変換します。各リリースは type: changelog エントリになるため、リリースノートがそのまま変更履歴になり、同じ内容を二度書く必要はありません。自動生成される変更履歴タイムラインと組み合わせれば、GitHub リリースを公開するだけで変更履歴エントリも公開されます。

import { defineConfig } from "blume";
import { filesystem, githubReleases } from "blume/sources";

export default defineConfig({
  content: {
    sources: [
      filesystem({ root: "content" }),
      githubReleases({
        prefix: "changelog",
        owner: "acme",
        repo: "sdk",
        // prereleases: false,  // include prereleases (default off)
        // drafts: false,       // include drafts (needs a write token)
        // limit: 100,          // cap releases, newest-first
      }),
    ],
  },
});

各リリースは変更履歴のフィールドに自動的に対応付けられます。リリース名(またはタグ)がタイトルになり、公開日がタイムラインの順序を決め、タグが changelog.version になります。また、プレリリースには Prerelease(それ以外には Release)のタグが付きます。リリースノートはエントリ本文としてレンダリングされますが、その際リンクに 2 つの変更が加えられます。Web、メール、電話、相対アドレスのいずれでもないリンク(たとえば javascript: URL)はラベルのみが残ります。また、自身の deployment.site へのリンクはルート相対パスに書き換えられるため、プレビューデプロイやデプロイのベースパスに追従します。ソースに prefix を指定すると、リリースページが /changelog/v1-2-0 のようなルート配下にネストされます。

プライベートリポジトリは GITHUB_TOKEN 環境変数で認証します。これは他の GitHub 機能で使われるものと同じトークンで、設定ファイルに直接記述されることはありません。アダプターがこの変数を宣言しているため、未設定のままビルドすると警告が表示されます。すべてのリモートソースと同様に .blume/cache/<source>/ にキャッシュされ、API に到達できない場合はオフラインでキャッシュから提供されます。変更履歴は補助的なコンテンツであるため、キャッシュがない状態で取得に失敗した場合(たとえばトークンのない CI ビルドなど)でも、ビルドを失敗させることはなく、警告を出したうえで空の変更履歴になります。変更履歴を表示するには、CI 環境とデプロイ環境で GITHUB_TOKEN を設定してください。

最終更新 2026年9月28日

このページは役に立ちましたか?