yozba
https://gyazo.com/4588a627d8066b90990aba45d53db610
これは何
軽率なアウトプットまとめ用ページ
現在は月ごとにまとめているけど普通に一つ一つページを作った方がいいような気がする(そっちの方がScrapboxを使う上で適している)
ただその場合タイトルを付けるのが面倒くさい
この手法を取ることにしました2023/6/24
Scrapbox的な使い方にして適当なタグ付けしといたらタイトルいらないかなと思ったInstagramもそうだし
userscript
code:script.js
scrapbox.PopupMenu.addButton({
title: 'text',
onClick: text => text.split(/\n/).map(line => [( ${line}]).join('\n')
})
code:template.js
/* MIT License Copyright (c) 2020 ci7lus */
export const importExternalJs = async (url) =>
new Promise((res, rej) => {
if (document.querySelector(script[src="${url}"])) res()
const script = document.createElement("script")
script.src = url
script.addEventListener("load", res)
script.addEventListener("error", rej)
document.body.appendChild(script)
})
importExternalJs(
);
export function insertText({text}) {
const cursor = document.getElementById('text-input');
cursor.focus();
const start = cursor.selectionStart; // in this case maybe 0
cursor.setRangeText(text);
cursor.selectionStart = cursor.selectionEnd = start + text.length;
const uiEvent = document.createEvent('UIEvent');
uiEvent.initEvent('input', true, false);
cursor.dispatchEvent(uiEvent);
};
scrapbox.PageMenu.addMenu({
title: DailyReport,
onClick: () => {
if (!scrapbox.Page.lines || !scrapbox.Page.lines.length == 1) return
const input = prompt(
"日報テンプレートを展開したい日付を相対(d+)または絶対(2020-1-1)で(入力なしで今日)"
)
if (input === null) return
const diff = parseInt(input.trim() || 0)
const abs = input.split("-").length === 3 && dayjs(input)
if ((Number.isNaN(diff) && !abs) || (abs && !abs.isValid())) return
const today = abs
? abs.startOf("days")
: dayjs().startOf("days").add(diff, "days")
const yesterday = today.clone().subtract(1, "days")
const tomorrow = today.clone().add(1, "days")
console.log(today.format(), yesterday.format(), tomorrow.format())
const conf = confirm(対象の日付は ${today.format("YYYY.MM.DD")} ですか?)
if (!conf) return
insertText({
text: ${today.format("YYYY.MM.DD")}
})
},
})