org2blog 是什么



org2blog 是用来把 org-mode 格式的文章发布到 wordpress 的工具。其实之前使用 webloger.el 也可以发布到 wordpress,不过是
webloger.el 已经基本没人维护了,这个 org2blog 作者支持还很积极,另外 org-mode 还提供了一些额外的方便编辑的方法,所以其实
是个不错的东东。



安装



其实按照上面地址的内容,安装很简单。
(setq load-path (cons "~/.emacs.d/org2blog/" load-path))
(require 'org2blog-autoloads)
  1. 依赖 xml-rpc ,添加到 load-path
  2. 需要最新版本的 org-mode,我使用的是 emacs 24 里面的 7.7,之前使用 7.5(?) 的时候,遇到了发布的时候会在文章结尾附加 </body></html> 导致 blog 的展现挂掉的问题。

使用

配置

;; org2blog
;;

(require 'org2blog-autoloads)
(setq org2blog/wp-blog-alist
      `(("abc"
         :url "http://abc.com/xmlrpc.php"
         :username "admin"
         :password PWD
         :keep-new-lines t
         :confirm t
         :wp-code nil
         :tags-as-categories nil)
        ))

(setq org2blog/wp-buffer-template
  "#+DATE: %s
#+OPTIONS: toc:nil num:nil todo:nil pri:nil tags:nil ^:nil TeX:nil 
#+CATEGORY: Heart
#+TAGS: 
#+PERMALINK: 
#+TITLE:
\n")
我不使用 wordpress 的 code 格式,所以设置了 wp-code 为 nil。可以定义多个 blog。

登陆,发帖

M-x org2blog/wp-login 会提示你要登陆哪个 blog M-x org2blog/wp-new-entry 会使用设置的 template 打开一个 buffer M-x org2blog/wp-post-buffer 保存成 draft M-x org2blog/wp-post-buffer-and-publish 真实发布 另外,还可以发布一个 tree 而不是整个 org 文件,以及一些其他的操作就不多说了。 发布源代码可以使用 BEGIN_SRC END_SRC 块,或者冒号开头的行会被当作源代码。 我使用的是 wp-syntax,所以发布源代码使用 BEGIN_HTML 在里面使用 pre 标签
<pre lang="lisp">
(setq a 1)
</pre>
#+END_HTML

其他

使用 org2blog 只能从 org 发布到 wordpress,不能从 wordpress 回到 org 文件再进行编辑,不过我看到有人已经提供了一个解决方 法,或许将来也会支持这个功能。 使用 org2blog 发布很讨厌的一点是,他会把你的 org 加上很多的 html 代码,再编辑的时候比较讨厌。 org2blog 在 github 的页面 https://github.com/punchagan/org2blog 上面有不少有用的东西,建议看看。