まなてぃ
https://i.gyazo.com/e3c319730c8f53a81fcb94e880275020.png
■プロフィール
元IT企業の人→フリーランス→派遣社員&ズボラ主婦。
のんびりブログを書いています。データ集計や事務関係のお仕事をしています。
個人的なこと
まなてぃの発信
---.icon
---.icon
⚙️設定
templateページの today.js を実行し、日記テンプレートを作成するスクリプト code:script.js
// UserScriptとしてユーザーページに追加する
addTemplateItemsToPageMenu()
function addTemplateItemsToPageMenu() {
// テンプレートメニューの定義ここから ----------
const __templates = [
{ title: '🥞today', url: '/api/code/manatee-poyon/template/today.js' }
// メニューを追加する場合は、同じように行を追加する。
// titleにはテンプレートメニューに表示する名前を、urlはそのテンプレートがあるスクリプトのURLを指定する
// `api/code/{自分のユーザー名}/{テンプレートファイルを置いているページ名}/{テンプレート名}.js
]
// テンプレートメニューの定義ここまで ----------
const __templateMenuTitle = 'Templates'
scrapbox.PageMenu.addMenu({ title: __templateMenuTitle, image: '/assets/img/favicon/chrome-icon-144.png', onClick: () => { } })
__templates.forEach((template) => {
scrapbox.PageMenu(__templateMenuTitle).addItem({
title: template.title,
onClick: () => { __loadTemplate(template.url) }})
})
const __loadTemplate = templateUrl => {
if (scrapbox.Page.lines && scrapbox.Page.lines.length == 1) {
const line = document.getElementById('L' + scrapbox.Page.lines0.id) const lastChar = line.querySelector('span.char-index:last-of-type')
const textarea = document.getElementById('text-input')
lastChar.dispatchEvent(new MouseEvent('click', {bubbles: true, cancelable: true}))
textarea.dispatchEvent(new KeyboardEvent('keydown', {bubbles: true, cancelable: true, keyCode: 35}))
// テンプレートを読み込む
$('#text-input').load(templateUrl, function (response, status, xhr) {
if (status == "success") {
try {
// 読み込んだテンプレートをテキストエリアにセット
textarea.value = /\.js$/.test(templateUrl) ? eval(response) : response
// テキストエリアのinputイベント
textarea.dispatchEvent(new InputEvent('input', {bubbles: true, cancelable: true}))
console.log("できました")
} catch (ex) {
console.log("だめでした>< \n" + ex)
}
} else {
console.log("だめでした>< \n" + status)
}
})
}
}
}