Last modified: Wed Sep 1 12:57:00 JST 2004

howm の設定

2004/09/01:

1.2が出てた。1.1.2.1をアンインストールして入れ替え。

% cd ~/work/src/howm-1.1.2.1
% sudo make uninstall
  インストールした時のソースツリーが残ってれば、これでアンインストールできる。
% cd ~/work/src
% tar xvfz ~/ftp/howm-1.2.tar.gz
% cd howm-1.2
% ./configure --with-lispdir=/usr/local/share/emacs/site-lisp/howm
  これで全てを/usr/local 配下にインストールできる
% sudo make install

.emacs.elはそのままでOK。

2004/06/01:

久々に覗いたら、1.1.2.1が出てたんで入れ替え。
前の1.1.1.2をアンインストールして、1.1.2.1を入れる。

% cd ~/work/src/howm-1.1.1.2
% sudo make uninstall
  インストールした時のソースツリーが残ってれば、これでアンインストールできる。
% cd ~/work/src
% tar xvfz ~/ftp/howm-1.1.2.1.tar.gz
% cd howm-1.1.2.1
% ./configure --exec_path=/usr/local --with-lispdir=/usr/local/share/emacs/site-lisp/howm
  これで全てを/usr/local 配下にインストールできる
% sudo make install

で、lispが/usr/localの方に移ったんで、.emacs.elも手直しして、以下のように。

;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; howm: 一人お手軽 Wiki もどき
;;
(global-set-key "\C-c,," 'howm-menu)
(autoload 'howm-menu "howm-mode" "Hitori Otegaru Wiki Modoki" t)
(setq load-path
      (append '("/usr/local/share/emacs/site-lisp/howm") load-path))
(setq howm-menu-lang 'ja)
(setq howm-menu-lang 'ja
      howm-file-name-format "%Y/%m/%Y-%m-%d.howm"   ; ファイル名のフォーマットを指定(秒はつけない)
      howm-menu-top nil                             ; メニューのファイル名を指定
      howm-menu-file "~/howm/menu.howm" ; メニューファイル名を変更(0000-00-00-000000.howmはやだったので)
      howm-menu-footer "\n"             ; メニューのfooterを変更
      howm-keyword-file "~/howm/.keys"  ; キーワード(come-fromリンク)を保存するファイルを変更
      howm-template ""                  ; テンプレートを挿入しない
      )
; iswitchbに無視させるバッファ名 (iswitchbを入れてない時はコメントにすること)
;(add-to-list 'iswitchb-buffer-ignore "\\`[0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}\\.howm\\'")
(add-to-list 'iswitchb-buffer-ignore "\\`\\.keys\\'")

; `TAB'、<shift iso-lefttab> (シフトを押しながら `TAB') で前後のリンクに移動
(add-hook 'howm-mode-hook
          (lambda ()
            (define-key howm-mode-map [tab] 'action-lock-goto-next-link)
            (define-key howm-mode-map [(shift iso-lefttab)] 'action-lock-goto-previous-link)
            ))
; メモファイルを作成した時(存在しないファイルに `C-c , ,' した時)に "= 予定" を挿入
(add-hook 'howm-create-file-hook
          (lambda ()
            (insert "= 予定")
            ))
; auto-fill-modeを80文字でon
(add-hook 'howm-mode-hook
          (lambda ()
            (setq fill-column 80)
            (turn-on-auto-fill)
            ))
; 予定表の表示範囲
(setq howm-menu-schedule-days-before 2)  ;; 2日前から
(setq howm-menu-schedule-days 14)  ;; 14日後まで
2004/04/13:

2chのunix板で知った howm: 一人お手軽 Wiki もどきChangeLogメモに代わるメモ として期待しつつ、入れてみた。

公式サイトから、howm-1.1.1.2.tar.gzをゲト。configureしてmake insutallするだけ。

% cd ~/work/src
% tar xvfz ~/ftp/howm-1.1.1.2.tar.gz
% cd howm-1.1.1.2
% ./configure --prefix=/usr/local   ←/usr/local 配下にインストール
% sudo make install

で、いいはずなんだけど、なぜか、/usr/local 配下に入らず、/usr/share/emacs/site-lisp/howm に入っちゃうんだなぁ。まぁいいやと、そのまま入れちゃったけど。 次にhowm用の設定。~/.emacs.elに以下を追記。

;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; howm: 一人お手軽 Wiki もどき
;;
(global-set-key "\C-c,," 'howm-menu)
(autoload 'howm-menu "howm-mode" "Hitori Otegaru Wiki Modoki" t)
(setq howm-menu-lang 'ja)
(setq howm-menu-lang 'ja
      howm-file-name-format "%Y/%m/%Y-%m-%d.howm"   ; ファイル名のフォーマットを指定(秒はつけない)
      howm-menu-top nil                             ; メニューのファイル名を指定
      howm-menu-file "~/howm/menu.howm" ; メニューファイル名を変更(0000-00-00-000000.howmはやだったので)
      howm-menu-footer "\n"             ; メニューのfooterを変更
      howm-keyword-file "~/howm/.keys"  ; キーワード(come-fromリンク)を保存するファイルを変更
      howm-template ""                  ; テンプレートを挿入しない
      )
; iswitchbに無視させるバッファ名 (iswitchbを入れてない時はコメントにすること)
;(add-to-list 'iswitchb-buffer-ignore "\\`[0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}\\.howm\\'")
(add-to-list 'iswitchb-buffer-ignore "\\`\\.keys\\'")

; `TAB'、<shift iso-lefttab> (シフトを押しながら `TAB') で前後のリンクに移動
(add-hook 'howm-mode-hook
          (lambda ()
            (define-key howm-mode-map [tab] 'action-lock-goto-next-link)
            (define-key howm-mode-map [(shift iso-lefttab)] 'action-lock-goto-previous-link)
            ))
; メモファイルを作成した時(存在しないファイルに `C-c , ,' した時)に "= 予定" を挿入
(add-hook 'howm-create-file-hook
          (lambda ()
            (insert "= 予定")
            ))
; auto-fill-modeを80文字でon
(add-hook 'howm-mode-hook
          (lambda ()
            (setq fill-column 80)
            (turn-on-auto-fill)
            ))
; 予定表の表示範囲
(setq howm-menu-schedule-days-before 2)  ;; 2日前から
(setq howm-menu-schedule-days 14)  ;; 14日後まで

あとは使うのみ。使い方は、 ここのチュートリアル通りに 一度やってみてお勉強した。最低限以下の操作を覚えれば使える。

その流れの中で、~/howm 配下にばかすかメモファイルができるのは後で困るかな、と思ったので、 メモファイルは1ファイル/日にするように変更した。


browse-url の設定

2004/04/18:

EmacsのバッファにあるURL文字列をマウスクリックして、Webブラウザに表示させる設定。 ~/.emacs.elに、以下を追記。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; Using "Mozilla"
;;;
; urlをクリックした時もブラウザで表示できるように(browse-url)
(require 'browse-url)
(setq browse-url-browser-function 'browse-url-netscape)
(autoload 'browse-url-at-mouse "browse-url"
  "Ask a WWW browser to load a URL clicked with the mouse." t)
(add-hook 'mew-message-mode-hook
		  (lambda ()
			(local-set-key [mouse-2] 'browse-url-at-mouse) ; Emacs
;			(local-set-key [(shift button2)] 'browse-url-at-mouse) ; XEmacs
			))

; text/htmlなパートはbroese-urlにて表示する
(setq mew-prog-text/html-ext "mozilla")

(setq browse-url-netscape-program "mozilla")
(setq thing-at-point-url-path-regexp "[~/A-Za-z0-9---_.${}#%,:?=]+")   ←'?'も'='もURLの一部とみなすように、Mewの雛型にさらに加えてある

rAntenna の設定

2004/02/22:

アンテナソフトウェアの rAntennaを入れた。 (なつみかんからの移行)

インストールは簡単。公式ページに書いてある通りにやればよし。 ただ、lirsファイル吐かせようとか、htmlを吐かせようとかで、 pluginを 使う時にはちょっと分かりにくい。というか、Rubyを知っていれば当り前なことで、 簡単なことなのかもしれない。(それに、pluginの.rbファイル内にコメントで書いてあった…)

まぁともかく、僕は@output_html_templatesの指定に悩んだけど、 最終的には以下のantenna.conf(抜粋)でちゃんと動くようになった。

# antenna.conf
# rAntenna 設定ファイル

# @title
# アンテナのタイトルを入れてください。
# 必須です。
@title = 'よしアンテナ'

# @copyright
# Copyright を入れてください。
# 必須です。
@copyright = 'All Right Reserved, Copylight (C) Yoshinori Arai. 1996-2004'

# @antenna_url
# アンテナのURLを入れてください。
# 必須です。
@antenna_url = 'http://www.kyo-ko.org/ra/'

# @rdf_url
# 出力されるRDFファイルのURLを入れてください。
# 必須です。
@rdf_url = 'http://www.kyo-ko.org/ra/index.rdf'

# @rdf_path
# 出力されるRDFファイル名を入れてください。
# デフォルトは index.rdf です。
#@rdf_path = 'index.rdf'

# @link_format
# URLからリンクを作成するフォーマットを指定してください。
# フォーマットには以下の % 記法が使えます。
# %antenna_url% - @antenna_url に置換されます。
# %url% - URLに置換されます
# %その他 - strftime(3) に渡され、更新時刻に置換されます。
# ただし、更新時刻が取得できなかった場合はURLをそのまま使います。
# デフォルトはURLをそのまま使います。
#@link_format = '%url%?%m%d%H%M'
@link_format = '%antenna_url%go.rb/%m%d%H%M/%url%'

@input_lirs_urls=[                            ←input_lirsプラグインを使い、他のサイトのLIRSを読むとき。
'http://www.kyo-ko.org/ra/rantenna.lirs.gz',  ←LIRSファイルのURL
'http://www.kyo-ko.org/ra/rantenna.lirs.gz',  ←複数あるときはこんな感じ。
]

@output_lirs_path=[  ←output_lirsプラグインを使い、LIRSを吐くとき。
'rantenna.lirs',     ←LIRSファイル名
'rantenna2.lirs',    ←複数あるときはこんな感じ。
]

@output_html_templates=[           ←output_htmlプラグインを使い、HTMLを吐くとき。
['hogehoge.html','index.html']       []で括って、テンプレートファイルと生成するhtmlファイル名を指定
]                                    テンプレートは、antenna.confと同じところに置いてる。

# @urls
# 巡回するURLを入れてください。
# 形式は、
# タイトル, 作者, URL, 巡回URL
# です。巡回URLが無い場合はURLを使います。
@urls = [
['きまぐれ日記', 'yoshi', 'http://www.kyo-ko.org/td/'],  ←巡回URLがないパターン
# Software site  ←中にコメント入れても平気
["tDiary.org", "tDiary.org", "http://www.tdiary.org/", "http://www.tdiary.org/index.rdf"],  巡回URLがあるパターン
]

あと、@urlsのところをなつみかんのsites.lirsから手で書き写すのは辛過ぎるので (使う文字列は一緒だけど書く順番が違う)、しょぼいスクリプト(natsu2ra.pl)を書いた。 URLエンコードを含むWikiのURLとかだと、ちと狂ったりする(した)ので、 変換結果はちゃんと目視で確認が必要。:p

#!/usr/bin/perl
#
# 概要
#       なつみかんのsites.lirsファイルにあるアンテナ対象サイトの情報を
#       rAntennaのantenna.confの@urlsの書式に変換するスクリプト。
#       変換結果は標準出力に出力される。

### パラメータがなければ使用法の表示
if( @ARGV == 0 ) {
    print "$0 Ver.$ver\n";
    print "usage: % perl $0 infile_name\n";
    exit;
} 

### パラメータの取り込み
$infile = shift;

#while($_=shift) {
#  SWITCH: {
#      if(/-i/) { $infile = shift; last SWITCH; }
#  }
#}

open(IN, $infile) || die "$infileがないよん。\n";

while() {
    # 行頭に'#'があったら処理対象外
    if( /~#/ ) {
        next;           # ループの頭へ
    }
    # 先頭が"LIRS"でないなら処理対象外
    if( !/^LIRS/ ) {
        next;           # ループの頭へ
    }

    # ','をセパレータにしてフィールド分けする
    @field = split(/\,/, $_);

    # 1行出力
    if( $field[9] ne "" ) {
        # 巡回URLがある場合
        print "[\"$field[6]\", \"$field[7]\", \"$field[5]\", \"$field[9]\"],\n";
    }
    else {
        # 巡回URLがない場合
        print "[\"$field[6]\", \"$field[7]\", \"$field[5]\"],\n";
    }
}

close( IN );

そうそう、使用するpluginは、./misc/plugin/ 配下から./plugin/ に コピっとく必要がある。./plugin/READMEファイルにそう書いてあるんだけど、 普通気付かんべ。 tDiaryとディレクトリ構成が似てたからピンときたけど。(^^;

あとは、./update.rbをcronで定期的に回すだけ。(crontabに書く時はフルパスで)


All Right Reserved, Copylight (C) Yoshinori ARAI. 1996-2004
あらいよしのり

目次へ back icon