proglog

主にプログラミングに関する断片的メモ

el4r、bloggerspotでlivedoor blogにpost

windows xp、Meadow3とcygwin 1.7という環境で、el4r、BloggerPostを使って、ライブドアブログにポスト出来るかやってみた。
これが出来ると随分と楽なんだよなあ。

基本的なものは、
BloggerPost: BloggerPost
から。

el4r 〜EmacsRubyで楽しいEmacsライフ〜
これは、emacsrubyでコントロールする、というものらしい。
BloggerPostはそのアプリケーション。


BloggerPostを使ってみた - Clouder::Bloggerが非常に参考になった。

RAA - rdtoolは僕の環境でも自分でインストールが必要だった。

個人的には、ここにあること以外では、

  • yamlなんて久しぶりに書いたので、ちょっと半角スペースが足りないだけで、重大なエラーになってしまっていた。
  • ライブドアのパスワードはapiキーのものじゃなくて、ブログのパスワード

に引っかかった。



QDBMはwindows版を使った。
DLLをsystemディレクトリにコピーして放り込んだだけ。
最初は、rubywindows版でやるつもりだったので。

が、rubyバインディングが入ってなかった!
だから、別途ソースパッケージを落としてきて、普通の手順でその中のrubyバインディングcygwin環境にインストール

で、rubycygwinを使うことに。

だから、el4rもBloggerPostもcygwinruby環境にそのままインストール

ただ、el4r.el本体は、Meadowのsite-lispにコピーしておいた。

あとは(require 'el4r)、(el4r-boot)で、el4rが動いた!


時々!

なんか、「Symbol's value 'cygwin' as variable is void」とかなんとか言うエラーが出て、ちゃんと動かない。

色々やって結局は
以下のように環境変数CYGWINを設定する。

set CYGWIN= nodosfilewarning

あるいは.emacsの上のほうに、

(setenv "CYGWIN" "nodosfilewarning")

と書いておけばいいような感じ。
少なくともその後変なエラーは出ない。


が!
僕の環境では、記事投稿処理中にBloggerPostがタイムアウトエラーとなる。
rubyのhttpモジュール辺りで。

ただ、記事そのものは投稿できる。
とは言っても、記事に付けたタグが反映されない、という状態。

うーん、これまでずっとタグ付けてきたしなあ。
悩ましいところ。


付記:

  • ちなみにel4r環境変数「(setenv "EL4R_DEBUG" "ture")」で、デバッグログを/tmpに出してくれる。
  • そして環境変数CYGWINの件は、el4rrc.rbの実行時に、expand-file-nameでdos形式のパス名が入り込んでるから、cygwinが「cygwin」で始まるワーニングメッセージを出してて、それをel4rが読み込んでたた、というオチ。それを抑制するオプションが上記のもの。