ピンしてるページにジャンプするメニュー
ピン留めしてるページに行くには、
プロジェクトのトップに行く
目的のページをクリックする
っていう手順なんだけど、
大体ずっと週報ページや日報ページを開いているときに「トップに戻るのめんどくさい」と思ったので作ったよ。
こんな感じ
https://gyazo.com/b1f67be7c2c7dc8f1984d792dab4ff2d
Shift や Ctrl を押しながらクリックしたときの動きは、ブラウザの動作に準ずるはず。
ただ、普通のScrapboxリンクをクリックするのと違って、ページ丸ごと読み込み直しになるので遅く感じるなー。
ここの改善方法わかったら直します。
なんか早くなった気がするな!? 何もしてないけど嬉しいな! 2022-03-19
インポート構文
code:import.js
import "/api/code/scrasobox/ピンしてるページにジャンプするメニュー/script.js"
メニューアイコンをFont Awesome版にするUserCSS (オプション)
code:style.css
a#Pinned.tool-btn:hover { text-decoration: none }
a#Pinned.tool-btn::before { position: absolute; content: '\f08d'; font: 900 22px/46px 'Font Awesome 5 Free' }
a#Pinned.tool-btn img { opacity: 0 }
code:script.js
(() => {
const menuTitle = 'Pinned'
scrapbox.PageMenu.addMenu({
title: menuTitle,
image: 'https://upload.wikimedia.org/wikipedia/commons/a/a5/OOjs_UI_icon_pushPin.svg',
onClick: () => {
scrapbox.PageMenu(menuTitle).removeAllItems()
fetch(/api/pages/${scrapbox.Project.name}, { credentials: "include" })
.then(res => res.json())
.then(data => {
const pinnedPages = Array.from(data.pages).filter(page => 0 < page.pin)
pinnedPages.forEach(page => {
scrapbox.PageMenu(menuTitle).addItem({
title: page.title,
onClick: e => { e.currentTarget.setAttribute("href", ./${page.title}) }
})
})
})
}
})
})();
#ページメニュー #UserScript #楽をしたい
初出 2018-06-17
2018-07-20 クリック後の処理をシンプルにした
2021-07-06 Font Awesome のアップデートに対応
2021-08-12 ページメニューボタンのスタイルを修正
2022-03-19 追記