参考: Inferno Wiki
すでにwikifsが組み込まれているacme-sacにて作業。
ローカルwiki
wikiの元になるディレクトリを用意。
空だとうまくいかなかったので、
このへん
から作成済みのディレクトリを持ってきた。
wikiディレクトリを/usr/USER/lib/wikiとして配置。
mount {wikifs -d $HOME/lib/wiki} /mnt/wiki
とする。
こうすると、/mnt/wikiにwikifsがマウントされる。
この状態でAcmeからアクセス可能。
acmeでWikiを記述し、中クリックするとWikiインターフェースが起動する。
カバーページがまず表示されるので、それを編集し、putすると更新される。
Newすると新規ページが作られる。
一行目にnameをつけてputするとその名前のページが作成される。
リンクは[名前]とする。
右クリックでジャンプ。
段落以外の改行はputの時に取り除かれるようだ。ちょっと面倒。
wikiをウェブで公開
wikiをウェブで公開可能。
/services/httpd/root/wikiディレクトリをつくっておく。
先程の/sys/lib/wikiの直下のファイルをそこに置いておこう(ウェブでwikiを編集するときに使われる)。
bind /mnt/wiki /services/httpd/root/wiki
svc/httpd/httpd &
とすると、wikiがhttp://ホスト/wiki というアドレスで参照可能となる。
ブラウザでアクセスするとカバーページが見える。
編集機能も使えるっぽいが、編集後のジャンプ先のページのURLがおかしいのと、
日本語が化ける問題がある。
ブラウザからは閲覧のみがよさそう。
ウェブ上のwikiをacmeで直接編集
ndb/cs
mount -9 tcp!plan9.bell-labs.com!wiki /mnt/wiki
とすると外部公開されているplan9のwikiがマウントできる。
編集はさすがに試していないが、ジャンプは可能だった。
自分で同じようなことをする場合は、
ndb/cs
listen -A tcp!*!wiki {export /mnt/wiki &}
とかするといいのかな?(公開するのは$HOME/lib/wikiじゃないよね?)
所感
なかなか使えそうなので使ってみよう。
分散してストアしたいが、それは今後の課題とする。
通常のhosted inferno、native infernoでもやってみる予定。
hosted infernoにて同様に動作を確認。
返信削除また、/mnt/wikiをlistenしてやると、
リモートで編集できた。
wikiサーバーを建てる場合は、サーバーでhttpdと
/mnt/wiki両方を公開するのがよさそう。