[トップ] [更新履歴] [著書] [コンピュータ] [ゲーム] [CGI配布]


Title: ChangeLogメモをwikiっぽく使ってみる

Index


1 ChangeLogメモとは

ChangeLogとはソフトウェアの変更履歴を書くためのテキストの形式だ。 たとえばこんな感じに。 これはRubyのChangeLogを抜き出したものである

Tue Dec 25 23:28:47 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>

	* stable version 1.6.6 released.

Tue Dec 25 18:32:16 2001  K.Kosako  <kosako@sofnec.co.jp>

	* re.c (rb_reg_search): initialize taint status of match object.

特徴としては、最初に日付(時刻)と名前がくる。 そしてその下に「[TAB] *」による箇条書きをする。 いたってシンプルな形式だ。

幸いemacsではC-x 4 aで簡単にChangeLogを書くことができる。

で、この手軽さを逆手に取ってメモ書きにChangeLogを使ってやろうというのがChangeLogメモだ。 俺も使っている。 詳細は高林さんのゆにまが連載の原稿に詳しく書かれているのでそこを見てくれ。

2 clwiki.el: ChangeLogメモにwikiのようなリンク機能を追加

ChangeLogメモは非常に手軽で便利なのだが、リンク機能が欲しくなったので追加してみた。 いってみれば「ひとりwikiもどき」だ。 リンクタグを挿入することで、ファイルや任意のメモにジャンプすることができるようになった。

2.1 機能

2.2 インストール

  1. <URL:http://isweb22.infoseek.co.jp/computer/pop-club/emacs/changelog.html>にあるclmemo.elをインストール。
  2. <URL:clwiki.el>をダウンロードし、load-pathの通ったディレクトリへおく。
  3. 次のように .emacs に書く。これで「C-x M」でclwikiが起動する。

    (autoload 'clwiki "clwiki" "ChangeLog wiki-modoki." t)
    (define-key ctl-x-map "M" 'clwiki)

2.3 使い方

C-c C-c

clwikiを終了し、以前の作業画面に戻る。メモの保存も行われる。

C-c C-f

ファイルへのリンクタグを挿入。

C-c C-u

URLへのリンクタグを挿入。

TAB

次のリンクタグへジャンプ。

M-TAB

前のリンクタグへジャンプ。

C-c C-b

テキストブロックを作成。

2.4 リンクタグ

clwikiのリンクタグは「{{<」で始まり「>}}」で終わる文字列だ。 例をあげれば次のような文字列である。

{{<file:foo.txt>}}
{{<file:~/.emacs>}}
{{<http://www.rubyist.net/~rubikitch/>}}
{{<ftp://ftp.ruby-lang.org/>}}
{{<block:tag12345-6789-10>}}

fileで始まるのがファイルへのリンク、httpやftpで始まるのがURLへのリンク、blockで始まるのがテキストブロックへのリンク。

2.5 テキストブロック

ChangeLogというものはファイル上部から新しく追加されるようになっている。 すなわち、最後尾から追加されることはないということだ。 俺はそこに着目した。 そう、ChangeLogの最後尾に任意のテキストを追加できるのだ。 それがテキストブロック。

C-c C-bでテキストブロックへのリンクがつくられ、テキストの入力をすることができる。 そのときタグ名が聞かれるが、そのままEnterを押せば勝手に付けてくれる。

2.6 カスタマイズ

clwiki-mode-hook

clwiki-modeにしたときに実行されるhook。 たとえば次のようにするとC-jで前のリンクタグへジャンプできるようになる。

(defun clwiki-mode-hook0 ()
  (define-key clwiki-mode-map "\C-j" 'clwiki-previous-tag)
  )
(add-hook 'clwiki-mode-hook 'clwiki-mode-hook0)
clwiki-viewer-program-alist

(拡張子 . 起動するプログラム)のリスト。 `clwiki-open-file-by-extension' で使われる。 .emacsで設定しよう。

例:このように指定すると画像に対して画像ビューワ、htmlに対してw3mが立ち上がる

(setq clwiki-viewer-program-alist
      '(("jpg" . "imgview")
        ("gif" . "imgview")
        ("png" . "imgview")
        ("swf" . "imgview")
        ("html" . "w3mclient.rb")
        ("htm" . "w3mclient.rb")
        ))
clwiki-open-file-function

fileリンクをクリックしたときにそのファイルを開く関数を指定する。 引数にファイル名を取る。 デフォルトは拡張子別にプログラムを起動する `clwiki-open-file-by-extension' を起動する。 ファイルを別なロジックで開きたいとき、関数を定義して、この変数にセットしよう。

3 履歴

[2002/09/12]

clwiki.elの変更に対応。 clwiki-modeをclmemo-modeを継承するように。

[2002/08/30]

.clwファイルはclwikiファイルとみなすようにした。その他bugfix。

[2002/08/26]

拡張子別にコマンドを起動できるようにした。その他bugfix

[2002/08/23]

初公開

4 参考資料


戻る ホームページへ戻る

Valid XHTML 1.0!
rubikitch(rubikitch@ruby-lang.org)

投書箱:コメントや伝えたい情報などがあればお気軽にどうぞ
名前 メール [説明]
URL
本文