quartzで作成日と更新日を表示

quartzはデフォルトではページの作成日のみを表示する。 ページの作成日のみではなく更新日も表示したい場合、 quartz/components/ContentMeta.tsxを変更することで実現可能。

quartz/components/ContentMeta.tsx
  if (fileData.dates) {
-   segments.push(<Date date={getDate(cfg, fileData)!} locale={cfg.locale} />)
+   segments.push('作成日:')
+   segments.push(<Date date={getDate({defaultDateType: 'created'} as any, fileData)!} locale={cfg.locale} />)
+   segments.push('更新日:')
+   segments.push(<Date date={getDate({defaultDateType: 'modified'} as any, fileData)!} locale={cfg.locale} />)
  }

getDate()fileData.dates[コンフィグのdefaultDateType]から日付を取得する。 作成日と更新日はそれぞれcreatedmodifiedに入っているためdefaultDateTypeのみを設定したコンフィグを用意して引数としている。 また、作成日更新日の文字列はDateタグとは別にsegmentに追加する必要がある。 これをしないと、Dateタグの表示が[Object object]となってしまう。

参考

 - quartz v4.4.0 におけるカスタムfrontmatter項目名の検証に使用したコミット情報を記録。