最近の変更

このプラグインは、/changes に、最近のコミットを git log -p のように新しい順に並べたページを加える。 読み手が普段開かないページの小さな修正にも、このページで気付ける。

ページへのリンク

このプラグインは、このページへのリンクをサイトに加えない。 リンクがなければ、読み手は URL を知っている場合にしかこのページにたどり着けない。 _nav.json か themeConfig.nav で、ナビゲーションに項目を加える。

docs/_nav.json
[
  { "text": "ガイド", "link": "/guide/getting-started" },
  { "text": "最近の変更", "link": "/changes" }
]
  • multiVersion や locales を使うサイトでは、バージョンと言語ごとの _nav.json に項目を加える。リンクには、上の例のようにバージョンと言語を含めずに書く。Rspress が _nav.json のあるディレクトリから補う。
  • themeConfig.nav のリンクに Rspress が言語を補うのは、multiVersion を使わないサイトに限る。multiVersion を使うサイトでは、/1.0/ja/changes のように完全なルートを書く。
  • changesRoutePath を変えたときは、リンクにも同じパスを書く。

サイトの base と、route.cleanUrls が false のときの .html は、Rspress がこれらのリンクに付ける。

各コミットの表示

コミットはそれぞれカードで示す。 見出しには、コミットに記録されたタイムゾーンでの日時、要約行、短縮したハッシュを示し、設定に応じて作者も示す。

見出しの下には、変更したページごとに次を並べる。

  • ページへのリンクを付けたタイトル
  • そのページを ?diff=<hash> 付きで開く「ページ上で表示」のリンク
  • Markdown のソースの差分(統合か、左右に並べる形)

差分は、画面に近づいたときに読み込む。 変更した行が maxDiffLines を超える差分は折りたたんで示し、読み手が広げたり、また折りたたんだりできる。

削除したページは、最後のタイトルだけを、リンクを付けずに示す。 PNG や SVG などの画像の変更は、差分を付けずに「変更した」ことだけを示す。

一覧から除く変更

次の変更は、読み手に新しい情報を与えないので、一覧に出さない。

  • ファイルの追加:multiVersion では、新しいバージョンをディレクトリのコピーから始めることが多い。そのコピーを差分にすると、すべての行が追加として並んでしまう。
  • 内容を変えないリネーム
  • 空白と改行だけの変更:段落の折り返し位置を変えた場合などである。

ページ上の差分で範囲を指定したときは、これらも範囲の中の変更として含まれる。

バージョンと言語

multiVersion や locales を使うサイトでは、バージョンと言語ごとにページを作る(/changes、/ja/changes、/v1/ja/changes など)。 各ページには、そのディレクトリ配下の変更だけを並べる。 こうすると、複数のバージョンに同じ修正を入れたときも、1 つのページに同じ変更が重ねて並ばない。

各ページには、そのバージョンと言語のコミットを maxCommits まで並べる。 あるバージョンのコミットが多くても、ほかのバージョンのページに並ぶ数は減らない。

ページに並ぶコミットが maxCommits より少ないこともある。 コミットは、上の「一覧から除く変更」に当たらない変更を含むときだけ並ぶので、バージョンのディレクトリをコピーしただけのコミットは並ばない。 ページを今のパスに移したとき git がリネームとして検出しなかった場合は、移す前の履歴も並ばない。

llms.txt

llms: true を設定すると、Rspress は llms.txt と llms-full.txt、各ページの Markdown 版を書き出す。 最近の変更のページはブラウザーで内容を描画するため、その Markdown 版にはコミットが 1 つも載らない。 そこで、このプラグインは既定で最近の変更のページをこれらのファイルから除く。

これらのファイルに載せるには、changesInLlms を true にする。 このとき Markdown 版には、各コミットの日時、要約行、変更したページを並べる。 差分は含めない。 Rspress は llms.txt をナビゲーションの項目ごとにまとめるので、ナビゲーションにリンクを置くと、最近の変更のページは独立した節になる。