Home | Index | Changes | Diaries

Emacs Wiki

どういうもの?

EmacsLisp で書かれたプログラムです。

普通のテキストエディタとして使えますが、プラスアルファの機能として WikiWikiWeb と同じように WikiName を別のファイルへのリンクとして扱ってくれます。

カーソルが WikiName の上にあるとき、うっかりエンターキーを押すと別のページに飛ばされてしまうので注意が必要です。(笑)

ハイライトの機能を使って、リンク先のある WikiName と、リンク先のない WikiName を別の色で表示してくれるのが結構便利です。

ちなみに emacs-wiki-mode では、タブキーが「次の WikiName へカーソルを飛ばす」という 機能にバインドされています。

あと、HTML 形式への変換や ChangeLog 対応、PIMとの統合など機能はかなり盛り沢山。 このページは、 EmacsWiki で編集したテキストファイルを、HTML形式に変換して公開しています。

さらには?

同じ作者によってかかれた EmacsLisp 製 http-server プログラムと連係して、 普通の WikiWikiWeb サーバーと同じようにオンラインでの編集も可能らしいです。 (httpのリクエスト毎にEmacsが起動するらしい。試したことは無いけれど。)

普通のWikiとどう違うの?

普通のWikiは、主に複数の人間のコミュニケーションが目的ですが、 個人的に情報管理の道具として使うこともできます。

EmacsWiki は逆にコミュニケーションにはほぼ全く使えないので、 個人の情報管理がメインの目的となります。(これならWikiを使うために それ専用のWeb Serverをわざわざ設置したり、閲覧編集に ブラウザを使う必要はまったくありません。)

また、このサイトのように静的な Web Page のメンテナンスツールとしてはかなり有用です。

インストールとカスタマイズは?

手元で確認した範囲では、XEmacs/21.1, Emacs/20.7, Meadow/1.14 で動作しています。 (Meadowはemacs-wiki.elに数箇所変更が必要でした。)

インストール自体は簡単です。最低1つ、便利に使いたければ3つの elisp ファイルをダウンロードしてきて、 ~/.emacs からロードするように設定し、専用のディレクトリを2〜3作成するだけです。

またほとんど全ての処理が EmacsLisp で書かれていますので、自分好みにいじれば、かなり柔軟にカスタマイズすることができます。

詳しくは、 MakingOfWikiTech 参照。

※Meadow で動かすには

Meadowで emacs-wiki.el を load すると、 Faceのunderlineプロパティがないとかエラーが出て、その後の動作がおかしくなります。

Error in init file: error: "Invalid face property. underline"

僕は emacs-wiki.el を直接いじって、

(.... :underline "色の名前" ...) 
となっているところを探して
:underline t
と変更しました。見ためを定義する部分だと思うので、 この編集によってアプリとしての動作に影響が出ることは多分ないと思います。

diff とってみました。下記の4箇所の変更で動くようになります。


$ diff -u emacs-wiki.el emacs-wiki-meadow.el 

--- emacs-wiki.el	Mon Nov 19 23:33:02 2001

+++ emacs-wiki-meadow.el	Sun Jan 13 22:58:31 2002

@@ -884,18 +884,18 @@

 

 (defface emacs-wiki-link-face

   '((((class color) (background light))

-     (:foreground "green" :underline "green" :bold t))

+     (:foreground "green" :underline t :bold t))

     (((class color) (background dark))

-     (:foreground "cyan" :underline "cyan" :bold t))

+     (:foreground "cyan" :underline t :bold t))

     (t (:bold t)))

   "Face for Wiki cross-references."

   :group 'emacs-wiki-highlight)

 

 (defface emacs-wiki-bad-link-face

   '((((class color) (background light))

-     (:foreground "red" :underline "red" :bold t))

+     (:foreground "red" :underline t :bold t))

     (((class color) (background dark))

-     (:foreground "coral" :underline "coral" :bold t))

+     (:foreground "coral" :underline t :bold t))

     (t (:bold t)))

   "Face for Wiki cross-references."

   :group 'emacs-wiki-highlight)

Meadow掲示板 のサキトさん、kimuraさん、御指摘ありがとうございました。(2002.01.15)