template
#日記 のテンプレートを作ってみた
まなてぃページのscript.jsと連動している
code:today.js
// scrapbox-daily-today.js
// タイトル: "YYYY-MM-DD ddd : (書きかけ)"
// タグ: #MM月DD日 #YYYY-MM-DD #YYYY年MM月 #日記
// 使い方: Scrapboxプロジェクト内で実行すると当日のページを作成/遷移します。
// ブックマークレット化する場合は先頭と末尾を (()=>{
// ...code...
// })() で包んで "javascript:" を付けて保存してください。
(function () {
// ==== helpers ====
const pad2 = (n) => String(n).padStart(2, "0");
const dows = "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"; // ddd
const addDays = (date, n) => {
const d = new Date(date);
d.setDate(d.getDate() + n);
return d;
};
const fmtYMD = (d) => ({
yyyy: d.getFullYear(),
mm: pad2(d.getMonth() + 1),
dd: pad2(d.getDate()),
ddd: dowsd.getDay(),
});
// 今日(ローカル)の 0:00 固定で計算
const now = new Date();
const today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
const yest = addDays(today, -1);
const tomo = addDays(today, 1);
const T = fmtYMD(today);
const Y = fmtYMD(yest);
const N = fmtYMD(tomo);
// タイトル(リンクは括弧なしの素タイトルへ)
const baseTitle = ${T.yyyy}-${T.mm}-${T.dd} ${T.ddd};
const title = ${baseTitle} : (書きかけ);
// 指定タグ
const tags =
#${T.mm}月${T.dd}日 +
#${T.yyyy}-${T.mm}-${T.dd} +
#${T.yyyy}年${T.mm}月 +
#日記;
// 本文(ご提示の雛形を尊重しつつ、前日/翌日を自動リンク化)
const body = `${tags}
✍️ アイデアや気づき、メモなど
`;
// 実行中プロジェクト名の推定(/project/page の2つ目要素)
let project = (location.pathname.split("/")1 || "").trim();
if (!project) {
project = prompt("Scrapboxのプロジェクト名を入力してください:", "");
if (!project) return;
}
// 新規ページURL(bodyプリフィル)
const url =
https://scrapbox.io/${encodeURIComponent(project)}/ +
${encodeURIComponent(title)}?body=${encodeURIComponent(body)};
// 遷移
location.href = url;
})();