[Top] [Contents] [Index] [ ? ]

BloggerPost

BloggerPostは、AtomPPとXML-RPCを使ってブログに記事を投稿できるコマンド ラインツール、Emacsフロントエンドです。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1. はじめに

BloggerPostには以下のような特徴があります。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2. インストール

BloggerPostを動かすためには、el4rとQDBMが最低限必要です。BloggerPostの インストールの前にこれらをインストールしてください。el4rとQDBMのダウン ロード、インストールについては、公式サイトを確認してください。

 
el4r:   http://www.rubyist.net/~rubikitch/computer/el4r/
QDBM:   http://qdbm.sourceforge.net/

QDBMは、Rubyバインディングもインストールしてください。Rubyのスクリプト からrequire 'depot'できれば、OKです。

BloggerPostはSourceForge.jpからダウンロードすることができます。

ダウンロードしたパッケージを任意の場所に展開してください。 インストールは、ruby setup.rbを実行するだけで終了します。

 
% tar jxvf bloggerpost-X.Y.Z.tar.bz2
% cd bloggerpost-X.Y.Z
# ruby setup.rb

Emacsには、el4rを通じてロードされるので、`~/.emacs'などを変更する 必要はありません。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3. 設定

まず、`~/.bloggerpost'というディレクトリを作り、パッケージの中に ある、`config.yml.sample'`config.yml'と名前を変えて、 `~/.bloggerpost'の下に置きます。`~/.bloggerpost/config.yml' には、最低限ブログのアカウントと、投稿するAPIの情報を書かなければなり ません。よって、第三者から見られることがないよう、このファイルのパーミッ ションには注意をしてください。

account:の項目には、ユーザー名とパスワードを記述してください。 name:は、blog:と関連付けるための項目なので、任意の文字列 を指定してください。

blog:の項目には、ブログサービスのAPIの情報を記述する必要があり ます。これは、大きく分けると、サービスがAtomPPを使っているか、XML-RPC を使っているかで、設定方法が変わります。AtomPPの場合は、 posturl:を調べる必要があります。これは、ブログのAtom Feedの中に 記述されていることが多いです。XML-RPCの場合は、apiurl:blogid:を調べる必要があります。これは、各ブログサービスのサイト などで調べてください。

service:には、使用するサービス名を指定してください。現在以下のサー ビスが動作確認されています。

blogger

Blogger AtomPP

mt

Movable Type XML-RPC

typepad

TypePad XML-RPC

wordpress

WordPress XML-RPC

cocolog

ココログ AtomPP

livedoor

livedoorブログ AtomPP

sonet

So-net blog AtomPP

XML-RPCをサポートしているブログなら、mtを指定すると動作することがあり ます。

blog:name:の項目は、コマンドラインやEmacsからブログを指 定するためのIDになります。任意の文字列が指定可能ですが、一度決めて使い 始めたら後から変更することできません。分かりやすく、また、入力しやすい 文字列を選ぶようにしてください。

title:は、ブログのタイトルです。Emacsでの表示時に使用されます。 これは、いつでも変更可能です。

url:は、ブログのトップのURLです。今のところ変更可能ですが、今後 使用される可能性があるので、動作後は変更しないようにしてください。

account:は、上記で設定したアカウントのname:を指定してく ださい。

これで、最低限動作する設定ができました。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4. ドラフトモード

以上のような操作でドラフトバッファが用意されます。BloggerPostのドラフ トモードはマイナーモードとして動作するので、書式に応じたメジャーモード の機能も使用できます。

C-c C-c

bloggerpost-draft-send 編集内容を送信する。

C-c C-k

bloggerpost-draft-kill 編集内容を破棄する。

C-x C-s

bloggerpost-draft-save 編集内容を保存する。

C-c C-z

bloggerpost-draft-save-and-exit 編集内容を保存し、ドラフトモー ドを終了する。

C-c C-p

bloggerpost-draft-preview browse-urlを使って現在のドラフトの内 容をプレビューします。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5. ブログリストモード

M-x bloggerpostでBloggerPostを起動すると、この画面になります。一 番上は下書きフォルダで書きかけの記事が保存されます。以下、ブログが config.ymlに書いた順に並べられます。

SPC
RET

bloggerpost-bloglist-select-current 現在カーソルがある行のフォ ルダのエントリーリストに移動します。

q

bloggerpost-exit BloggerPostを終了します。

w

bloggerpost-draft 新規エントリーを作成してドラフトバッファに移 動します。

s

bloggerpost-bloglist-force-update 情報を更新します。

G

bloggerpost-global-search 全てのエントリーを対象に検索を実行し ます。

b

bloggerpost-bloglist-browse-url browse-urlを使ってブログのURLを ブラウザに送ります。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6. エントリーリストモード

ブログリストモードでフォルダを選択すると、この画面になります。下書きフォ ルダのエントリー一覧、もしくは、ブログに投稿したエントリー一覧を表示し ます。

RET

bloggerpost-entrylist-read 現在カーソルがある行のエントリーを表 示します。

q

bloggerpost-exit ブログリストに戻ります。

n

bloggerpost-entrylist-next 次のエントリーを表示します。

p

bloggerpost-entrylist-prev 前のエントリーを表示します。

w

bloggerpost-draft 新規エントリーを作成してドラフトバッファに移 動します。

e

bloggerpost-entrylist-edit 現在カーソルがある行のエントリーを再 編集します。

D

bloggerpost-entrylist-delete 現在カーソルがある行のエントリーを 削除します。(サーバーにリクエストを送信しますが、ローカルの情報は削除 されません)

s

bloggerpost-entrylist-force-update 情報を更新します。

S

bloggerpost-entrylist-search エントリーリストをソートします。

S

bloggerpost-entrylist-sort エントリーリストをソートします。

g

bloggerpost-entrylist-search エントリーリストのエントリーを対象 に検索を実行します。

G

bloggerpost-global-search 全てのエントリーを対象に検索を実行し ます。

b

bloggerpost-entrylist-browse-url browse-urlを使ってエントリーの URLをブラウザに送ります。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7. 拡張記法

BloggerPostで記事を書く場合は、HTMLやRD、Wikiなどの構造化テキストを用 いますが、さらにBloggerPost独自の記法を使うことで、シンタックス・ハイ ライトやAmazonアソシエイト・プログラムを使ったAmazonの商品表示機能など を使用できます。

これらの拡張記法には、さらにソフトウェアのインストールが必要だったり、 AmazonなどのWebサービスのアカウントが必要だったりします。詳しくは個別 の項目を参照してください。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.1 拡張記法構文

拡張記法には共通の構文があります。基本的には、識別子(bphtml、bprubyな ど)を引数と一緒に書くと、BloggerPostによりHTMLに変換されるわけですが、 引数の書き方で構文は大きくインラインとブロックの二つに分かれます。さら に追加の引数をどう記述するかでいくつかの決まりがあります。

インラインの場合は、普通に文の中にbpasin:4488459013のように記述 します。引数の記述は、前述のようにコロンに続けて書く方法と、 [bphtml <del>hoge</del> bp]のように括弧で囲む方法の二つがありま す。括弧の形は、[でも{でも(でも構いません。書式に よって使いわけてください。

ブロックの場合は、preタグの中に記述します。

 
<pre>
bphtml
<ul>
<li>hoge</li>
<li>fuga</li>
</ul>
</pre>

これは改行を伴うような大きな引数がある場合に使います。合わせて、コロン に続けて引数を書く場合もあります。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.2 HTML埋め込み記法

識別子は、bphtmlです。

BloggerPostでは、HTML以外に様々な構造化テキストでブログを書くことがで きますが、形式や書式によっては、思い通りのHTMLが得られない場合がありま す。その場合には、HTML埋め込み記法を使って、直接HTMLを記述することがで きます。インライン、ブロック両方の文法で書くことができます。追加の引数 はありません。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.3 Ruby埋め込み記法

識別子は、bprubyです。

記事の中にRubyのプログラムを書くことができます。インラインとブロックの 両方の文法で書くことができます。

 
[bpruby Time.now.strftime('%Y年%m月%d日') bp]

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.4 シンタックス・ハイライト記法

識別子は、bpsyntaxです。

記事中のプログラムなどにCSSで色を付けられる機能です。内部でVimを使うの で、Vimがインストールされている必要があります。ブロックの文法でのみ書 けます。bpsyntax:に続けてプログラムの種類を書きます。すると、プログラ ムがspanタグでマークアップされるので、適切なCSSを記述してください。CSS の例をbpsyntaxを使って記述すると以下のようになります。

 
bpsyntax:css
/* for syntax */
.Special { color: khaki; }
.Type { color: palegreen; }
.Comment { color: darkorange; }
.PreProc { color: cyan; }
.Identifier { color: lightskyblue; }
.Constant { color: lightsalmon; }
.Statement { color: greenyellow; }
pre.bpsyntax {
  border: none;
  color: #ffffff;
  background-color: #224444;
}

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.5 ASIN記法

識別子は、bpasinです。

ASIN記法は、Amazon Web サービスであるAmazon E-Commerce Serviceを使って Amazonの商品を取得して、記事の中にその情報を埋め込むことができる記法で す。また、リンクから商品が購入された場合は、Amazonのアソシエイト・プロ グラム経由で収入を得ることもできます。

まず、`~/.bloggerpost/config.yml'に設定を記述します。

 
amazon:
  awsaccesskeyid: 170MPM6XPQTA41ANYGG2
  associateid: lifeisuneafor-22

awsaccesskeyid:のところには、Amazon ECSから発行されたIDを記述し ます。associateid:にはアソシエイト・プログラムから発行されたID を記述します。

記事中にはbpasin:4488459013:detailのように識別子とASIN番号と表 示形式をコロンで繋いで記述します。表示形式にはtitleimagedetailの3種類があります。さらにlargesmallと記述することで画像の大きさを指定することもできます。


[Top] [Contents] [Index] [ ? ]

Table of Contents


[Top] [Contents] [Index] [ ? ]

About This Document

This document was generated by Seitaro Yuuki on May, 18 2007 using texi2html 1.76.

The buttons in the navigation panels have the following meaning:

Button Name Go to From 1.2.3 go to
[ < ] Back previous section in reading order 1.2.2
[ > ] Forward next section in reading order 1.2.4
[ << ] FastBack beginning of this chapter or previous chapter 1
[ Up ] Up up section 1.2
[ >> ] FastForward next chapter 2
[Top] Top cover (top) of document  
[Contents] Contents table of contents  
[Index] Index index  
[ ? ] About about (help)  

where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:


This document was generated by Seitaro Yuuki on May, 18 2007 using texi2html 1.76.