Scrapboxの検索結果一覧をリンクつきで取得する
インスパイア by:https://twitter.com/ottaka18/status/1512762487287865345
API方式かブックマーク方式か
API方式
https://scrapbox.io/api/pages/:projectname/search/query
ページのメニューにアイコンを追加
アイコンをクリックしたらダイアログが表示される
ダイアログに検索したい文字列を入れる
その文字列で、上のAPIを叩く
APIの結果から、各ページタイトルを取得し、前後にブラケットをつける
トータルの結果を新規ページで出力
ブックマーク方式
https://gyazo.com/7e8e6af54ac2267260e38e8e5b4f159f
このページの要素を取得する。
class="title-with-description"に入っている。
Document.getElementsByClassName()で取得する
code:script.js
var lists = document.getElementsByClassName('list')
var list = lists0
if (list.classList.contains('create-searched-page')){
var list = lists1
}
var elements = list.getElementsByClassName('title-with-description');
var html = "";
for (let i = 0;i < elements.length;i++){
html += '+ elementsi.innerText + '' + '\n';
}
var win = window.open();
win.document.open();
win.document.write(<title>temporary</title>);
win.document.write('<pre>');
win.document.write(html);
win.document.write('</pre>');
win.document.close();
ブックマーク登録用
code:bookmark.js
javascript:(function(d,s){ s=d.createElement('script');s.src='https://scrapbox.io/api/code/rashitamemo/Scrapbox%E3%81%AE%E6%A4%9C%E7%B4%A2%E7%B5%90%E6%9E%9C%E4%B8%80%E8%A6%A7%E3%82%92%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%A4%E3%81%8D%E3%81%A7%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B/script.js';d.body.appendChild(s);})(document)
使用例
https://gyazo.com/d26fb6e86434967fa6cf59536ce8f99chttps://gyazo.com/41e7d2552d6dc023d0b7f73f573fec2e
一番下にundefinedが3つ入ってしまう謎。
rashita.icon解決2022/4/10
thx:のらてつさん。
実体ページが存在するキーワードの場合
create-searched-page が存在しない
お仲間ページ
Scrapboxサルベージ(UserScript)
Scrapboxハック