takker99/pin-diary
変更点
機能面
UserScriptをbundleし直さずに日記のテンプレートを変更できる
従来は日記のtemplateをJSで直接指定していました
今回から、コードブロックにある記法で書いたテンプレート文字列を読み込んでテンプレートを作るようにしました
bundleの手間が省けるという個人的な利点だけでなく、複数人でpin-diaryを使っているprojectでも、全員に即座にテンプレートの変更が反映されるという、コミュニティ全体の利点もあります
開発面
今までのpin-diaryのコードもcommitしてあります
documentが自動生成されて大変便利
このrepoにあるのをversion upしてく形式で開発します
似たようなことをwindows10のときに聞いたような……
2024-10-09
11:30:45 listPinnedPagesに深刻なバグを発見()takker.icon
永久にREST APIを叩き続ける
一旦使うの中止してください
修正方法
code:diff
- if ((lastPage?.pin ?? 0) > 0) return;
+ if (unwrapOk(result).count < limit || (lastPage?.pin ?? 0) === 0) return;
code:template
@yyyy/MM/dd@
第@ww@週: 日月火水木金土
2024年 19.95%経過
今日のn年前
JS使わないと書けないような複雑な書式が多い……takker.icon
どうしよう
経過日数は専用の置換文字列を用意すればいい
曜日をハイライトするのはどう定義する?
2024-10-08 すべて専用のplaceholdersを用意して、愚直にreplaceを繰り返すことで解決したtakker.icon
任意のJSを実行できなくするために、新しい構文を用意したという経緯ですtakker.icon
bundleし直さなずにtemplateを変更できるようにする
(複数人projectで)誰でもtemplateを調整できるようにする
そういえば前のバージョンだとソース内にテンプレあったなbsahd.icon
導入方法が知りたいです!基素.icon
まだ開発中で、使えない?
E2Eテストしてないけど使えます
導入に関してはほぼ変えていません
なるほど最新版ではあったんだ基素.icon
そうですtakker.icon
via CLI
via web browser
開発してないです!ごめんなさい!!!takker.icon
テンプレートの記法の検討で詰まったままです……
昼までになんとかします
2024-10-08 17:31:22 開発完了しました
午後までかかってしまった。申し訳ないです
おつかれさまです!🍬逆つ.iconcak.iconbsahd.icon
ありがとうございます!takker.icon
感謝なのですが、自分の質問で「余計なタスク」を割り込ませちゃってないか、不安になった…大丈夫ですか?基素.icon
うぐっ……切迫したタスクは前日に終わったので締切が逼迫している状況では有りませんでしたが、余計なタスクでなかったと言うと嘘になります……takker.icon
もともとは、余裕ができたので今後の予定や学習計画を組もうと思っていた
とりあえず明日以降やると言った修正項目は後回しにします
+1自分がやりたい&タスクがつまらない範囲でやっていただければ基素.icon
まあ、理工系大学生に暇な時なんかないと思うけど
まだREADME.mdは書いてません
ざっくり導入
1. 適当なページ([/motoso/pin-diary/template]とする)のcodeblockにtemplateを書く
例
code:title
創作日記(@yyyy年MM@月)
code:header
[@yyyy-MM-dd-1@]←[創作日記(@yyyy年MM@月)]→[@yyyy-MM-dd+1@]
@MM@もあったほうがよさそうtakker.icon
明日以降実装します
code:footer
titleにページタイトル、headerにページ上部に挿入するtemplate, footerにページ下部に挿入するtemplateを書きます
どれも省略不可です。略すとエラーになります
headerとfooterは略してもいいな……takker.icon
明日以降直します
コードブロックのタイトルはカスタマイズ不可です
2. 次のコードを適当なbundlerでJSに変換し、適当なコードブロックに貼り付けて読み込む
[ERROR] [404 ] Failed to fetch https://scrapbox.io/api/code/villagepump/takker99/pin-diary/example.ts [plugin remote-loader]になっていた基素.icon
s/@takker99/pin-diary/@takker99%252F/pin-diaryでできるwogikaze.icon
bundle.jsでやってみた
エラー内容がtemplateの読み出しのエラーに変わったので進んだっぽい
https://scrapbox.io/api/code/motoso/pin-diary%252Ftemplate/titleにアクセスしに言っている
ダブルエンコードだったのでtitle: "pin-diary%2Ftemplate"からtitle: "pin-diary/template"に試しに変えてみたらエラーは消えたけど何も起きなかった。こうじゃないのか〜
code:example.ts
import { launch } from "jsr:@takker/pin-diary@0.1";
launch("motoso", { project: "motoso", title: "pin-diary%2Ftemplate" });
これで、定期的にpinされるようになります
usageはまだ書いてないです……
templateまわりの機能はsubpackagesとしてexportしているので、それを流用できます
ページの自動生成はpinする機能と密結合しているので、別途pinDiaryをコピペして改変する必要があります。
とは言え、それほど難しくはないと思う
2025-01-06 00:01:55 放置してますほんとすみませんtakker.icon
今日谷川岳から降りてきたところです
お疲れ様です基素.icon
説明なしに新しい名前を出してくスタイル()
2025-02-07 12:41:21 リンクに切り出した
もっと汎用性のある機能を思いついたので、そっちの開発に移ります
すごい基素.iconcak.icon
個人プロジェクトだとゴミ日記問題があるからな~bsahd.icon
2025-01-07 19:02:50 意外と開発に難航しているtakker.icon