header

2013年10月11日金曜日

Emacsから org-mode で Blogger に記事を送るbpe.elがタグに対応しました。

googleコマンドをみてたら–tagsオプションがあったので指定できるように
しました。それとupdate時にbpe:use-real-post-when-updating変数にtを設定
することで、ドラフトではなくそのまま更新するようにしました。
既に利用されているかたは(もしいたら)、githubから利用しているとおもうので、
git pullしてConfiguratinの項の設定を加えてください。これからインストールしたい方は
melpaにも登録してみたので、M-x list-packagesコマンドからbpeを探してイ
ンストールできます。

  • そもそも bpe.el って、、、
    タイトルにはさらっと書いてますが、Emacsの olg-mode 形式のファイルから
    googleの Blogger にHTMLエクスポートしたものを送るプログラムです。

Requirement

googlecl というパッケージを利用しているので最初にインストールする必要が
あります。Ubuntuでは以下のようにインストールできました。

sudo apt-get install googlecl

Installation

Melpa からインストールする場合は M-x package-install bpe でインストールできます。GitHubからクローンしたい場合は ここから インストールできます。

Configuration

以下の設定を.emacsなどの設定ファイルに貼り付けてください。
bpe:lang変数は$LANG変数を参照するので最設定しないと文字ばけするかもし
れません。bpe:use-real-post-when-updating変数は記事をアップデートする
ときにドラフトではなくそのままポストします。(default nil)
bpe:no-ask変数はnon-nilだと更新時のy/nの問い合わせを出ないようにします。

(require 'bpe)
(setq bpe:account "your mail address on google blogger")
(setq bpe:blog-name "your blog name")
(setq bpe:no-ask t)
(define-key org-mode-map (kbd "C-c C-p") 'bpe:post-article)
;; Do not attach --draft option if updating
(setq bpe:use-real-post-when-updating t)
;; For Japanese, default is $LANG environment variable.
(setq bpe:lang "ja_JP.UTF-8")

Usage

.org形式のファイルを開いて以下のコメント行を貼り付けます。

#+TITLE: How to post my blog from Emacs and org-mode?
#+OPTIONS: toc:nil \n:nil num:nil
#+TAGS: Emacs Blog
#+AUTHOR: author-name

OPTIONSは必要はありませんが、toc(table of contents)の部分が表示される
のが嫌な場合は書いておいたほうがいいです。
TITLE行はブログのタイトルになり、TAGSはブログのタグになります。
(これが今回の追加した機能)

ポストするにはM-x bpe:post-articleコマンドか設定の項で入れたキーバイン
ドでできます。C-uを押してから実行した場合は同じ名前の記事を削除してから
投稿します。

使用環境

僕はOrg-mode 8.1.1(maint branch)を使用しています。
古いバージョンのorg-modeを利用していてもし動かなかった場合は、

(defadvice bpe:export-html
(around ad-use-old-export-func activate)
(bpe:export-html-old-version))

で動くかもしれません。(確認はしてないけど前は動いていたので)

問題

googleのBloggerサービスがHTML内に改行が入っていると自動で改行をいれてし
まうので、対処としてHTMLをminifyするコード(perlのパッケージを利用してる
だけ)を書きましたが,,,
org-mode内で<p></p>要素などの最初と最後に改行をいれていて、もうminifyす
るとかそんな問題じゃなかった。
というわけで現在はHTML出力したものに正規表現で改行を置換しています。な
ので文書内に<p>\nのような部分があった場合は改行が削除されてしまいます。


0 件のコメント:

コメントを投稿

Popular Posts

Blogger templates

Blogger news