Emacs で WordPress に投稿したかったので weblogger.el を導入した。
以下のコマンドでインストール。
M-x package-install [ENTER] weblogger
.emacs に以下の設定を書く。
[cc lang=”lisp]
;; weblogger
(require ‘weblogger)
(global-set-key “\C-cw” ‘weblogger-start-entry) ; weblogger起動
;; system-time-locale が日本語だと投稿時にエラーとなる
(setq system-time-locale “C”)
;; パスワードを保存する
(setq weblogger-save-password)
(defun my-weblogger-send-entry (&optional arg)
(interactive)
(save-buffer)
(set-buffer-modified-p t)
(weblogger-save-entry nil arg)
(my-weblogger-quit))
(defun my-weblogger-quit ()
(interactive)
(when (y-or-n-p “Do you want to quit weblogger-entry? “)
(bury-buffer)))
(add-hook ‘weblogger-start-edit-entry-hook
‘(lambda ()
(define-key weblogger-entry-mode-map (kbd “C-x C-s”) nil)
(define-key weblogger-entry-mode-map (kbd “C-c n”) ‘weblogger-next-entry)
(define-key weblogger-entry-mode-map (kbd “C-c p”) ‘weblogger-prev-entry)
(define-key weblogger-entry-mode-map (kbd “C-c c”) ‘weblogger-start-entry)
(define-key weblogger-entry-mode-map (kbd “C-c C-c”) ‘my-weblogger-send-entry)
(define-key weblogger-entry-mode-map (kbd “C-c C-k”) ‘my-weblogger-quit)
(auto-fill-mode -1))) ; 自動改行をOFF
[/cc]
M-x weblogger-setup-weblog で、あとは対話式でセットアップが進む。
途中で URL を聞かれるが、
WordPress の URL が http://example.com/ だとすると
http://example.com/xmlrpc.php となる。
これは初回のみ。
次からは C-c w で投稿画面が起動する。
ブラウザで画像貼り付けたりプレビューしてから投稿したいので、
基本的に C-c C-c で下書きに保存する。
最初、投稿しようとしたら以下のエラーが出た。
byte-code: Invalid date: 05 2月 2014 20:49:37 +0900
どうやら日付に日本語が含まれているのが良くないようだ。
.emacs に以下の設定を書くことで回避できる。
(setq system-time-locale "C")