Page 5 of 27: « 1 2 3 4 5 6 7 8 9 10 »





FreeStyle Wiki を使って普通の Web サイトを作る

Posted at Sat, 20 Feb 2010 in computer

Web サイトを作るのにこつこつメモ帳でタグを手打ちするのも好きなのですが、ページ数が多くなるとそれはそれで面倒だし、今後サイトデザインを変更するときなんかもなるべく楽をしたい。
でも編集するのは一人だし当たり前のコンテンツしかおかないから、表面上は徹底的に普通のホームページですよ CMS なにそれ? ブログって食べられるの? みたいなサイトを構築したいと思ったことはありませんか。

そんなわけで、実は Wiki だけど Wiki らしくない Web サイトを作るに至ったのでその作業記録です。

用意したもの

FreeStyle Wiki

FreeStyle Wiki(FSWiki)は徹底的にモジュール化され、プラグインによる自由な拡張が可能な Perl による Wiki エンジンです。
「コアはシンプルにしておいてプラグインやアドオンでがんがんカスタマイズしていく」というのがどうやら私はとても好きらしく、このサイトのブログエンジンである Blosxom や Firefox(これはまぁ、本体もそれなりに重量級ですが)などの使用理由にもなっています。そんなわけで今回もベースは FreeStyle Wiki を採用しました。単純に以前にも稼働実績があるというのと、YukiWiki の文法が使えるからというのも理由の一部です。
個人的にとても使い勝手の良い Wiki エンジンです。

Wiki らしくなくすために

主なポイントは3つ

  1. URL を静的かつシンプルなものにする
  2. 編集機能を隠す
  3. FrontPage からの脱却とデザイン

導入したプラグインとあわせてひとつずつ説明していきます。

URL を静的かつシンプルに

URI が http://www.example.com/wiki.cgi?page=FrontPage という感じにパラメータ付きだったり、Wikipedia のようにエンコードされて http://ja.wikipedia.org/wiki/%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF となったりしているのははあんまりシンプルではない、と思うわけなので、ここを修正するために、ページへのリンクを静的URLにするプラグイン(改変版) を導入します。このプラグインを使うために .htaccess への記述が必要。さくらのレンタルサーバでは RewriteBase を使った記述では上手くいきませんでした。

DirectoryIndex wiki.cgi

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/([^/]+)\.html#[^?]+\?(.+)$ http://www.example.net/wiki.cgi/$1?page=$2$3 [NE,QSA,L]
RewriteRule ^(.+)/([^/]+)\.html$ http://www.example.net/wiki.cgi/$1?page=$2 [NE,QSA,L]
RewriteRule ^([^/]+)\.html$ http://www.example.net/wiki.cgi?page=$1 [NE,QSA,L]
RewriteRule ^(.+)/$ http://www.example.net/wiki.cgi/$1 [NE,QSA,L]

これで、http://www.example.net/index.html という URI で index というページ名のページにアクセスが可能になります。

ページ名≠ページタイトルに(FrontPage からの脱却)

通常の Wiki だと トップページのタイトルが FrontPage、また WikiName のような一定のルールの文字列が文章中にあると自動でリンクがはられたりしてページ名になったりしますが、まずページ名≠ページタイトルとするために、アクセシビリティ配慮のタグを出力するプラグイン を導入します。これで、index.html のページタイトルを index 以外に設定することが可能です。
ですが、このままだとトップページに支障が出る場合があります。トップページの<title>は「トップページ名称 - サイト名」という表記になり、サイト名だけの記述にするということができません。<title> タグを指定するようなプラグインを探しても良かったのですが、トップページだけレイアウトを変えるというのも良くあることなので、トップページ専用のテンプレートを作成後、テンプレート/スタイル変更プラグイン を利用してテンプレートごと変えてしまい、<title> タグの中身は直書きでテンプレートに <title>サイト名称 </title> として対処しました。

テンプレートと同時並行でスタイルの設定です。FSWiki ではデフォルトで tDiary のテーマが使用可能≒はてなダイアリーのテーマ(全部かどうかは不明)が使用可能なので、tDiary のテーマギャラリーあたりから好みのテーマをダウンロードして導入するのが一番簡単です。好みで好きなテーマをインストールします。

編集機能を隠す

最後に一番 Wiki っぽい部分、編集機能を見えなくします。
FsWiki だと デフォルトで右上に「トップ 新規 編集 差分 一覧 ソース 検索 ヘルプ RSS ログイン」というのが表示されますが、これを全部消してしまいます。

ただ全部さっくりと消してしまうとのちのち大変なので、新規にページを作成して「トップ 新規 一覧 検索 ヘルプ RSS ログイン」あたりのリンクを新規作成したページへコピーしておき、そのページをブックマークしておくと簡単です。「編集」についてはページからのリンクでないと意味がないので、現在表示しているページを編集するためのブックマークレットを用意しておきます。

javascript:(function(){location.href=location.href+'?action=EDIT';})();

これをブックマークします→ 編集

実際の表示を消すのはスタイルシートで消すのが一番簡単です。これは先ほど設定したテーマのスタイルシートに記述します。

div.adminmenu {
  display: none;
}

この方法のメリットはスタイルシートをオフにすると編集メニューが見えること。(たとえば Firefox なら「表示」−「スタイル」−「スタイルシートを使用しない」)ただしこれはデメリットでもあるので、完全に消したい場合はテンプレートをいじります。検索エンジンのクローラが来た場合にはスタイルシートでの非表示はほとんど意味がないので「一覧」などから意図しないリンクを辿られる可能性があります。

その他細々と

テンプレートをいじる際に、画面右下の「Powered by FreeStyleWiki〜」の記述もカスタマイズしています。デザイン上の都合から「Copyright〜」表記も左に同じ。
そのほかのプラグインは「自由な HTML での編集をできるだけ可能にすること」や「メール送信フォームが作成できること」などを目的としているので、Wiki の標準の編集機能で十分であれば導入の必要は特にありません。
それよりも、デフォルトユーザのパスワードの変更(ユーザ admin/ パスワード admin)や、ページの編集権限をログインユーザだけに絞ることなどのほうが重要です。
FreeStyle Wiki についての基本的なインストール方法やプラグインの追加方法は公式サイトや添付のドキュメントを参照してください。



Safari、Opera でも Tab キー(または代替するショートカットキー)を使ってリンクを辿りブラウジングする方法

Posted at Tue, 16 Feb 2010 in computer

IE や Firefox を使っていると、Tab キーを押すことでリンクやテキスト入力フィールド、ラジオボタン、チェックボックスなどに遷移できてマウスを触らずに Web サイトをうろうろすることができるのですが(リンクがたくさんあると移動だけで面倒とか言うのは置いておいても)、Opera や Safari だとこれができないのです。
なにか技があるはず! と思って探したところ、回答が見つかりました。

Opera

Ctrl + 上下の矢印キー(↓、↑)を使用する。

Safari

option(alt)+Tabキーを使用する。


両ブラウザとも現在カーソルがあたっている部分がとてもわかりやすくハイライトされるのでいい感じです。Safari は環境設定から通常の Tab のみでの移動に切り替えることも可能になる模様。ちなみに確認環境は Opera が 9.6(Windows)、Safari は 4(Mac OS X)です。

参考



irc-mode から clickable-uri を使って適当に URI を開く on xyzzy

Posted at Wed, 10 Feb 2010 in computer::xyzzy

例のごとく現在行で GShiftg)を押すと、URI があった場合に clickable-uri の設定にしたがって URI を開いたりします。
irc-mode に加えて clickable-uri がインストールされている必要があります。

;;;;;;;;;;;;;;;;;;;
;; ■ clickable-uri を利用して適当にURIにジャンプ
(defun irc-goto-uri ()
  (interactive)
  (save-excursion
    (let ((ed (progn (goto-eol) (point))))
      (goto-bol)
      (when (scan-buffer ed::*clickable-uri-regexp* :limit ed)
        (ed::clickable-uri-open)))))
(add-hook '*irc-dialog-mode-hook*
          #'(lambda () (local-set-key #\G 'irc-goto-uri)))


TwitterIrcGateway(TIG) + irc-mode on xyzzy の TypableMap を使った Favorite や Reply 関連 Lisp

Posted at Tue, 09 Feb 2010 in computer::xyzzy

Twitter クライアントの P3 とかを使っているとキーひとつでふぁぼできるのですが、そういうのがうらやましかったので TwitterIrcGateway + irc-mode の環境でも使えるように書きました。~/.irc に書いて使ってください。現在カーソルのある行の発言に対して実行します。
TypableMap って何? どうやって設定するの? という方はこのあたりに TypableMap を有効にする方法についての解説があるのでご参照ください。(端折って説明すると /join #Console , config, set EnableTypableMap True で終了)

FShift + f) で Favorite、UShift + u)で Favorite から削除。RShift + r)で TypableMap を使ったリプライ補助。
ふぁぼとあんふぁぼは、問い合わせもなしにいきなり Favorite に追加(または削除)します。問い合わせて欲しい場合はそのための関数を作ったので、そちらにキーを割り当ててください。
実行は TIG まかせなので発言が Fav されているかどうかをチェックして Unfav を抑止するとかいう親切設計はありません。

Reply は一番左端に @screen_name が表示されて一応相手がわかるという誤爆防止機能はありますが、TypableMap の部分を消すとリプライでもなんでもないごく普通の発言になります。仕様です。

;;;;;;;;;;;;;;;;;;;
;; ■ TIG での TypableMap を利用した Reply
(defun tig-reply ()
  "Reply"
  (interactive)
  (irc-check-connection)
  (irc-dialog-check-joined)
  (save-excursion
    (goto-bol)
    (when (scan-buffer "^[0-2][0-9]:[0-5][0-9] <\\([^>]+\\)> \\(.*\\)(\\([a-z]+\\))$" :regexp t)
      (let ((tp (match-string 3))
            (prompt (format nil "@~A - ~A: " (match-string 1) (irc-channel-name irc-dialog-channel)))
            msg)
        (setf msg (read-string prompt :default (format nil "re ~A " tp)))
        (unless (equalp msg "")
          (irc-dialog-post-buffered-privmsg (irc-channel-name irc-dialog-channel) msg))))))
(add-hook '*irc-dialog-mode-hook*
          #'(lambda () (local-set-key #\R 'tig-reply)))

;;;;;;;;;;;;;;;;;;;
;; ■ TIG での 問答無用 Favorite
(defun tig-favorite (&optional y-or-n)
  "Favorite"
  (interactive)
  (irc-check-connection)
  (irc-dialog-check-joined)
  (save-excursion
    (goto-bol)
    (when (scan-buffer "^[0-2][0-9]:[0-5][0-9] <\\([^>]+\\)> \\(.*\\)(\\([a-z]+\\))$" :regexp t)
      (when (or (not y-or-n)
                (yes-or-no-p (format nil "@~A: \"~A...\" を~%Fatorite に追加しますか?" (match-string 1) (substring (match-string 2) 0 20))))
        (irc-dialog-post-buffered-privmsg (irc-channel-name irc-dialog-channel)
                                          (format nil "fav ~A" (match-string 3)))))))
;; キーバインド
(add-hook '*irc-dialog-mode-hook*
          #'(lambda () (local-set-key #\F 'tig-favorite)))
;; 一言聞く場合はこっちにキーを割り当てる
(defun tig-favorite-interactive ()
  (interactive) (tig-favorite t))

;;;;;;;;;;;;;;;;;;;
;; ■ TIG での 問答無用 Favorite 削除
(defun tig-unfavorite (&optional y-or-n)
  "UnFavorite"
  (interactive)
  (irc-check-connection)
  (irc-dialog-check-joined)
  (save-excursion
    (goto-bol)
    (when (scan-buffer "^[0-2][0-9]:[0-5][0-9] <\\([^>]+\\)> \\(.*\\)(\\([a-z]+\\))$" :regexp t)
      (when (or (not y-or-n)
                (yes-or-no-p (format nil "@~A: \"~A...\" を~%Fatorite から削除しますか?" (match-string 1) (substring (match-string 2) 0 20))))
        (irc-dialog-post-buffered-privmsg (irc-channel-name irc-dialog-channel)
                                          (format nil "unfav ~A" (match-string 3)))))))
;; キーバインド
(add-hook '*irc-dialog-mode-hook*
          #'(lambda () (local-set-key #\U 'tig-unfavorite)))
;; 一言聞く場合はこっちにキーを割り当てる
(defun tig-unfavorite-interactive ()
  (interactive) (tig-unfavorite t))


2010年01月のエディタの話#2 Editor on Windows2000 & WindowsXP

Posted at Fri, 22 Jan 2010 in computer::xyzzy

Windows のエディタは xyzzy 一択です。

とだけ書くとここで終わってしまうのですが、これは気に入らない点があれば Lisp でだいたいどうにでもなるし、Windows ネイティブなのでツールチップやヘルプの連携、ぶら下がりなどなど至れり尽せりで、さらにはフォントも簡単に好きなフォントを使えるというので、導入当初の泣きそうなハードルの高さも超えて常用エディタとなりました。MacBook 環境で Carbon Emacs を使い始めたのもそもそもはベースに xyzzy の使用経験があるからです。
他に Windows2000 環境には EmEditor のフリー版を入れています。昔メモ帳の代わりに使えるぐらい軽い機能限定のフリーエディションがあったのですが、いま少し探したところではないようです。
EmEditor はインタフェースがやさしい感じでアイコンなんかも丁寧に使ってあるところが他の Windows 用エディタと比べてぐんと飛びぬけているポイントです。結局エディタはというのは長いこと眺めている画面なので、フォントが美しくなかったりアイコンが気に入らないものだったりするのにあまり耐えられないのです。(ちなみに xyzzy はアイコンのツールバーが非表示)で、EmEditor は別にインタフェースが売りだけではなくて、無料でいいのかという水準は軽く超えるぐらいには高機能な良いエディタだと思います。そしてもちろん余裕があれば有償版のほうが当然メリットはあると思います(使ったことがないので予想)。あまり使っていないのできちんと紹介はできないのですが、xyzzy だと拡張 Lisp で補わないといけないようなファイルタイプにも対応していたりして、とんがったところがなく、Windows を普通に使っていく人にはオススメできるエディタです。

Netinstaller でインストールしているパッケージ

xyzzy に NetInstaller 経由でインストールされているパッケージの一覧

xyzzy ver.0.2.2.235
Generated Thu, 21 January 2010 16:04 +0900

その他に入れているパッケージ

Windows っぽいキーバインド

(provide "winkey2")

(in-package "editor")

;;; winkey.lからコピー
(defvar *default-selection-keymap*
  (let ((keymap (make-sparse-keymap)))
	(define-key keymap #\c-c 'copy-selection-to-clipboard)
	(define-key keymap #\c-x 'kill-selection-to-clipboard)
    (define-key keymap #\tab 'tabshift-selection)
    (define-key keymap #\s-f15 'untabshift-selection)
    (set-extended-key-translate-table exkey-s-tab #\s-f15)
	keymap))


;;;;;;;;;;;;;;;;;;
;; ■ 範囲選択中にタブが押されたら冒頭にタブを挿入
(defun perform-replace-selection (pattern replacement query regexp interactive-p noerror)
  "選択範囲内を perform-replace"
  (interactive "*p")
  (let ((type (get-selection-type)))
    (selection-start-end (start end)
      (save-restriction
        (narrow-to-region start end) (goto-char (point-min))
        (perform-replace pattern replacement query regexp interactive-p noerror)
        (save-excursion
          (goto-char (point-min))
          (start-selection type t (point-max))
          (fix-selection-point)
          )))))
(defun tabshift-selection ()
  "冒頭にタブを挿入"
  (interactive "*p")
  (perform-replace-selection "^.+$" "\t\\0" nil t nil t))
(defun untabshift-selection ()
  "冒頭のタブを1つ削除(タブがなければ何もしない)"
  (interactive "*p")
  (perform-replace-selection "^\t" "" nil t nil t))
(setq-default selection-keymap *default-selection-keymap*)

#|
;;; winkey.lからコピー
(defvar *default-selection-keymap*
  (let ((keymap (make-sparse-keymap)))
	(define-key keymap #\c-c 'copy-selection-to-clipboard)
	(define-key keymap #\c-x 'kill-selection-to-clipboard)
	keymap))
(setq-default selection-keymap *default-selection-keymap*)
|#


(setq-default selection-keymap *default-selection-keymap*)
(global-set-key #\c-z 'undo)
(global-set-key #\c-v 'paste-from-clipboard)
(define-key esc-map #\c-x #'ctl-x-prefix)
(define-key esc-map #\c-c #'specific-command-prefix)


;;; windowsっぽい設定
;(global-set-key #\c-a 'selection-whole-buffer)
;(global-set-key #\c-f 'search-dialog)
(global-set-key #\c-n 'new-file)
;(global-set-key #\c-o 'open-filer)
(global-set-key #\c-p 'print-selected-buffer-dialog)
;(global-set-key #\c-r 'replace-dialog)
;(global-set-key #\c-s 'save-buffer-dialog)
;(global-set-key #\home 'beginning-of-virtual-line)
;(global-set-key #\end 'end-of-virtual-line)
(global-set-key #\c-home 'beginning-of-buffer)
(global-set-key #\c-end 'end-of-buffer)
(global-set-key #\s-c-home 'selection-beginning-of-buffer)
(global-set-key #\s-c-end 'selection-end-of-buffer)
;(global-set-key #\f3 'search-forward-again)
;(global-set-key #\s-f3 'search-backward-again)
(global-set-key #\m-f4 'kill-xyzzy)
(global-set-key #\c-f4 'close-selected-buffer)
(global-set-key #\c-left 'backward-word)
(global-set-key #\c-right 'forward-word)
(global-set-key #\s-c-left 'selection-backward-word)
(global-set-key #\s-c-right 'selection-forward-word)

xyzzy の設定(~/usr/usrname/os/xyzzy.ini)

[Font]
Ascii=13,"BDF UM+",128
Japanese=13,"BDF UM+",128
Latin=18,"Courier New",0
Cyrillic=18,"Courier New",0
Greek=18,"Courier New",0
GB2312=18,"MS Hei",0
BIG5=18,"MingLiu",0
KSC5601=18,"GulimChe",0
Georgian=18,"BPG Courier New U",0
lineSpacing=2
backslash=1
recommendSize=0
sizePixel=1
[Colors]
textColor=#613c29
backColor=#fbfaf4
ctlColor=#d7c6b5
selectionTextColor=#f000000
selectionBackColor=#675441
kwdColor1=#6756d1
kwdColor2=#33844f
kwdColor3=#bb7d46
stringColor=#5a5e87
commentColor=#d9b681
tagColor=#bf9b46
cursorColor=#8b6bba
caretColor=#7b3c06
imeCaretColor=#52cbad
linenum=#a4a0a0
reverse=#2685758
unselectedModeLineFg=#633821
unselectedModeLineBg=#10e3dfe0
modeLineFg=#563d32
modeLineBg=#d9ccc4
fg1=#967a00
bg1=#d8e8f8
fg2=#9ced
bg2=#e1eef4
fg3=#4c64a2
bg3=#ccdadb
fg4=#3e2c6c
bg4=#e2e0c1
fg5=#293eca
bg5=#f1e6ca
fg6=#8b55c5
bg6=#d0f4ee
fg7=#34008d
bg7=#aad0a9
fg8=#b3711b
bg8=#cbeaf4
fg9=#dbb100
bg9=#52d0ee
fg10=#7a8100
bg10=#c1c7fa
fg11=#457597
bg11=#dbddfb
fg12=#4d78e6
bg12=#f1e2de
fg13=#2bb183
bg13=#eddce9
fg14=#51714f
bg14=#ebeade
fg15=#88814d
bg15=#e0e0e0
[Misc]
1280x1024=(31,211)-(1156,986),1
saveWindowSize=1
saveWindowPosition=1
restoreWindowSize=1
restoreWindowPosition=1
windowFlags=#17f
fnkeyLabels=0
foldMode=0
foldLinenumMode=2
[Filer]
textColor=#9000000
backColor=#6ffffff
highlightTextColor=#fffffff
highlightBackColor=#e6a240a
cursorColor=#c000c0
column=239,65,116,44
s1280x1024=(549,452)-(953,970),1
sort=0
columnLeft=169,65,116,44
columnRight=121,65,116,44
1280x1024=(513,59)-(1260,517),1
sortRight=0
sortLeft=0
[PrintPreview]
1280x1024=(219,351)-(1062,959),1
scale=99
[Print]
textMargin=(100,150)-(100,150)
headerOffset=100
footerOffset=100
columnSep=50
lineSpacing=20
lineNumber=0
columns=1
foldColumns=0
header="%f%l%r%:w, %0d %:m %Y %0h:%0M:%0s"
footer="- %p -"
headerOn=1
footerOn=1
recommendSize=1
showProportional=1
useBitmap=0
Ascii=100,"M+1P+IPAG",128,0,0
Japanese=100,"MS ゴシック",128,0,0
Latin=100,"Courier New",0,0,0
Cyrillic=100,"Courier New",0,0,0
Greek=100,"Courier New",0,0,0
GB2312=100,"MS Hei",134,0,0
BIG5=100,"MingLiu",136,0,0
KSC5601=100,"GulimChe",129,0,0
Georgian=100,"BPG Courier New U",0,0,0
[BufferSelector]
column=117,65,100,320
1280x1024=(170,443)-(728,736),1
[header]
1="%F%l%r%:w, %0d %:m %Y %0h:%0M:%0s"
2="%f%l%r%:w, %0d %:m %Y %0h:%0M:%0s"
[footer]
1="- %p -"


2010年01月のエディタの話#1 Editor on MacBook(Mac OSX 10.4 Tiger)

Posted at Thu, 21 Jan 2010 in computer::mac

Carbon Emacs のスクリーンショット

月ごとにテーマを決めて文章を書く、というのを何年か続けるとあとから俯瞰したときに面白いのではないか、と書いてあったのを見かけてまねしようと思って、先月は webサービスについての長々しい文章を書きました。
そして1月はエディタについて書く月。ということに決めておくことにしようと思います。

メイン環境(自宅):MacOS X Tiger(10.4)のエディタ

エディタについて一番迷走しているのがこの MacBook 環境。あれこれとつまみ食いを試したあげくに、最近ようやく Carbon Emacs とつきあってみようかと言うことにしていますが、設定に悪戦苦闘しています。という文章を書いているのが Carbon Emacs なのですが、まさにたった今、ものの見事に落ちました。落ちましたがバックアップファイルがあったおかげで若干の文章が消えただけですみました。他のエディタのことを書いていた途中だったのですがなにか気に入らなかったのでしょうか。それは不明です。
MacBook にインストールしてあるエディタはほかにもいろいろあります。

あと最近気になっているエディタとしては「TextMeta」で、日本語入力さえ諦めれば、とオススメされていたので気が向けばこれもインストールしてみると思います。Mac エディタに今何より求めているのは安定性とフォント設定のシンプルさ。それと FTP クライアントの Cyber Duck と連携してくれるとなお嬉しい、というぐらいです。というのは拡張で何でもありありな Emacs がとりあえずのメインの位置に今納まっているからなので、サブとして使えるエディタに収まってくれるエディタを探しています。

参考



xyzzy の irc-mode で twittericrgataway (TIG) や opentig.net に接続する方法

Posted at Fri, 15 Jan 2010 in computer::xyzzy

xyzzy の irc-mode で TwitterIrcGateway を使う場合、のデフォルトの文字コードでは文字化けはおきないのですが、UTF-8 にした場合や、同じく opentig.net (デフォルトの文字コードが UTF-8)に接続すると投稿が文字化けしていた現象がようやく直ったので記録をかねてメモしておきます。

エンコーディングが通常の *encoding-utf8* では駄目で、*encoding-std-utf8n* を使うというところが重要というかここで躓いていました。*encoding-utf8* とどう違うかというと、utf8n の n の部分が「Unicode signatureなしのUTF-8」で、std とついているのは「Windowsの変換表ではなくUnicode Consortiumが配布している変換表を使用する」ということのようです。(~/html/OChangeLog.html 参照)

そんでもって肝心の設定については、Twitter のopentig.net の場合 ~/.irc にこんな感じで記述。

(defvar *irc-server* "opentig.net")
(defvar *irc-port* 16668  "irc: ポート番号")
(defvar *irc-nick* "ついったーのID" "TwitterID")
(defvar *irc-realname* "ついったーのIDまたはメールアドレス" "TwitterID")
(defvar *irc-pass* "ついったーのパスワード" "Twitterパスワード")
(defvar *irc-incode* *encoding-std-utf8n* "irc: 入力文字コード")
(defvar *irc-outcode* *encoding-std-utf8n* "irc: 出力文字コード")

またはこんな感じに書いておくと、M-x irc-mode 、M-x irc::opentig で接続できます。接続するサーバをあちこち切り替えるならこっちのパターンで複数書いておくと便利。ただし、xyzzy を複数起動しない限りは一度に複数のサーバには接続できない(と思う)。

(defun opentig ()
  (interactive)
  (setf *irc-server* "opentig.net")
  (setf *irc-nick* "ついったーID")
  (setf *irc-port* 16668)
  (setf *irc-realname* "ついったーID")
  (setf *irc-pass* "ついったーパスワード")
  (setf *irc-incode* *encoding-utf8*)
  (setf *irc-outcode* *encoding-std-utf8n*)
  (irc-connect))

自前で TwitterIrcGateway をホスティングして使っているよという人は、*irc-server* とか *irc-port* とか、さらには *irc-incode* と *irc-outcode* を良いように書き換えてください。ローカル環境なら *irc-server* は localhost、エンコーディングはTIGで特に変更指定していなければ指定しなくても大丈夫です。(指定する場合には両方とも *encoding-jis*)

xyzzy の irc-mode で Twitter を眺める一番のメリットは自在なウィンドウ分割。作業中のウィンドウの下に Reply だけを表示したり、通常タイムライン、チャンネル A,B,C... と同時に複数の異なるタイムラインを一覧できるのは他のクライアントにはちょっとない機能なんじゃないかと思います。

2010/01/28

M-x opentig と書いていたのを M-x irc::opentig に修正。