注意!! この投稿は4年と4ヶ月くらい前に公開したものです。
そのため正常に動作しないかもしれないので、ご注意ください。

wpgoの使い方

wpgoとは?

Command-line tool to interact with WordPress blogs. You can read, publish and administer to some degree.

WordPressブログとやりとりするためのコマンドラインツールです。読んだり、公開したり、ある程度の管理ができたりします。
https://github.com/Automattic/wpgo より

なぜかここ、Automattic/wpgoには書かれてないけど、マットのブログの記事を見るとGoで書かれてるのでwpgoのようですね。

セットアップ (Mac前提です)

コマンドラインツール自体のインストールの方法が書いてなかったので、とりあえずwpgoのリポジトリをgit cloneしてbinの中のwpgo-osxをwpgoに名前変えて~/Applicationsに移動。置き場所はパスが通ってるとこならどこでもいいかと。そのうちたぶんhomebrewに入るでしょう。

で、WordPress.comか、自分でインストールしたWordPressの場合はJetpackでJSON APIを有効にします。

次に、各ブログの認証トークンとブログIDを取得します。
これを取得するには
https://rest-access.test.apokalyptik.com/
にアクセスする必要があるのですが、SSLエラーが表示されます。
READMEには

which looks totally sketchy but it is run by a good guy, trust me
まったくもって怪しいけど、運営者はいいやつなんでオイラを信じて

と書いてありますが、まぁそのへんはご自分の判断で!
で「click here to begin」をクリックするとwordpress.com/oauth2の認証画面に飛びますので認証します。

するってーと、

stdClass Object
(
[access_token] => ABCDEFGH123456
[token_type] => bearer
[blog_id] => 123456
[blog_url] => http://example.com
[scope] =>
)

のような画面が表示されるので、どっかにコピペしときましょー。

トークンとブログIDを取得したら ~/.wpgo.conf を作り、次の2つのパラメータを入れます:

token = ABCDEFGH123456
blog_id = 123456

複数のブログで利用するには上のパラメータの上に [name] でラベルを付けます。ブラケットの中のnameはコマンドラインをタイプするときの名前になります。

[mkaz]
token = ABCDEF123456
blog_id = 123456

[tinker]
token = ZYXWVU987654
blog_id = 987654

コマンド

サイトがひとつの場合

$ wpgo read

$ wpgo read [post-id]

$ wpgo post filename.md

$ wpgo stats

$ wpgo upload image.jpg

サイトが複数の場合はラベルを使います

$ wpgo mkaz read

$ wpgo mkaz read [post-id]

$ wpgo mkaz post filename.md

$ wpgo mkaz stats

$ wpgo mkaz upload image.jpg

投稿の公開

ローカルのMarkdownのファイルを投稿記事として公開(下書きでも)できます。
フォーマットはsample-post.md を見るといいでしょう。

$ wpgo post sample-post.md

helpもなかったり、wpgo read [post-id]で(たぶんマルチバイトがらみ?)でパースエラーになるなどまだまだこれからですが、今後が楽しみ!