最近の変更
このプラグインは、/changes に、最近のコミットを git log -p のように新しい順に並べたページを加える。
読み手が普段開かないページの小さな修正にも、このページで気付ける。
ページへのリンク
このプラグインは、このページへのリンクをサイトに加えない。
リンクがなければ、読み手は URL を知っている場合にしかこのページにたどり着けない。
_nav.json か themeConfig.nav で、ナビゲーションに項目を加える。
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 をナビゲーションの項目ごとにまとめるので、ナビゲーションにリンクを置くと、最近の変更のページは独立した節になる。