Emacs から WordPress に投稿+α
by k-ui ~ 7月 23rd, 2010. Category: 設定.Emacs から WordPress に投稿するための Elisp (wp-emacs) があるようなので試してみた。
- ファイルのダウンロードし、パスが通っている場所に配置をする。
svn の リポジトリ から、下の二つをダウンロードする
- .emacs(もしくは .emacs.el)に下記の記述を追加
(require 'weblogger) ;; (global-set-key "\C-cbs" 'weblogger-start-entry) ;; C-c b s とタイプすると新規作成
- wordpress の設定を変更
標準のままだと、XML-RPC が使えない。下記の様に辿り wordpress の設定を変更する。
ダッシュボード → 設定(左上辺り?)→ 投稿設定 → XML-RPC の項目にチェックを入れる
M-x weblogger-setup-weblogとタイプし、server-url, user name, password を設定
server-url は、http://(サーバー名)/(wordpress のトップまでのパス)/xmlrpc/M-x weblogger-start-entryとタイプすると、新しい記事を作成できるあるいは、先程の
;; (grobal-setkey ...をコメントから外すならば、C-c b sで新しい記事を作成できる
これで基本的な設定はおしまい。ただしこれだと、記事を編集したいだけの時に、具合が良くない。 M-x weblogger-fetch-entries でできるはずなのだが、ユーザー情報の読み込みが上手くいかない。次の”+α”で、その他いくつかの問題点を解決している。
+α
wordpress で、emacs を立ち上げ wordpress の編集をできるようにするコマンド(正確にはalias)を作る。ついでに wordpress_new ってコマンドで新規記事の作成もできるようにする。
上記に書いた以外に、●時々ユーザ設定を正しく読み込まない、●うっかり C-x C-s すると記事が公開されてしまう、●起動のたびにパスワードを入力する必要がある、●emacs 立ち上げてから weblogger を立ち上げるの面倒、●weblogger.el が無い環境だと起動に失敗する、といった問題がある。これらの問題を .emacs と .zshrc に数行書き加えて解決する 。
まずは、.emacs の先程書いた2行を下記に置き換える
(require 'weblogger nil t) ;; weblogger.el がないときロードしない (if (featurep 'weblogger) ;; weblogger.el があるときだけ以下を実行する (let () ;; (global-set-key "\C-cbs" 'weblogger-start-entry) ;; C-c b s で新規作成 ;; C-x C-s を記事の保存だけする (define-key weblogger-entry-mode-map "\C-x\C-s" 'weblogger-save-entry) ;; C-c C-c で記事の保存 → 公開をする。また公開中の記事は、非公開になる。 (define-key weblogger-entry-mode-map "\C-c\C-c" 'weblogger-publish-entry) ;; weblogger-setup-weblog で自動生成されたユーザ情報 (custom-set-variables '(weblogger-config-alist (quote (("default" ;; ここの "default" は、下の起動オプション用関数に使う。人に依っては別の文字で与えてるかもしれない ("user" . "k-ui") ("pass" . "パスワードだよ") ;; "pass" を設定することでパスワードの入力せずに起動できる ("server-url" . "http://k-ui.jp/xmlrpc/") ("weblog" . "1")) )))) ;; コマンドからの起動オプション用関数 (defun kui-weblogger-edit () "Start weblogger-mode" (interactive) (weblogger-select-configuration "default") ;; "default" 部分は適切な文字に置き換え (weblogger-fetch-entries)) ;; コマンドからの起動オプション用関数 (defun kui-weblogger-create () "Start weblogger-mode" (interactive) (weblogger-select-configuration "default") ;; "default" 部分は適切な文字に置き換え (weblogger-start-entry))))
次に .zshrc に下記を追加
alias wordpress="emacs -f kui-weblogger-edit" alias wordpress="emacs -f kui-weblogger-create"
これで、シェルから wordpress ってコマンド一発で WordPress を編集できる状態になる
問題点
- タグが消える
- 保存・公開した時間がおそらく世界標準時になってしまう
- 新規作成周りがやっぱり不安定
ここまで書いておいてなんだけれど、ちょっとまだ実用的じゃないのかもしれない。