※当サイトはアフィリエイトプログラムによる収益を得ています。

Scrapbox入門04「ブックマークレット」

倉下忠憲今回は、Scrapboxにページをさくっと作れるブックマークレットを紹介します。

ちなみに、内容についての詳しい話や、そもそもScrapboxってなんやねん、については書籍『Scrapbox情報整理術』をご覧ください(つい最近Kindle版も発売されました)。あるいは、Scrapbox研究会にも情報が集まっているのでそちらを参照してください。



下準備

まず、左上のグローバルメニューから、「settings」ページに移動しましょう。

そして、「Page Data」のタブを表示させます。

ここに表示されている「」をブラウザのブックマックメニューバーに移動させれば登録完了です。



実行

では、実際にこのブックマークレットを使ってみましょう。

参照したいWebページを開いた状態で、先ほど登録したブックマークレットをボチっと押します。

※ダイアログが表示されるのでOKボタンを

すると、Scrapboxの新しいページが開きます。そこには、先ほど開いていたWebページのタイトルとURLが記載されています。クリップ成功です。

もし、ページを表示しているときに、何かしらのテキストを選択している場合は、そのテキストも一緒にScrapboxページに取り込まれます。

引用したい文言がある場合は、こちらのバージョンでやってみましょう。

解剖

ここでブックマークレットの中身を見てみます。

ブックマークレットとは、ブラウザの「お気に入り」に登録して使えるJavaScriptのことであり、つまりその中身は、JavaScriptのコードです。

実際、登録したブックマークを覗いてみると、URL欄にはjavascript:で始まる文字列が入っています。それがJavaScriptのコードというわけですね。

javascript:(function(){var%20title=window.prompt('Scrap%20"Scrapbox"%20to%20%E5%80%89%E4%B8%8B%E5%BF%A0%E6%86%B2's%20project.',document.title);if%20(!title)%20return;var%20lines=['','['+window.location.href+'%20'+document.title+']'];var%20quote=window.getSelection().toString();if%20(quote.trim())%20lines=lines.concat(quote.split(/\n/g).map(function(line){return%20'%20>%20'+line}));lines.push('');var%20body=encodeURIComponent(lines.join('\n'));window.open('https://scrapbox.io/lively-cell-2601/'+encodeURIComponent(title.trim())+'?body='+body)})();

はい、まったくわかりませんね。

でも、やっていることはそう難しいものではありません。細かい部分を端折れば、表示されているページの情報を取得し、その形を整えた上で、Scrapboxプロジェクトのページを開いているだけです。

でもって、ここがポイントです。Scrapboxでは、ページを開けば、ページが作れるのです。

open url

たぶん、「ちょっと何言っているかわかんないんですけど」だと思いますので、もう少し詳しくみていきましょう。

たとえば、自分のプロジェクトのURLの後ろに、まったく存在しないページのタイトルを付けて表示させてみましょう。たとえば、https://scrapbox.io/rashitamemo/abc のような感じです。

※ここに直接abcを追加して、リターン

すると、以下のようなページに移動します。

abcというページタイトルを持つ、中身がまだ存在しないページです。これはオレンジ色のリンクを作って踏んだのと同じ状況です。まあ、やっていることは同じですね。

で、これが意味することは、Scrapboxの外から新規ページを作成したい場合は、APIでnewだとかcreateだとかややこしいコマンドを叩く必要はなく、単にそのページのタイトルをプロジェクトのURLの後ろにくっつけて、そのULRをopenしてしまえばOKだということです。

たとえば、そのプロジェクトに20180831というページが存在しなくても、そのページを作りたいな〜と思った場合、https://scrapbox.io/hogehoge/20180831というURLを何かしらのツールなりプログラムで開いたら、そのページの作成画面に一気にジャンプできる、ということです。

ページを開くことは、簡単なコードで実現できます。以下のページも参考にしてください。

プログラムを利用する方法

本文つきで

で、上のページにも紹介されていますが、単にタイトルを指定したページを新規作成するだけでなく、本文を入れることも可能です。構文は以下の通り。

https://scrapbox.io/プロジェクト名/ページタイトル?body=本文

ページタイトルの後ろに?body=を付け加え、その後に本文となるテキストをセットすればOKです。で、そのURLにアクセスすれば、本文つきのページが新規作成されます。
※ちなみに本文はURLエンコードが必要。

※こういうULRだと

※こういうページにジャンプ

上記は新規作成の場合ですが、もしそのページがすでに存在している場合なら、本文は追記される形になります。

でもって、先ほど紹介したブックマークレットも、この機能を利用して新規ページの作成しています。逆に言えば、この機能の要点さえ踏まえおけば、ブックマークレットの動作を修正したり、まったく新しいものを作ったりもできます。

さすがにそれは上級者編ですが、たとえば以下のようなブックマークレットが参考になるかもしれません。

見たまんまスクラップ – Scrapboxとあそぶ

AmazonからScrapboxにスクラップするブックマークレット – Scrapbox研究会

さいごに

この「URLにアクセスしたらページが作成できる」という機能は、ブックマークレットだけでなく、Rubyのようなプログラミング言語からページを新規作成する場合にでも使えます。覚えておけば、いろいろ応用範囲は広がるでしょう。

日記風のページをRubyで作成する – Scrapbox研究会

とは言え、あまりページをホイホイ、サクサク作っても、たいして意味はありません。大切なのは、ページリンクを貼ることであり、それを割愛した「情報収集」は、その場所をゴミ屋敷化しかねません。

それでも、ページ作りの手間が多少減るのは悪いことではないと思うので、今回紹介したようなブックマークレットやスクリプトも活用してみてください。

▼今週の一冊:

Scrapboxについて文字でどどーんと解説したのが『Scrapbox情報整理術』ですが、漫画でその魅力を伝えた本もあります。とても楽しく読めるので(しかも無料)、ぜひチェックしてみてください。


▼編集後記:
倉下忠憲


体調不良とイベントで、8月はあっというまに過ぎ去ってしまいました。逆に言うと、原稿の締切がぎゅんと近づいてきました。まあ、あんまり深く考えすぎるとメンタルダメージが発生してしまうので、できるだけ気構えずに、粛々と原稿を進めたいと思います。


▼倉下忠憲:
新しい時代に向けて「知的生産」を見つめ直す。R-style主宰。メルマガ毎週月曜配信中