template
#日記 のテンプレートを作ってみた
まなてぃページのscript.jsと連動している
code:today.js
// scrapbox-daily-today.js
// タイトル: "YYYY-MM-DD ddd : (書きかけ)"
// タグ: #MM月DD日 #YYYY-MM-DD #YYYY年MM月 #YYYY-circle{1..4} #日記
// 使い方: 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(),
});
// 四半期タグ(1-3:1, 4-6:2, 7-9:3, 10-12:4)を返す
const quarterCircleTag = (date) => {
const year = date.getFullYear();
const month = date.getMonth() + 1; // 1..12
const q = Math.ceil(month / 3); // 1..4
return #${year}-circle${q};
};
// 今日(ローカル)の 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}月 +
${quarterCircleTag(today)} +
#日記;
// 本文
const body = `${tags}
#不正出血なし
📌TOBEリスト
トイレ掃除
👍ふりかえり
よかったこと・ありがとう・きもち
✍️ アイデアや気づき、メモなど
`;
// 実行中プロジェクト名の推定(/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;
})();
code:monthly.js
// monthly.js
// タイトル: "YYYY年MM月"
// タグ: #MM月DD日 #YYYY-MM-DD #YYYY年MM月 #YYYY-circle{1..4}
// 使い方: 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(),
});
// 四半期タグ(1-3:1, 4-6:2, 7-9:3, 10-12:4)を返す
const quarterCircleTag = (date) => {
const year = date.getFullYear();
const month = date.getMonth() + 1; // 1..12
const q = Math.ceil(month / 3); // 1..4
return #${year}-circle${q};
};
// 今日(ローカル)の 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}月;
const title = ${baseTitle};
// 指定タグ(四半期タグを追加)
const tags =
#${T.yyyy}年${T.mm}月 +
${quarterCircleTag(today)} +
#ピュアライフダイアリー;
// 本文
const body = `${tags}
記入日: #
はじまり
TOBEサークルのページを読み返して今月のTOBEリストを書きましょう
🌟今月のTOBEリスト
(意識したいこと・やりたいこと・感性をみがくテーマなど)
🎈TOBEを叶えるために手放すこと
---.icon
記入日: #
ふりかえり
💡TOBEリストの振り返り
(やったこと・感想)
😊今月よかったこと、感謝したこと
今月感じた変化
深めたいと思ったこと
新たに取り組みたいと思ったこと
`;
// 実行中プロジェクト名の推定(/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;
})();
code: tobe_circle.js
// tobe_circle.js
// タイトル: "YYYY-circle{1..4}"
// タグ: #YYYY年MM月(当該四半期の3ヶ月分) #YYYY-circle{1..4} #ピュアライフダイアリー #ピュアライフサークル
// 使い方: Scrapboxプロジェクト内で実行すると四半期ごとのピュアライフサークルページを作成/遷移します。
(function () {
// ==== helpers ====
const pad2 = (n) => String(n).padStart(2, "0");
// 四半期番号を返す(1–4)
const getQuarter = (month) => Math.ceil(month / 3);
// 四半期の開始月を返す(1, 4, 7, 10)
const quarterStartMonth = (quarter) => (quarter - 1) * 3 + 1;
// 四半期タグ(例: "2025-circle4")
const quarterCircleTag = (date) => {
const year = date.getFullYear();
const month = date.getMonth() + 1;
const q = getQuarter(month);
return ${year}-circle${q};
};
// 今日の日付(ローカル時間 0:00 固定)
const now = new Date();
const today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
const year = today.getFullYear();
const month = today.getMonth() + 1;
const quarter = getQuarter(month);
// 四半期の3か月分タグ生成(例:#2025年10月 #2025年11月 #2025年12月)
const startMonth = quarterStartMonth(quarter);
const monthsInQuarter = startMonth, startMonth + 1, startMonth + 2;
const quarterMonthTags = monthsInQuarter
.map((m) => #${year}年${pad2(m)}月)
.join(" ");
// タイトルとタグ
const title = ${quarterCircleTag(today)};
const tags = #${quarterCircleTag(today)} #ピュアライフダイアリー #ピュアライフサークル ${quarterMonthTags};
// 本文テンプレート
const body = `${tags}
TOBEサークル
ありたい自分
なりたい自分
やりたいこと
やりたいと思っているけど我慢していること
本当は好きなこと
新たに取り組んでみたいこと
など、自分にとってのTOBEを8つの分野ごとに書いてみましょう!
叶えたい夢や挑戦したいことが浮かぶ場合はそれも書きましょう。
ここに書けないことはアナログ手帳に書いておきましょう。
---.icon
記入日: #
メンテナンス.iconメンテナンスワーク日: #
🎷しゅみ
📚まなび
🥰けんこう・びよう
🏡くらし
💖パートナーシップ・かぞく
💻しごと
🧑‍🤝‍🧑にんげんかんけい
💰おかね
`;
// プロジェクト名の自動取得 or 手動入力
let project = (location.pathname.split("/")1 || "").trim();
if (!project) {
project = prompt("Scrapboxのプロジェクト名を入力してください:", "");
if (!project) return;
}
// URL生成
const url =
https://scrapbox.io/${encodeURIComponent(project)}/ +
${encodeURIComponent(title)}?body=${encodeURIComponent(body)};
location.href = url;
})();