アイデアラインからページを切り出すUserScript
自分の使い方の場合は、
Scrapbox標準のNew Pageのfrom hogehoge と一行目が必要ない
以下のような動作が望ましい
script.js scrapbox.PopupMenu.addButton({
title: 'branch',
onClick: text => {
const lines = text.split(/[\r\n]/g)
const title = lines[0]
.trim()
.replace(/\[[^\]]+.icon\]/gm, '')
.replace(/[\[\]]/g, '')
const projectRoot = (() => {
const tmp = location.href.split('/')
tmp.pop()
return tmp.join('/')
})()
const currentPageTitle = decodeURIComponent(location.href.split(/\//g).pop())
lines.shift()
const body = encodeURIComponent(lines.join('\n'))
window.open(`${projectRoot}/${title}?body=${body}`)
return `[${title}]`
}
})
参考にしたUserScript
script.jsscrapbox.PopupMenu.addButton({
title: 'NewPage',
onClick: text => {
const lines = text.split(/[\r\n]/g)
const title = lines[0]
.trim()
.replace(/\[[^\]]+.icon\]/gm, '')
.replace(/[\[\]]/g, '')
const projectRoot = (() => {
const tmp = location.href.split('/')
tmp.pop()
return tmp.join('/')
})()
const currentPageTitle = decodeURIComponent(location.href.split(/\//g).pop())
lines.unshift(`from [${currentPageTitle}]`)
const body = encodeURIComponent(lines.join('\n'))
window.open(`${projectRoot}/${title}?body=${body}`)
return `[${title}]`
}
})
上をアレンジした自分バージョン
もともとのページに記述が残る
デイリータスクリストからプロジェクトページへの追記に使っている
今日やったことの一覧から、プロジェクトごとの行動履歴へ
script.js scrapbox.PopupMenu.addButton({
title: 'Append',
onClick: text => {
const lines = text.split(/[\r\n]/g)
const title = lines[0]
.trim()
.replace(/\[[^\]]+.icon\]/gm, '')
.replace(/[\[\]]/g, '')
const projectRoot = (() => {
const tmp = location.href.split('/')
tmp.pop()
return tmp.join('/')
})()
const currentPageTitle = decodeURIComponent(location.href.split(/\//g).pop())
lines.shift()
lines.unshift(`from [${currentPageTitle}]`)
const body = encodeURIComponent(lines.join('\n'))
window.open(`${projectRoot}/${title}?body=${body}`)
return `${text}`
}
})