星期日, 8月 06, 2006

irclog2html

log是很重要的! 我在前面有提過
有時候要把班上在irc 裏面的log放給大家看
基本上只要把\n換成
就可以作成可以看的html 了

不過我被同學反應過 "看了眼睛痛"
我想起好像我在找一些ubuntu的資料的時候會看到#ubuntu-tw的irc logs
又google了一下, 發現都是用一個叫作irclog2html.pl 來轉換的
二話不說, 趕快去下載...(請繼續往下看..)


不過執行出來結果不是很理想, 好像該有顏色的都沒有? (應該說是根本全部都是黑白)
這樣不是沒差嗎@@" 我找了一下原因
是出在timestamp 上, 它在把time stamp 拿掉的地方是這樣的:
if ($line =~ /^\[?\d\d:\d\d(:\d\d)?\]? .*$/) {
$time = $line;
$time =~ s/^\[?(\d\d:\d\d(:\d\d)?)\]? .*$/$1/;
$line =~ s/^\[?\d\d:\d\d(:\d\d)?\]? (.*)$/$2/;
print $time;
}
而我的log timestamp是這樣: [%m %d %H:%M] 所以
把這段改成這樣就可以...
if ($line =~ /^\[\d\d\/\d\d \d\d:\d\d\]\s+.*$/){
$time = $line;
$time =~ s/^\[\d\d\/\d\d (\d\d:\d\d)\]\s+.*$/$1/;
$line =~ s/^\[\d\d\/\d\d \d\d:\d\d\]\s+(.*)$/$1/;
}
另外, 可能也是格式的關係, 我用simpletable輸出的時候有時候會造成"@ nickname" 分行
解決的方法只要在sub output_nicktext 裡面把nickname 的th tag
改成<th nowrap>就可以 (我只改了simpletable這部份的輸出, tt沒有這個問題)
樣就可以輸出漂漂的log了!

沒有留言: