page-menu-append-link
別プロジェクトにリンクを追加できるようにする
TABLE_URLの指定を固定じゃなくしたい
code:script.js
;(() => {
const TABLE_URL = '/api/table/rmaruon-settings/page-menu-append-link/table.csv'
const PAGE_PREFIX = '' // "pages:_";
const MENU_TITLE = 'append'
scrapbox.PageMenu.addMenu({
title: MENU_TITLE,
})
scrapbox.PageMenu(MENU_TITLE).addItem({
title: 'Enter ...',
onClick: () => {
const title = window.prompt('Enter a title')
if (!title) return
window.open(
scrapbox.Project.name
}/${PAGE_PREFIX}${title}?body=[${encodeURIComponent(
scrapbox.Page.title
)}]`
)
},
})
try {
fetch(TABLE_URL)
.then((res) => res.text())
.then((text) => convertCSVtoTags(text))
.then((tags) => addItem(tags))
} catch (e) {
console.error('Failed to load.')
}
const convertCSVtoTags = (csv) => {
const tags = []
const lines = csv.split('\n').slice(1)
lines.forEach((line) => {
tags.push({ title: title, image: image })
})
return tags
}
const addItem = (tags) => {
tags.forEach(({ title, image }) => {
scrapbox.PageMenu(MENU_TITLE).addItem({
title: title,
image:
image ||
onClick: () =>
window.open(
scrapbox.Project.name
}/${PAGE_PREFIX}${title}?body=[${encodeURIComponent(
scrapbox.Page.title
)}]`
),
})
})
}
})()
table:table
title image
いつかやる
プロジェクトリスト
table:*
🔑
000 【総記】
100 【哲学】
200 【歴史】
300 【社会科学】
400 【自然科学】
500 【工学】
600 【産業】
700 【芸術】
800 【言語】
900 【文学】
bash/zsh