Scrapbox用のブラウザ拡張にScrapScriptsがある。
これを導入すると、リンクにホバーしただけで「関連ページ」を表示してくれたり、
リンク先のページの中身を表示してくれたりする。
これが、ときとばあいによっては、たいへん便利だ。
で、一つアイデアがあった。
■
Scrapboxでは、下に関連ページが表示されるが、それを「次々に」見ていきたいとき、若干もどかしさを感じる。リンクを踏めばいいだけなのだが、ページを移りたくない、という気持ちが湧いてくることがあるのだ。
それは新しくタブを開くのもなんとなくシャクだし、というようなよくわからない抵抗感があるのかもしれないし、ぜんぜん別の何かがあるのかもしれない。
ともかく、「そのページ」で関連ページの中身を閲覧したいと感じた。
そこで、ScrapScriptsを改造して、それを実現してみた。
ソースコードは以下で公開されているので、それに手を加える。
daiiz/ScrapScripts: Unofficial browser extension for Scrapbox
これをコピーし、「text-bubble.b.js」の中身を少しだけ書き換えた。具体的には、a.page-linkをli.page-list-itemに置き換え、keywordに放り込むものを、$a[0].innerTextから$a[0].innerText.split(/\r\n|\r|\n/)の[0]番目の要素に変えた。
で、そこからnpm run bulidとかいろいろやって、Chromeに放り込むことができた(なにせはじめて拡張をいじっているので、わからないことが多い)。
それを動かしたものが以下だ。
あくまでプロトタイプとして作ったので、細かく気になる点はいくつかあるが(たとえば重なって読めない部分が出てくるなど)、それでも動作感は確認できた。
で、この動作は、一見楽しそうに思えるのだが、二つ大きな問題がある。
一つは、ページを「見るだけ」になってしまうこと。Scrapboxは閲覧したついでにちょこっと書き換えるというような細かいリファクタリングが肝になるのだが、この「閲覧方法」だと見るだけで、触れない。触るためにはリンクをクリックする必要があり、だったら初めからそうすればいいじゃん、ということになる。
が、その点は、簡易閲覧なのだからと割り切るとしても、もう一つの問題は、「そのページ」の本文が見えないことである。
私がやりたいのは、そのページの概念を中心として、その周辺の概念も巻き込みながら、何かを考えることである。が、関連ページは画面の下の方にあるし、新しく開くページの本文も下方向に表示される。結果、それらを綺麗に表示させると、そのページの本文は視野からまったく消えてしまう。
これはどう考えてもよろしくない、というか、あまり意味のない行為である。唯一効果があるとすれば、ハッシュタグ的に使っているページ、つまりページの本文がないページでの動作なのだが、それは今のコードの書き方だと不具合が多いので、どんな感触がするのかは確かめられていない。
■
とりあえず、上記のような感触から、私はこうして新しく開いたページを「移動」させたいと思った。マウスで摑み、ドラッグで移動させられる。そのような動作を欲した。そうすれば、重なりは気にならなくなるし、上の方にドラッグしていけば、本文と並べて表示もできる。
しかし、そうすれば本文周りはごちゃごちゃしてくるだろう。それに合わせてページのCSSも変える? どんどん迷宮に嵌っていきそうだ。
これは単純に関連ページの本文を表示させるためのUIがまだ検討不足なのか、そもそも関連ページの本文を並べて表示させたいという欲求そのものが実際性を欠いているのか、そのどちらなのだろうか。少なくとも、私は情報カードのメタファーに引きずられ過ぎている可能性は否定できない。
それでも、と思うのだ。情報を並べて表示させたい欲求はそんなに間違ったものではないだろう、と。
というわけで、現状はvivaldiを使ってタブをタイリングするのが最適解であるという残念な結論にいたった。情報整理ツールの設計というのは、かくも難しいものなのである。
▼Scrapboxの入門書:
売り上げランキング: 5,003