Cosense(旧Scrapbox)でタイムスタンプのフォーマットをカスタムする
はじめに
Cosense(旧Scrapbox)では、Ctrl+t
でタイムスタンプを入力できるショートカットが存在する。Ctrl+t
を連続で打つことで、タイムスタンプのフォーマットを変更することができるが、デフォルトのフォーマットは以下。
2024/8/20
[2024/8]/20
2024/8/20 09:11
個人的な用途として、これらには以下の難点があった。
[2024/8]/20
のフォーマットは使わない- 時間だけのタイムスタンプが欲しい
というわけでタイムスタンプのフォーマットをカスタムしたくなった。
方法
公式のヘルプにある通り、UserScriptでscrapbox.TimeStamp.addFormat()
を使用することで好きなフォーマットを追加することができる。
しかし、UserScriptにscrapbox.TimeStamp.addFormat('HH:mm')
を追加すると、Ctrl+t
を押したときのフォーマットは以下のようになってしまった。
09:11
2024/8/20
[2024/8]/20
2024/8/20 09:11
addFormat()
は既存のフォーマットの先頭に新しいフォーマットを追加してしまうようだ。個人的な好みの話だが、フォーマットの順番は以下のようにしたい。
2024/8/20
2024/8/20 09:11
09:11
これを目指すために試行錯誤した結果、UserScriptは以下のようになった。
scrapbox.TimeStamp.removeAllFormats()
scrapbox.TimeStamp.addFormat('YYYY/M/D')
scrapbox.TimeStamp.addFormat('YYYY/M/D HH:mm')
scrapbox.TimeStamp.addFormat('HH:mm')
removeAllFormats()
でデフォルトのフォーマットを全て削除し、自前で好きなフォーマットを追加した。この場合はaddFormat()
が呼び出された順にフォーマットが追加されるようで、上に書いた自分好みのタイムスタンプの順番にすることができた。
おわり
自分は日報をCosense(旧Scrapbox)で書いており、時間だけのタイムスタンプは作業内容を時間と一緒にメモするのにとても役立っている。
ぜひ自分の使い方に合ったタイムスタンプのフォーマットをカスタムしてみて欲しい。