メモをアプリケーションに依存させたくない
メモをアプリケーションに依存させたくない
ノートより
Wikiとhowmとメモツール的な事をまた考えていた。WIkiNameを作るのはやっぱりかったるい。 特に今日は、どこに作るのかを考えるのがかったるい、という問題を考えていた。 WikiNameのファイル名のmdはこれで良いと思っているとする。
で、単にWikiNameのmdファイルを作って置くだけにしてたどる方を後からどうにかする方向でなんとかならんかなぁ、と考えて、 ハッシュタグとかバックリンクがあればいいかな、という気はしていた。
でもSAFは結構遅いので、このRandomThoughtsを表示する都度毎回全部検索させるのもちょっと躊躇する(どのくらい掛かるかは試してないが)。 Github Pagesに公開する時にバックリンクを生成するスクリプトは、まぁやれば出来そうだが、webでしか使えない機能にはあんまり依存したくないよなぁ。
とそこまで考えて思った事として、メモをアプリケーションの機能にあまり依存させたくは無いよなぁ、と思った。 Unix的ファイルのファイル名やディレクトリのルールに依存するのはいい。 けれどアプリの方でいろいろやる結果実現される機能を、メモの前提にはしたくない。 SAFで使いたい、となった時にすぐに使えないのは困る。Github Pagesで公開したい、 と思った時にすぐに公開出来ないのは嫌だ。
やはりメモをアプリの機能を前提としたものにはしたくないな、と思う。 そのアプリより長生きする事はもうこれまでの経験から確信を持てるので、メモはアプリの機能には依存せず、メモの構造にアプリの方を依存させたい。
メモに必要な機能を、なるべくファイル名とディレクトリ構造とテキストファイルのルールで実現したい。 バックリンクは少しむずかしい。と思ったがRandomThoughtsを今ls wcしたら500ファイルくらいだ。このくらいならさすがにイケるか? でもRecents作るのも結構遅いくらいだからなぁ、SAF。
バッチ処理でバックリンクを作るのはどうだろう?全ファイルからリンクとそのファイル名のペアを列挙してsortすれば作る事自体はO(n)だろうから、 PCなら一瞬、SAFでも数秒って所だろう。 WikiNameと同じ名前のファイル名でバックリンクのファイル名が一行1レコードで入っていれば、そのファイルのバックリンクを調べるのはファイル開くだけなのでSAFでも問題は無さそうだし、このファイルはSyncthingで共有すれば他の環境でも動きそうだ。 ただどこに置くかはちょっと悩ましいな。.backlinkというディレクトリの中か? なんかあんまりこういうファイルは置きたくない気持ちもある。
まぁ数秒くらいなら、バックリンクを表示したい、と思った時に生成するくらいは許されるかもしれない。単にページ表示する都度毎回やるには重いが。 この辺はやってみないと分からないなぁ。
ということを考えていてシェルスクリプトで試してみる事にした>Wikiのリンクを扱うシェルスクリプトへ。
試した結果、2ホップリンクなどはメモの構造の方をそれ前提にしないとあまり有効に機能しないという結論になる。 この機能はちょっとアプリケーション寄り過ぎて、メモの構造をそれにあわせるのはちょっと気が乗らない。
やはり最悪エディタとちょっとしたワンライナーとlessとかでいいや、と思える形にしたいよなぁ。 Wikiのリンクを扱うシェルスクリプトくらいはまぁいつでも作れると言えば作れるが。