@takker/cosense-template
定期的にtemplateからページを作り、一定期間書き込みがなければ削除するUserScript
新学期なのでほしいと思ったけどtakker.iconさんが大学院入試で忙しいかwogikaze.icon
テンプレートから繰り返し作成するところで非常に難航してるtakker.icon
無限ループやUIが処理落ちしたりする
AIが代わりにやってくれないかな……
記法の汎用性を落とせば何とかなるかもしれない
新学期なのでほしい……?Summer498.icon
あとlaptopを最近変えたんだけど、途中まで書いたコードが前のlaptopにしか入っていなくて、すぐ参照できないtakker.icon
まあ大体覚えているから復元できるけど、だいぶ量があるからあんまりやりたくない
yuki_minoh.icon
これに類するものをすごい単純な方法で作ったことがある
/public-minaph/日記を自動作成するUserScript
時刻確認するのはログイン時だけ
そのときにユーザー画面ごと遷移させてページを作ってしまう
削除機能はない
スマートじゃないが、そういえばいまだに現役
:projectname/:pagetitle?body=:text系ですねtakker.icon
Release plan
まず0.0.1としてpre-releaseする
しばらく自分用として使い、バグの有無や使い勝手を確認するtakker.icon
もちろん他の人も使っていただいて構わない
使い勝手を教えてくれると嬉しい
特に日時の置換記法の書き心地など
動作が安定したら0.1.0をrelease
このversionから、pin-diary-6で書かれた井戸端日記の設定を、@takker/cosense-templateで置き換える
機能
コードをbundleし直すことなくtemplateを書き換えられる
コードブロックなどにtemplateを書いておき、そのURLをscriptに渡す
一定期間ごとに、指定したtemplateからページを作る
期間は、生成したページのタイトルから自動で設定される (変更可)
生成したページのうち、一定期間書き込みがないものを削除する
日記ページを定期生成したものの、書くモチベが続かず、永遠にテンプレだけのページが生成されてしまうのを防ぐ
期間は設定から変えられる
ピン留めする
設定から変えられる
templateのpreprocess
後述するtemplateの置換記法だけでは表現しきれないものを、JSを使って書き込む機能
templateはpreprocessしたあとに展開される
preprocessはbundleし直さないと変更できない
記法
@と@で囲んだ文字列のうち、特定のものが日時に置換される
例:対象の日時が2024-02-04だった場合
@yyyy-MM-dd@→2024-02-24
yyyyやMMには、日時置換として認識される文字を除いて、任意の文字を入れられる
@yyyyねんMMがつddにち@→2024ねん02がつddにち
置換文字として認識させたくないときは、\を挟む
@\y\y\y\y-\M\M-\d\d@→yyyy-MM-dd
あんまり複雑なものは書くのが大変になるので、@@の外に書いたほうが楽
置換文字
y,yy,yyy,yyyy:年
文字数の分だけ0埋めする
以下同様
Y,YY,YYY,YYYY:week year
週番号を使いたいときに使う(後述)
M, MM:月
d,dd:日
D,DD,DDD:その年が始まってから数えた日数(001~366)
eee:英語の曜日(Sun,Mon,...)
e:曜日の数字。日曜日が0で、土曜日が6
E:日本語の曜日(日,月,...)
w,ww:週番号(日曜日始まり)
YYYYと併用すると便利
例:2024/12/29のとき
@yyyy-\www@→2024-w01
@YYYY-\www@→2025-w01
H,HH:時
m,mm:分
s,ss:秒
前後の日時にずらす
@yyyy-MM-dd+1d@→2024-02-03
その日付の週の特定の曜日にずらす
@yyyy-MM-dd(Wed)@→2024-02-05