header

2013年8月31日土曜日

自分用Blogger投稿プログラムbpeを記事の更新に対応させた


こんにちは、自分しか使ってないと思って適当にほったらかしていたEmacsから
Bloggerへの投稿プログラムbpeについて先日,既存の記事のついてはどうなるか
とコメント頂いたので少しコードをいじってみた。(そのまま追加されるだけでした)
一応同じ記事を削除して再投稿をできるようにしてみましたが、記事を削除してしまった場合それまでの元の記事の履歴については未確認。(たぶん消えると思います)

謝罪/注意

先にあやまっておくことがあります。。。
Bloggerへの投稿時にHTML内にスペースがあるとgoogleさんが勝手にスペー
スをいれてしまうのですが、このプログラムの対処は完璧ではありません。
正規表現でorg形式からHTML出力後のファイルを正規表現で置換しているだけなので、
ブログのコンテンツ内にHTMLのコードを入れてると、改行をとってしまう場
合があります。なのでブログ内でHTMLのソースコードを貼ると見た目が崩れ
ると思います。
Emacs側でHTMLをパースしてminifyしたものを利用したいのですが、まだ対
応できていません。(というか自分がHTMLのソース貼らないのでやるきが,,,)

修正箇所

bpe:blog-postコマンドという名前だったのですが、bpe:post-articleに名
前を変更しました。
C-uを押してからこのbpe:post-articleコマンドを実行した場合か
bpe:update-articleというコマンドを利用した場合タイトルにマッチする記
事を削除してから投稿という動作になります。

インストール

googleclが必須です。
今の私の環境はUbuntuなので 昔の記事 と状況が違うのですが、
Ubuntuでもgoogleclは問題なく使えました。

sudo apt-get install -y googlecl


bpe自体はel-get環境の方は以下のようなコードを評価したあと
el-get-installからインストールできると思います。

(push (:name bpe
:type git
:url "https://github.com/yuutayamada/bpe.git"
:load-path "./") el-get-sources)

設定

.emacsなどの設定ファイルに以下のコードを追加してください。
el-getから利用する場合はロードパスの設定はいらないので注意してください。

;; load passを通す
(add-to-list 'load-path "YOUR_DOWNLOAD_DIRECTORY/bpe")
(require 'bpe)
(setq bpe:account "あなたのgmail address"
bpe:blog-name "あなたのblog name")

終わり

関数名の変更以外は、昔の記事 のほうが詳しく書いていますのでそちらを
参考にしてください。


0 件のコメント:

コメントを投稿

Popular Posts

Blogger templates

Blogger news