VimからWordPressのエントリを投稿する方法
僕がエントリを投稿するときはいつも Vim で下書きした内容をクリップボードに貼り付け、WordPress の新規投稿ページに貼り付ける、という流れで投稿していますが、 これを Vim の世界だけで完結できないかと思い調べてみました。
WordPress.vim
便利そうな Vim のプラグインを発見
機能概要
一部抜粋。
This is a mirror of http://www.vim.org/scripts/script.php?script_id=3510
VimRepress is a plugin for managing wordpress blog from Vim, a rewritten of vimscript #1953 , which is broken for years.
Now VimRepress lives with more powerful again.
REQUIREMENT
- Vim 7.3+ with python 2.6/2.7 support
- Python Environment matched wtih Vim's support
- python-markdown/python-markdown2 installed
- wordpress 3.0.0 +
翻訳してみました。
これはhttp://www.vim.org/scripts/script.php?script_id=3510のミラーです。
VimRepress は、Vim の WordPress ブログを管理するためのプラグインです。
VimRepress は継続して改良し続けています(?)
利用前提条件
- Python 2.6 / 2.7 をサポートする Vim 7.3 以降
- Python Environment と Vim のサポート
- python-markdown / python-markdown2 がインストールされている
- ワードプレス 3.0.0 +
インストール
僕は Dein を導入しているので、以下の流れでインストールしました。
1) .vimrc に以下の行を追記
2) Vim を再起動してから以下のコマンドを叩く
WordPress へ接続するための設定
WordPress の設定ファイルを準備。$HOME/.vimpressrc
に、次のフォーマットで保存。
早速以下のコマンドを叩いてみました。
すると。
どうやら Vim8 環境あるいは Python3.x 環境では動作しない模様。
諦めて自前でスクリプトを作成
PHP の実行環境が自分の PC にインストールされているため、PHP のライブラリを使って Post する仕組みを構築。
利用したライブラリ
Packagist.org から見つけてきました。
rolenweb/xml-rpc-wordpress-api - Packagist
インストール
Composer を使って Global にインストールしておく。
エントリ投稿様スクリプトの作成
PATH
の通ったディレクトリにファイルを作成します。
例) wp-post.php
使い方
事前に以下の環境変数を設定しておきます。
適当に記事ファイルを作成(1 行目にはタイトル、スペースを開けて 3 行目から本文)。
これを標準入力としてスクリプトに食わせ。
テスト
ちゃんと下書きエントリが増えている、と思ったら思い切り文字化けしている。
2020-05-24 追記 : 対処法を後述 。
2020-05-24 追記
先のライブラリの文字化け解消方法が特定できました。
ラッパーライブラリを自作し対処しました。
Packagist.org で公開したのでもしよかったらお使い下さい。
https://packagist.org/packages/genzouw/xmlrpc-wordpress-api
当面は今までどおりクリップボードに貼り付けてのエントリ投稿ですね 。
なんとか文字化けの問題にも対処できたので、PHP のスクリプトをコマンドラインから呼び出して投稿できました!
ディスカッション
コメント一覧
まだ、コメントがありません