Cosenseで着想と既存のテーマを関連づける方法
00
何か思いついたことがあり、それをこのようにして記述するとする。
その際に、「あっ、これはあれに関係するな」とすぐに思いつく場合がある。
その場合は、少なくともリンクを付与することが可能。
「あれ」というキーワードからリンクを作ることができるし、既存のテーマについてそれを表す記号(絵文字でもよい)をつけておけば絞り込みはよりやりやすくなる
例💡断片からの想像
Cosenseの自然な機能で対応できる
では、そうでない場合はどうか?
結びつけられるものが思いつかない、あるいは何かしら結びつくものは思いついているが、それ以外の可能性を探究する場合
既存のテーマすべての記号・絵文字を付与していた場合、少なくともCosenseではそのすべてが表示されない。記号+キーワードで絞り込むことはできても、この場合の用途には適さない。
同様に、ナンバーを付与していたとしても、それは大きな見通しが立つ場合にしか機能しない
こうした場合では、自分が持っている既存のテーマを「一覧」できた方が便利
WorkFlowyのDashboardビューはそれを可能にする
同様のことをCosenseで行うことはできるか?
イメージする機能
ページ右部のボタンは、下・右・左がある。ここに「上」を加える。
そのボタンを押すと、自分が抱えているページ一覧が表示される。
それ以外にも付与できる機能は考えられるが、まずこの基本的な動作から始めてみる
01 既存のテーマを扱うページを作る
既存のテーマを一覧する機能を実装する場合、それをどこに保存しておくのか、という問題が出てくる。
UserScript内に書き込むとアルゴリズムはシンプルになるが使い勝手は極めて悪くなる。
やはり、どこかのページにそれを記述しておき、それを読み込んで一覧を生成する、というのがよいだろう。
この機能を拡張すれば、今表示しているページとは別のページの内容を表示する、という汎用性のある機能になる。
が、今はそこまでは考えない
既存のテーマについては、🗂️倉下忠憲の事語りのページに記述されているが、それ以外のものも多くはいっている。いったん切り分けたページを作るとしておく。 Cosenseは、API経由でページテキスト全体を取得することもできるし、コードブロックだけを抽出して取り出すこともできる。
たとえば、rashitaというページの、script.jsというコードブロックは以下で取得できる
これを使って、theme.txtとか、theme.jsonを書いておけば、コード上の処理はずっと容易くなる
もしこれを使わないなら、ページ本文をすべて取得した上で、何かしらの処理を行うことになる
02 既存のテーマ一覧で表示させたいのは何か?
基本的にテーマ名だけあればいいはず。
概要は説明は不要
リンクになっていればなおよいか?
03 とりあえずの実装
https://gyazo.com/d5abf49a037172ec450f05f26761f2b3
上ボタンを押すと表示、表示された状態でもう一度押すと消去
04 要素の削除
あまりにリストが長いので編集して短くした
https://gyazo.com/d840cb1665c00b8b6e95393f5f3e5edd