ScrapboxをAPI経由で取り出すブックマークレットを作ってみた ScrapOut

出力も安心。


Scrapbox API

ScrapboxAPIを実装してるんですね。これなら他のアプリに転送するのが簡単です。もちろん、APIを使うと、取得に時間差が出てしまうのは難点。でも、そこを大目に見てもらえれば、画像やテーブルがScrapbox記法のまま取り出せてありがたい。

https://scrapbox.io/api/pages/プロジェクト/タイトル


ScrapOut

APIを使うと、ページ情報がJSON形式で返ってきます。その情報を整理し、lines内のtextを抜き出すと、本文が再構成される。それを転送するブックマークレットです。Scrapboxのノートを開き、このブックマークレットを起動してください。するとTextwellにテキストが書き込まれます。Scrapbox記法が消えないから、書き直すのが手軽で素敵。

最後のlocationのところを書き換えれば、別のエディタにも対応します。MacならBearにURLスキームがあるのでパソコンでも使えるんじゃないかな。

javascript:url=location.href.replace(/io\//,"io/api/pages/");x=new XMLHttpRequest();x.open("get",url,false);x.send(null);d=JSON.parse(x.responseText);s=d.title+"\n\n";for(i=1;i<d.lines.length;i++) s+=d.lines[i].text+"\n";location="textwell://replace?text="+encodeURIComponent(s);
登録リンクはこちら→ http://tinyurl.com/mdbddy6


Textwellから書き込み

Scrapbox用のiPhoneアプリが無いならCoastを使おう
Scrapboxに似合うWebブラウザを探してみました。ScrapboxGoogle認証が条件。それをクリアできるなら専用に使えそう。Scrapbox以外は開かないようにする。何度も読み込むこともな...

TextwellからScrapboxへの転送は前回の記事を参照してください。Coastを経由するアクションですが、変数HOMEの先頭を coast-https: から https: に変更すればSafariも起動できます。ブックマークレットを多用するなら、そちらがいいかも。

実は、ScrapboxではUserScriptが使えるようなので、最終的にはCoast内でブックマークレットを動かす仕組みを実装できるかも知れません。そうなったら、あ、どうなっちゃうんだ? 無敵エディタが誕生する瞬間に立ち会っている気がしてきた。


まとめ

すでに認証されているところで動くので、非公開プロジェクトでも使えます。Webアプリの利点ですね。機能拡張がユーザー・レベルで行いやすい。

EvernoteやSimplenoteは出力に配慮がなく、今ひとつ使いづらかった。テキストの流れが一方通行になりがちでした。Scrapboxはそのハードルを楽々と超えたかも。Textwellに戻せるなら、iPhone/iPadでは何も困りません。再利用の敷居が低いです。