首页 > 中级, 其他, 好玩的 > 用 Emacs Org 撰写博客

用 Emacs Org 撰写博客

作者: wd

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)
  1. 依赖 xml-rpc ,添加到 load-path
  2. 需要最新版本的 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 上面有不少有用的东西,建议看看。

分享家:Addthis中国
GD Star Rating
loading...
用 Emacs Org 撰写博客, 7.1 out of 10 based on 32 ratings 标签:Emacs, org, org2blog, wordpress, 安装, 插件, 配置

相关日志

分类: 中级, 其他, 好玩的
  1. hisptoot
    2012年3月22日17:31 | #1

    又开始更新了 支持下 :-D

    [回复]

  2. 2012年3月22日18:37 | #2

    竟然更新了,支持,不过主题是不是挂掉了?

    [回复]

    ahei 回复:

    @luthur, 非常感谢各位的关心, 以后文章的更新和审核由bigclean兄来负责. 主题没有挂掉, 标题级别用错了, 我让bigclean改下

    [回复]

    luthur 回复:

    @ahei, 已经好了

    [回复]

  3. dyn
    2012年3月25日00:14 | #3

    借宝地一问:有没有这样的博客?1.支持版本控制,check out后,我只要在本地进行编辑,然后commit,服务器上就能反映出最新状态。2.别人引用时可以像wikipedia那样获得一个Permanent link。

    [回复]

    bigclean 回复:

    @dyn, 可以尝试下 octopress,其使用的标记语言是 markdown,可以用 git 更新到 github.com,基于 ruby,可以试试。

    [回复]

    crackcell 回复:

    @dyn,
    我自己写了个perl的,将org格式的转换成静态博客。
    https://github.com/crackcell/orgblog-pl
    这是我博客的效果:http://blog.crackcell.com
    :lol: :lol:

    [回复]

  4. dyn
    2012年3月30日10:33 | #4

    本站有些文章过时了,要是能在文章一开始就注明这点,并适当给出一点关于最新情况的提示,应该很有用。

    [回复]

  5. 2012年4月2日09:32 | #5

    嘿嘿,昨晚配置好测试了一下~成功了~~

    [回复]

  6. 2012年4月9日16:14 | #6

    赶紧试下

    [回复]

  7. 2012年5月14日12:47 | #7

    请问登录得时候出现
    xml-rpc-request: Why? url-http-response-status is nil
    是什么回事啊…看源代码上的注释说是什么url-http得keep-alive bug

    [回复]

    耶路撒冷 回复:

    @耶路撒冷, 自己搞定了,原来要设置代理

    [回复]

    wobutianl 回复:

    @耶路撒冷, 怎么设置代理的啊?可以教教我吗?我是windows环境。

    [回复]

  8. 2012年7月10日12:30 | #8

    不错,很方便~

    [回复]

  9. shanicky
    2012年12月8日17:44 | #9

    使用 org2blog/wp-post-*功能的时候
    Emacs会提示plist-get: Symbol’s function definition is void: org-infile-export-plist
    肿么办 :cry:

    [回复]

  10. 2013年2月5日14:12 | #10

    不错,又学习到一招

    [回复]

评论分页
1 2 41897
  1. 2012年5月15日22:20 | #1
:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!: