2009年2月アーカイブ

EUCで書いたファイルをUTF-8にファイルごと変換する
iconv -c -f EUC-JP -t UTF-8 bot.pm > bot_new.pm

-f (From) は元の文字コード
-t (To) は変換後の文字コード
-o (Out) は出力ファイル名
bot.pm は元のファイル名


VIエディタで文字コードを自動判別させる
vi ~/.vimrc
で.vimrcファイルを作成。

set encoding=utf-8
set fileencodings=iso-2022-jp,sjis,utf-8
を入力して保存する。

VIエディタの現在の文字コードの設定を確認

:set enc?  文字コードを確認 
:set fenc?  ファイルエンコードの確認
:set fencs? 自動判別の設定確認






まずはMeCabをインストールして基礎準備をする

資料:http://mecab.sourceforge.net/#download

MeCabをインストールする前にiconv (libiconv)をインストールしておかないとエラーが起きる。

libiconvのソース: http://www.gnu.org/software/libiconv/#downloading
$ ./configure --prefix=/usr/local
$ make
$ make install
その後
/etc/ld.so.conf に /usr/local/lib を追加して ldconfig を実行する
MeCabをインストール
 % tar zxfv mecab-X.X.tar.gz
% cd mecab-X.X
% ./configure
% make
% make check
% su
# make install

MeCab用辞書インストール
% tar zxfv mecab-ipadic-2.7.0-XXXX.tar.gz
% mecab-ipadic-2.7.0-XXXX
% ./configure
% make
% su
# make install

実装テスト:
tkobayashi@koba206:~$ mecab
すもももももももものうち

すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
EOS

という感じでちゃんと動いているのを確認





インストール Ubuntuの場合
1. sudo vi /etc/apt/sources.list でファイルを編集
   「deb http://debian.hansode.org ./」を追加して保存する
2. sudo apt-get update をしてから、sudo apt-get install libplagger-perl を入力
3. 途中で
   「Install these packages without verification [y/N]? y」
   と表示されるがここは y を入力する。
4. 最新のソースを取ってくるために、svn checkout http://svn.bulknews.net/repos/plagger/trunk/plagger を入力する
5. svnから取得したフォルダの中からassetsとlibのフォルダを/usr/local/plagger/内にコピーしてくる

設定ファイルを用意する
1. /usr/local/plagger/ 内で vi stickamPlanet.yaml を入力して下記設定を入れる
global:
  plugin_path:
    - /usr/local/plagger/lib/Plagger/Plugin
  assets_path: /usr/local/plagger/assets
  timezone: Asia/Tokyo
  log:
    level: debug

plugins:
  - module: Subscription::Planet
    config:
      keyword: Stickam スティッカム
      lang: ja
  - module: Bundle::Planet
    config:
      duration: 7 days
      title: Stickam Planet
      description: Everything Stickam from the Web
      dir: /www/koba206.com/planet/stickam
      url: http://www.koba206.com/planet/stickam
      theme: sixapart-std
      stylesheet: http://bulknews.typepad.com/blog/styles.css
実装する
1. このままの状態でPlaggerを走らせると、エラーが起きる
Segmentation fault というエラーを吐き出して止まってしまう。調べた結果これはBundle::Planetが原因。 Plugin/Bundle/Planet.pm 内のHTML::Tidyをコメントアウトすると問題なく動くようになる。
資料:http://www.simazaki.com/~izumi/blog/archives/2007_8_8_494.html
    #eval { require HTML::Tidy };
    #unless ($@) {
    #    $context->load_plugin({
    #        module => 'Filter::HTMLTidy',
    #    });
    #}
これを自動的に1日二回更新されるようにcrontabを使って走らせる
tkobayashi@koba206:~$ crontab -e
SHELL=/bin/sh
# m h  dom mon dow   command
0 0,12 * * *  plagger -c stickamPlanet.yaml
これで作成できたのが⇒http://www.koba206.com/planet/stickam/

Plaggerに関することなら、販売されたばっかりの↓がおススメ!