org2blog 是什么
org2blog 是用来把 org-mode 格式的文章发布到 wordpress 的工具。其实之前使用 webloger.el 也可以发布到 wordpress,不过是 webloger.el 已经基本没人维护了,这个 org2blog 作者支持还很积极,另外 org-mode 还提供了一些额外的方便编辑的方法,所以其实是个不错的东东。
安装
其实按照上面地址的内容,安装很简单。
git clone http://github.com/punchagan/org2blog.git (setq load-path (cons "~/.emacs.d/org2blog/" load-path)) (require 'org2blog-autoloads)
- 依赖 xml-rpc ,添加到 load-path
- 需要最新版本的 org-mode,我使用的是 emacs 24 里面的 7.7,之前使用 7.5(?) 的时候,遇到了发布的时候会在文章结尾附加 导致 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 标签,这样出来的代码会加上格式高亮。
#+BEGIN_HTML
<pre lang="lisp">
(setq a 1)
</pre>
#+END_HTML
其他
使用 org2blog 只能从 org 发布到 wordpress,不能从 wordpress 回到 org 文件再进行编辑,不过我看到有人已经提供了一个解决方法,或许将来也会支持这个功能。
使用 org2blog 发布很讨厌的一点是,他会把你的 org 加上很多的 html 代码,再编辑的时候比较讨厌。
org2blog 在 github 的页面 https://github.com/punchagan/org2blog 上面有不少有用的东西,建议看看。