このブログは更新を終了しました。移転先はこちらです。

2022-06-02

ツール製作日誌:カード式アウトライナー①機能説明編

 ここ半月ほど、新しいアウトライナーの製作に取り組んでいる。Twitterでは時々それについて呟いているのだが、これと指し示す呼称がなく「今作っているアウトライナー」とか「(引用ツイート内の)これ」とかいう形で呼んでいてもどかしくなってきたので、ズバリ指し示せるように一度記事にしておきたいと思う。


 まず見た目はこんな感じである。



 このツールを一言で表すなら「カード式アウトライナー」だと自分では思っている。というのは、データの基本単位を「カード」とみなし、以下の3つのことを軸にしているからだ。

  1. カードは、分類と作成日時によってアウトライン状に整列する
  2. カードの中にアウトライナー機能がある
  3. カードの中のアウトライン項目を、付箋(≒小さいカード)のように平面に自由配置できる(未実装)

 三番目はまだコードを練っている途中なのだが、そう遠くないうちに実装するだろうと思う。このように「カード」と「アウトライン」をいくつかの観点で結びつけているものなので、自分の中では「カード式アウトライナー」ということにしている。


 作った理由や背景にある考えを語る前に、一体これは何でどう動くものなのかを具体的に書いておきたいと思う。バックグラウンドは記事を分けてツール製作日誌:カード式アウトライナー②背景説明編に書くことにする。


 まず、右ペインでカードの作成・編集をする。上部のInfo欄はメタデータの記入場所で、折り畳むことができる。


 記入日時は、新規作成時に自動で現在日時が設定されるが、自由に変更できるようにしてあり、過去や未来の日時にしたい時にも困らない(そうしたいことは数十件に一件あるかないかという頻度だが、やりたい時にできないと地味に困る)。

 用の済んだカードはアーカイブにチェックを入れれば左ペインの一覧から非表示にできる。

 大分類・小分類・件名と三段階の分類がある。ただし、これらは「混ざると気持ち悪いものを混ぜない」「頭を使わずに探し出せるようにする」という為に設定するものであって、図書分類のように内容の種類によって分けるとかいうことではない。後からアクセスする可能性が高くないものは、大分類に「タイムライン」、小分類に「感想」を指定して「とりあえず作成日時順に並べれば目に入る」という形にしている。

 大分類と小分類の選択肢は右の編集ボタンで追加・編集でき、設定は必須にしている。


 件名は空でもよく、過去に使った件名は記入欄をクリックすればサジェストされるようになっている。大分類・小分類が一致しているものがリストの上部に並ぶが、他の分類で使ったものも文字色を薄くした状態で並べるようにしている。


 タグ欄は欄があるだけで使用していないが、「のらてつの茶の間」というミニブログの編集をここでやってしまおうかと考えており、その時に必要になる予定である。


 Info欄の下がカードタイトルで、その下がカードの本体部分となるアウトライナー機能である。(スクリーンショットはこの記事を書くにあたって作ったアウトライン状のメモ)


 アウトラインとしての表示、折り畳み、並べ替えができるので、【基礎講座1】アウトライナーを定義する|Tak. (Word Piece)|noteに示されているアウトライナーの定義は一応満たしているだろうと思う。ズーム機能は無いが、個々のカードが京大式カードくらいの粒度をイメージしたものなので、これ以上のズームは必要としていない。

 アウトライン内に[[ユニークID]]の形または[[カードタイトル]]の形で書くと、そのカードのタイトルとアウトラインが下部に構築される。そしてCtrl+クリックでそのカードを開く。今開いているカードが他のカードでリンクされていれば、そのバックリンクも下に並ぶ。また、それぞれのカードだけでなくその中のアウトライン項目にも全てユニークIDが設定されており、あるカードの特定のアウトライン項目に対するリンクも貼ることができるようにしてある。

 今のところはカードAの中にあるアウトライン項目をカードBに移動するというような機能は付けていないが、やろうと思えばどうにかなるので、まあ必要を感じたらそういうこともできるようにしたいと思う。ちなみにグループ化機能(指定した一つ以上の項目を子項目とする親項目を生成する)は実装してある。

 一番下はノート欄になっている。アウトラインではなく普通に文章で書きたい時はここに書く。欄は狭いが文字数制限はない。


 左ペインは謂わばカードボックスになっている。並び順は分類と作成日時(自由に変更可)に依存するが、何を表示するかというのは色々と条件を設定できる。

  • 期間を自由に指定できる。今日を基準にして一週間以内というような基本的な設定はドロップダウンリストで選択できる。
  • 降順か昇順かを指定できる。
  • 大分類のうち、表示するものしないものを指定できる。
  • キーワードでフィルタリングできる。今のところ一語でしか検索できないが、代わりにどの属性の値かを指定できるようにした。無指定なら全属性を検索する。
  • アーカイブ送りにしたカードの表示・非表示を選択できる。
  • フラットモード(大分類ごとに分けず、作成日時順にリスト状に並べる)を選択できる。
  • タイムライン項目は小分類で階層化するか否かを指定できる。
  • それ以外の分類は、件名での階層化、年月日での階層化をするか指定できる。

 これらの指定によって今の自分の気分・関心に合わせた表示をできるようにしている。

 そして並んだカードのタイトル左の「▶」をクリックすれば、そのカードのアウトライン欄の中身を確認することができる。カードボックスなのではあるが、アウトライナーっぽい見た目にもなる。(編集できるようにはしていない。)



 なおフラットモードに設定すると以下のようになる。階層化はされなくなり、作成日や分類は少し主張を抑えた形でタイトルの上に表示される。タイトルの[]内には、ひと目で種類が判るように小分類と件名を表示している。



 機能を書いておかないとどういう発想でできているものか伝わらないだろうと思ってとりあえず基本的な機能を駆け足で記載した。工夫の産物みたいなものはまだ他にあるが、ツールの説明をしたくて書いているのではないので省略する。


 なお、スクリーンショット内にあるように、自分ではこれを「Protean Outliner」と名付けて呼んでいる。読みはプロティエンアウトライナーということになろうか。左ペインの並びを条件次第で色々に変えられることから「変幻自在」的な意味をつけたいと思い、ちょっと調べて出てきたのがこの語で、多分日常で使うことはない文語であろうと思うので固有名詞っぽくするには良いかなと思って選んだ。

 普段Twitterなどで指す時には「(自作の)カード式アウトライナー」というような形で書くことにしようかと思う。


 続きはツール製作日誌:カード式アウトライナー②背景説明編へ。