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 件のコメント:
コメントを投稿