TeFWikiのサブディレクトリ対応
理想のノート(アプリ)について考えるで、テキストのノートについては、 サブWikiがあって、サブWiki単位でGithubのレポジトリのWikiを割り当てて公開したりしなかったりを出来ればさしあたっては良さそうに思う。
これはTeFWikiにフォルダ対応を入れる事でどうにか出来ないか?
これは継続的に更新したいのでWikiの方でも書いている。RandomThoughts/サブWiki
要件
要件としては
- あまり特殊な独自仕様でなく自然な仕様の範囲で実現したい
- 実装が楽なのが良い
- 実装がユーザーに分かりやすいのが良い
- サブディレクトリをgithub wikiで公開するのが楽な方がいい(サイトジェネレート的なのが挟まるのは出来たら避けたい)
- 20年後、そのサブディレクトリ以下のデータだけが発掘された時に特別なアプリが無くてもノートを見直せるようにしたい
というあたり。
TeFWikiフォルダ対応案
普通の階層型ネームスペースみたいなのだと、サブフォルダ内にいるかどうかをドットスラとかで意識する必要があるが、 そういうサブフォルダ内の全WikiLinkに独自仕様が入る、みたいな風にはしたくない。
サブフォルダの中身のみでもフォルダサポートの入ってない通常のmdベースのWikiのファイルのように見えて欲しい。 それならGithubのWikiへの公開も丸コピーで良いし。 20年後にこのデータが発掘された時にも、あまり独自な仕様が散らばっているよりは、フォルダの中身だけを見れば割と自然な仕様になっている方が取り回しもよかろう。
だから、普通の階層型ネームスペースのような仕様よりは、フォルダの中だと単独のWikiっぽく振る舞う方が目的にはあっているんじゃないか。 一旦辿ると、そこをルートであるかのように振る舞う。 普通にWikiLinkを作ればそのディレクトリ内のリンクとみなす。 Recent Pagesとかもそのフォルダ以下だけにしたい。listFilesをあんまり再帰的にやりたくないから。
ディレクトリを下降する側にまたぐ所は単純に階層型ネームスペースっぽくて良いかもしれない。 700x/Home.mdとかへのリンクで700xのディレクトリ下のHome.mdに行く。
上へのリンクは../で貼れるようにしてもいいのだけれど、公開を考えるとそういうリンクは無い方が望ましい。 だからリンク無しでも上に戻るブラウズ手段を与えたい。 タイトルの横にパンくずメニュー的なものを用意して、上の階層を辿れるようにするのはどうだろう? 飛び先はHome.md決め打ち。
こうしておけば、サブディレクトリの中は親ディレクトリに依存しないようなmdファイル群に出来る。 ファイルとしては外から入ってくるリンクはあっても、外に出ていくリンクは無い、という風に。
なんか良さそうな気がするな。
作業記録
2021-09-27
とりあえずElectron版で対応して少し使ってみて、良さそうだったらAndroid版も対応していこう。
git wikiで公開してみた。公開例: RandomThoughts