ローカルな Wiki を Emacs で編集できるようにする。 Lisp を埋め込めるのが特徴。
最初の作者は John Wiegley 氏。 2.33 から Damien Elmes 氏がメンテナになっている。
すぐ飽きるかもしれないけれど、emacs-wiki で用語集(http://www.naney.org/glossary/) (というか、雑記ページというか)を作り(かけ)てみる。
何の「用語」かという話は置いておく。
仕事のちょっとしたメモを emacs-wiki でメモしている。 でそのメモ群を(内部的に) public にする必要がでてきた。 最初は手で HTML に書き写していたんだけれど、そういえば emacs-wiki 自体で HTML にエクスポートできるんだっけ。
C-c C-p。 HTML に変換するの意識しないで入力してあったから、設定ファイルの写しの部分とかは変だな。emacs-wiki 風に修正。 あともう一つの問題は、仕事以外のプライベートのメモも emacs-wiki で管理してあった事。 emacs-wiki 用ディレクトリを別にして、必要に応じて設定ファイル使い分けか。 面倒くさいな……。 と思ったら、emacs-wiki にちゃんと project という概念があって複数のページセット使い分けられるでないの。 これは便利。
さっそく、仕事のは別プロジェクトに切り出し。
昨日にひき続き、emacs-wiki を拡張。
emacs-wiki には <c-source>...</c-source>と書くと HTML 変換の際に c2html で整形して埋む込む機能がある。 これを、まねて <perl-source>...</perl-source>で perl2html で整形して埋め込こめるようにしてみた。
やはり Wiki のページ間のグラフが見れるようにしたいな。 emacs-wiki では Graphviz と連携してグラフを描かせてみているんだけど、NaneyOrgWiki のあるレンタルサーバではサーバサイドでやるのは辛いかな。
Java Web Start な Java アプリケーションと連携するなら簡単かも。 ということで、以前からチェックしていた JGraph を使ってみる(といっても HelloWorld)。
が、実際には日本語フォントの設定になだれ込む事に。
今まで触れなかったが、やはり文法拡張する際は気になる存在。
各方面で出ている賛否どちらの意見もうなずける点が多く、自分の思いつく点もだいたいどこかで語られている感じ。
私が最初に Wiki の存在を知ったのは、やまだ君からだった。 当然「記法(文法)は?」というのがまず気になった点だったが、その時すでに「Wikiの文法はWikiEngine毎に異なる」という事だった。
WiKicker という新しい WikiEngine を作る際には、もちろん各 Wiki の文法を調べたのだが、それはもう様々で。 「見出し」記号など単純に流派的なものと、ブロックやプラグインなど設計思想に依存するものがあって、特に後者はどれかを統一して選択するのは難しいと感じた。
WiKicker では(もともと利用していた) YukiWiki2 に emacs-wiki の [[A][B]] を加え、その他の文法要素と表記は、
あたりをポイントに決めた。
多分しないな。 面倒だし。
キーワード毎に記事をつける機能の基本部分ができた。 これで DiKicker の基本的な部分が出来上がり。
日記とキーワードページが自動的に相互リンクされるようになり、またキーワード毎に日記を串刺し表示できるようになった事で、特定のトッピックスをまとめて読めるようになった。 これで面倒だった「日記中の関連する記事へ目次的リンク集」作成をしなくて済むように。
似ている機能を持つシステムとしては
あたりかな(もちろん大小異なるところがあるけど)?
コンテンツ方面ではおいおい emacs-wiki で書いているキーワード別ページを、こちらへ移してくる予定。 細々したHTML(XMLから変換しているもの)も、こちらへまとめたい。
システム的には、見た目も機能も速度もまだまだなのでガリガリ開発継続。 3月中にはある程度安定したものにしたいところ。
mimeTeX って LaTeX2HTML のようなものだと思っていたけれど、TeX やそのフォントを使わない別個のプログラムだったのか。てっきりヘビー級のものだと思って手を出していなかった。 しかもあっけないほど簡単なビルド手順(mimeTeX 1.60)。
unzip mimetex.zip cc -DAA mimetex.c gifsave.c -lm -o mimetex.cgi
これだけ。TeX 不要。後は mimetex.cgi を配置するだけ。
/mimetex.cgi?x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}
便利。素晴しい。
これで emacs-wiki + LaTeX2HTML のページ(しかも今は環境が壊れてうまく画像が生成できていない)を、nDiki とかにもってこれるな。
Life Hacks PRESSの巻末「執筆陣に聞きました!」で、角谷信太郎氏が、howm でメモをしていると述べていた。
以前話題なった時にも気になったんだけれど、その時は emacs-wiki を使っていたこともあって手を出しそびれてしまった。
howm は検索を中心としたリンク機能を持つメモツール。名前を指定せずにちょっとしたメモを作成し、後で探し出すことできる。
GTD で参照資料扱いとするメモをどこに保存しておこうかと思案していたのだが、丁度よさそうだ。
ソフトウェアインストール時の作業履歴やら、ちょっとした下書きやらのファイルも散在して後で扱いに困っていたのだが、これらもまとめて放り込んでおける。 しばらく使い込んでカスタマイズしたりして、自分流のスタイルを模索してみることにしよう。
howm 自体はほとんど書式というものがない。 自分の好きな形式で自由に書くことができる。 自分は reStructuredText か WiKicker 形式で書くことになるかな。
その辺も含めていろいろ遊んでみよう。
今日の Perl 勉強会向けに、自分の書いたコードをプリントアウトする。 どうせなら見易くなるように、色付けして出したいな。 でも、Perl のプリティプリンタって何があるのだろう?
調べている時間もあまり無いしどうしようかな。 あ、そういえば昔 emacs-wiki でソースコードを埋めこむ際に何か外部プリティプリンタを呼び出していたっけか。
とうことで emacs-wiki を調べてみる。するとどうも最近の emacs-wiki は htmlize.el を使って直接 HTML テキストを生成してしまっているらしい。*1
*1 昔 emacs-wiki を使っていた頃の自分の設定を見てみると、その頃は perl2html -n -s していたようだ
ということで htmlize.el がロードされている状態で、Perl ソースコードを開いているバッファで以下を実行。
M-x htmlize-buffer
すると新しいバッファに HTML テキストが生成される。 お、お手軽。 行番号も入れたかったのだが、残念ながらその方法は見つからず。
ソースコードに限らずハイライトされているバッファなら、その色付けでマークアップされた HTML テキストを生成できるようだ。
便利。ちょっとした時に使えそうなので覚えておこう。
ホスティングサービス会社より、www.naney.org が契約容量超過との警告のメールをもらった。まずい。
ということで急いでデータの整理を開始。
これでもまだまだ。コンテンツ系も、かなり整理する必要がありそうだ。 できれば他からリンクされているコンテンツについては対応する新しいものへリダイレクト設定しておきたいのだが、作業時間的にはちょっと無理。
Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。
nDiki は1999年1月に始めたコンピュータ日誌を前身とする Naney の Web 日記(兼パーソナルナレッジベース)です。
#nNote タグがついている記事は他の記事に比べて、より断片的・未整理・不完全なちょっとしたノートです。まだ結論に至っていない考えなども含まれます。頻繁/大幅に更新したり削除したりすることがあります。 それとは別に nNote にもちょっとしたノートがあります。
※内容は個人的見解であり所属組織とは関係ありません。