バージョン
blume version は現在のドキュメントをアーカイブ済みバージョンとして固定します。ツリーをコピーし、リンクを書き換え、ID を設定に登録します。
blume version は、ドキュメントのバージョンを作成するためのコマンドです。ID を指定すると、現在のコンテンツツリーをスナップショットとして固定し、その時点のドキュメントをそのまま配信し続けます。
blume version v1.0
このコマンドは次の 4 つの処理を行います。
- コンテンツツリーをコピーします。 コピー先は ID と同じ名前のフォルダー(
docs/v1.0/)で、既存のスナップショットはコピーの対象から除外されます。 - コピー内のルート絶対リンクを書き換えます。 リンクがスナップショット内に収まるように、
/guides/xは/v1.0/guides/xになります。コードブロックとインラインコードは変更されません。また、スナップショットにコピーが存在しないページ(生成された API リファレンスや、変更履歴などのリモートソース)へのリンクは、引き続き最新のページを指します。 - ID を登録します。 登録先は
blume.config.tsのversions.archivedです。初回の作成時にはバージョン管理が有効になり、その ID をアーカイブ済みとし、最新のドキュメントに “Latest” というラベルを付けたversionsブロックが追加されます。設定の書き方が原因で自動編集できない場合は、警告を表示し、代わりに貼り付けるべきエントリーを出力します。 - 実行結果を報告します。 コピーしたファイル、リンクを書き換えたページが表示されます。あわせて、アーカイブ済みバージョンは固定されていること、スナップショットを反映するには
blume devの再起動が必要であることも通知されます。
新しいフォルダーは、他のコンテンツと同じようにレビューしてコミットしてください。バージョンの表示方法(切り替えメニュー、アーカイブ済みページの通知、バージョンごとのラベルやバッジ)はすべて設定で制御します。詳しくは バージョン管理のページをご覧ください。
バージョンの一覧表示
ID を指定せずに実行すると、設定済みのバージョンが一覧表示されます。まず現在のバージョンがラベルとバッジ付きで表示され、続いてアーカイブ済みの各 ID とそのフォルダーが表示されます。初回の作成前で versions が設定されていない場合は、代わりにバージョンの作成方法が案内されます。
blume version
フラグ
--force— 既存のスナップショットフォルダーを上書きします。このフラグがない場合、フォルダーが既に存在するとエラーになります。そのため、誤って再実行してもアーカイブ済みバージョンが上書きされることはありません。
実行が拒否される場合
次のいずれかに該当する場合、コマンドは何も変更せずに 0 以外の終了コードで終了します。
- ID が英字で始まっていない場合、または英字、数字、ドット、ハイフン、アンダースコア以外の文字を含む場合(
1.0ではなくv1.0とします。これにより、ID が数値の並び順プレフィックスと衝突することはありません) - プロジェクトにエラー診断がある場合。壊れたツリーのスナップショットを作成すると、その不具合まで固定されてしまうためです。先に修正してください(
blume doctorで一覧を確認できます) - ID が既に
versions.archivedに登録されている場合 - スナップショットフォルダーが既に存在し、
--forceが指定されていない場合