Scrapboxにペリマインドを実装する
code:remind.js
const res = await fetch("/api/users/me");
const username = (await res.json()).name;
const remindIcon = "peremind";
const regExp = new RegExp(^\\s*\\[${remindIcon}\\]\\s*\\[${username}.icon\\]\\s*(.*)$);
const callback = () => {
if (scrapbox.Layout !== "page") return;
const line = scrapbox.Page.lines.find(
(line) => regExp.test(line.text)
);
if (!line) return;
alert(line.text.match(regExp)1); };
callback();
scrapbox.addListener("page:changed", callback);
すぐ書けそうだったので書いてしまいましたtakker.icon
もしsta.iconさん自身で実装したかった場合はすみません……つい先に実装してしまいました
おおおお、ありがとうございますsta.icon
すぐ書けるのすごすぎる
微修正して動きました
個人的好みで "peremind.icon"; にした
あ、ふつうに.iconつけるの忘れてた……takker.icon
やっぱテストを書かないコードはボロが出やすいな
正規表現は ${username}.icon、が正しい(変数展開位置が少しずれてた
ほんとだ。気づかなかったtakker.icon
サンクスです
ページを開いたらリマインドしてくれる仕組みのことらしいnishio.icon ほへ~、なんか良さげですねぇair34n.icon使ってみなわからんけど.....
合ってます
ページリマインドでペリマインド、と安直なネーミングですが
昨日思いついたばかりなので実用性はまだ不明ですsta.icon