Cosenseでデイリーページを生成するUserscript
「その日の日付をタイトルとするページを作成してテンプレートを書き込んで開く」というボタンを追加するコード。
そもそもの話、デイリーページを作ることが果たしていいことなのかはわからない。
やっている人は結構いるっぽい。
いわゆる「Bullet Journal (BuJo)」的なことをCosense上でやっているのだと思う。
トップページを開いた時に、日付タイトルのページばかり並んでいたらあんまりワクワクしないかも……
ctrl + tで日付を入力する公式機能(押すたびに形式が変わる)でも、「2026/5/12」→「2026/5/12」→「2026/5/12 16:45」という感じで、日付単位のページ作成は暗に推奨されていないようにも見える。 が、まぁ物は試しということで作ってみた。
code:daily_page.js
scrapbox.PageMenu.addMenu({
title: 'Today',
onClick: () => {
const project = ''; //ここにプロジェクト名を入れる
const formatDate = d => {
const year = d.getFullYear();
const month = d.getMonth() + 1;
const date = d.getDate();
return ${year}/${month}/${date};
};
const formatMonth = d => {
const year = d.getFullYear();
const month = d.getMonth() + 1;
return ${year}/${month};
};
const today = new Date();
const prevDay = new Date(today);
prevDay.setDate(today.getDate() - 1);
const nextDay = new Date(today);
nextDay.setDate(today.getDate() + 1);
const title = formatDate(today);
//以下でデイリーページのテンプレートを指定
const lines = [
'#デイリーページ',
← [${formatDate(prevDay)}] | [${formatMonth(today)}] | [${formatDate(nextDay)}] →,
'',
];
const body = encodeURIComponent(lines.join('\n'));
location.href =
https://scrapbox.io/${project}/${encodeURIComponent(title)}?body=${body};
},
});