LumeCMSにcontributeした

2024-10-06

#diary

これです。v0.6.6から使えるようになっている。

途中で指摘の示すところを勘違いしてごちゃごちゃしているので正直中身はそこまで見てほしくない🫣

feat: name files dynamically from the created fields by ras0q · Pull Request #26 · lumeland/cms

解説

LumeCMSにはフィールドからファイル名を決定できるnameFieldというプロパティがある。

Collections - Lume

従来ここにはnameField: "title"といった指定をしてtitleフィールドをそのまま参照する形だった。例えばこのブログでは、

  1. CMSの設定でtitleフィールドに2024-10-06_という接頭語をあらかじめ入力させておく
  2. タイトルを付け足し、titleフィールドを2024-10-06_LumeCMSにcontributeしたに変更する
  3. 記事を書きCreateボタンを押す
  4. ファイル名が2024-10-06_lumecmsにcontributeした.mdになり、Markdownファイルのfrontmatterにはtitle: 2024-10-06_LumeCMSにcontributeしたが設定される

という手順を取っていた。

この方法だとファイルが日付順で表示できるがブログに表示されるタイトルにも日付が入っていて冗長である。

このPRではファイル名にのみ日付が入るように改善した。

feat: name files dynamically from the created fields by ras0q · Pull Request #26 · lumeland/cms

コードで説明すると以下のような設定が可能になる。ブログの変更対応

この変更によってタイトルに日付を入れなくても記事作成時にファイル名にのみ日付接頭語を付けることが可能になった🎉

- nameField: "title",
+ nameField: (changes) => `${nowDate}_${changes.title}`,

正直LumeCMSはまだ使いづらいところがいくつかあるので、適宜改善に協力したいと思っている(もちろんLume本体にも)。