header

2012年12月10日月曜日

EmacsからBloggerに投稿する

EmacsからBloggerに投稿する

実はこの題名ですでに記事を書いているのですが
ちょっと足りない部分があったので書き直します。

準備

pythonの実行環境とgooglecl,python-beautifulsoupが
必要です。このブログ を参考にしました。
私はDebian環境なので次のようにインストールしました。

sudo apt-get install emacs python googlecl python-beautifulsoup

ポスト用のコード

ここから gitでcloneしてください。

cd YOUR_DOWNLOAD_DIRECTORY
git clone https://github.com/yuutayamada/bpe.git


次のコードをあなたの.emacsとかに貼りつけてください。

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


貼り付けが終わったら、
Emacsを再起動するか、C-x C-eなどでコードを評価してください。
その後、XXX.org形式のファイルで編集が終わったら、
そのファイルで M-x bpe:blog-post コマンドでポストできます。


それとBloggerはorg-modeで生成したHTMLに改行があると<br>タグに変換する
ようなのでorg-modeから生成後のHTMLは改行をEmacsから消しています。

htmlize.elを入れると,,

htmlize.elを入れると


#+begin_src emacs-lisp
(message "hoge")
#+end_src

org-mode内で上のような書き方をしたとき
シンタックスハイライトをしてくれます。
Emacs24ユーザーの方は
M-x list-packagesコマンドでインストールしてみてください。

CSSのpre要素の色の追加

htmlize.elを使ってシンタックスハイライトを利用する場合は
Emacs側のbackgroundとforegroundの設定が反映されないので
Bloggerにテンプレートからpre要素用のCSSを追加した方が
よいと思います。

pre {
background-color: #000000;
color: #ffffff;
overflow: visible;
overflow: auto;
}

org-modeで書くときの例

#+TITLEの部分を書いておくとそのタイトルでpostします。
#+OPTIONSの部分は ここ を参考にしてください。
下の例はBloggerに投稿する時の私の設定です。

#+TITLE: たいとる
#+OPTIONS: toc:nil \n:nil num:nil
#+AUTHOR: uta
* タイトル
** 見出し1
内容
** 見出し2

終わりに

org-modeでblogを書く人でBloggerを使っている人がどれだけいるか
わかりませんがよければ使ってみてください。


3 件のコメント:

  1. 初めまして.参考にさせて頂いてます!
    随分前の記事にコメントするのも気がひけるのですが...
    これは以前書いた記事の編集時はどうなるのですかね?
    やはり新しい記事として,投稿されるのですかね?

    返信削除
  2. コメントありがとうございます。

    新しい記事が増え続ける仕様でしたが、同じ名前のタイトルがあった場合削除することもできるようにしました。
    http://sleepboy-zzz.blogspot.ca/2013/08/bloggerbpe.html
    ただこの場合昔の記事のアクセス数などはなくなってしまうと思われます。(自分では怖くて確認していません)

    返信削除
  3. ありがとうございます!
    僕はemacs24と最新のorg-modeを使っていて,org-googleclがうまく動いてくれないので,
    utaさんのbpeには非常に助かっています.

    返信削除

Popular Posts

Blogger templates

Blogger news