[Emacs]用Emacs写博客(WordPress)
March 9th, 2008 | by vvoody |此文让你不用登录 wordpress 的后台程序撰写博客,而是利用 Emacs !
源起看到 eexpress 用 vim 来写 wordpress,所以想着 Emacs 有没有此类插件。Google 了一下,果然有 weblogger 这个一个库。看了下别的资料,在此简单整理下使用方法。
本文只针对 WordPress 用户,虽然介绍可以使用 Blogger, MetaWeblog 等博客程序,还请读者自己尝试。
一、安装过程:
1. 下载weblogger.el 和 xml-rpc.el
这两个在文件在作者网址上有下载,但鉴于需要翻山越岭,所以我这里提供下载(未作任何修改)。
注:
官方的cvs里有对jwickers作出的patch作了整合,推荐使用。下载时,点rev那列。
2. 把这个两个 el 文件放到你的 Emacs 启动路径里,比如我的是:~/Emacs/site-lisp
3. 在 ~/.emacs 里添加一句:(require ‘weblogger)
二、连接到你的 WordPress 博客:
1. 先得设置你的博客,M-x weblogger-setup-weblog。
2. Server Endpoint (URL): http://vvoody.org/blog/xmlrpc.php
WordPress 的博客必须填 xmlrpc.php。
3. 输入用户名密码后,Emacs 就会提示你连接成功,会将你博客的信息添加在 .emacs 文件末尾。
PS: 千万别把空间的用户名和博客的用户名搞混,我就是因为这个登了半天也上不去。
三、写博客:
1. M-x weblogger-select-configuration,选择你刚才设置的配置信息,否则默认是 openweblog.com。以后每次要登录你的博客都要使用这个命令。
2. M-x weblogger-start-entry
初始只有 Subject, From, Newsgroup 和 –text follow this line–。一般可以添加一个 Keywords: my_category_1, my_category_2, my_category_3。这个分类必须是在你的博客中已经存在的,否则你新创建一个最后系统还是会认成 Uncategorized。编辑状态见下图:

3. 当你写完要发表时用命令:M-x weblogger-publish-entry (C-x C-s)来发表你的文章。如果你暂时不想发表的话,那么 M-x weblogger-save-entry 则是将你文章保存到服务器上,下次可以继续编辑。
weblogger 会自动保存你的博客在 ~/Mail/drafts 里。
四、编辑删除以前的文章:
你可能想发表之前保存的草稿,或者不满意已经发表的文章,需要修改或者删除,那么你需要用到:M-x weblogger-fetch-entries (之前你仍需要 M-x weblogger-select-configuration ,输入密码后登录)。
fetch 来的第一篇文章一般是草稿,如果没有草稿则是最新发表的文章。当然,你可以使用 M-x weblogger-prev-entry (C-c C-p) 或 M-x weblogger-next-entry (C-c C-p) 来载入前/后一篇文章。
编辑好了一篇文章/草稿后,M-x weblogger-publish-entry (C-x C-s)就可以发表了。若要删除某篇文章,则是切换到那篇文章,然后执行 M-x weblogger-delete-entry (C-c C-k)
/**************************************************/
基本的操作就是这么些,weblogger 还提供了一些文章模板什么的,这些大家可以自己尝试。
下面列出在 weblogger 模式下可用的标记:
粗体 ── <strong>blod</strong>
斜体 ── <em>italic</em>
链接 ── <a href=”http://www.xxx.com/” mce_href=”http://www.xxx.com/”>aLink</a>
贴图 ── <img src=”http://www.yyy.com/zzz.jpg” mce_src=”http://www.yyy.com/zzz.jpg” alt=”zzz.jpg” />
列表 ──
<ul><li>item_1</li><li>item_2</li></ul>
<ol><li>item_1</li><li>item_2</li></ol>
代码 ── <code>int main()</code>
引用 ── <blockquote>aQuote</blockquote>
更多 ── <!–more–>many many words…
‘<’ ── & l t; (无空格)
‘>’ ── & g t; (无空格)
以上代码就是 WordPress 中的代码编辑方式中插入的代码,可以直接在
weblogger 模式里用。
参考:
- M-x weblogger TAB 列出所有的命令,或者菜单栏上也有若干;
- weblogger.el 里的注释;
- WANG Cong
- weblogger.el Enhanced!
- Using Emacs and Markdown for Blogging
- WebloggerMode
- emacsweblogs
- 注:在撰写文章时,千万不要打开 auto-fill-mode,因为会自动断行,导致你插入的标记符号失效,文章异常难看。
本文即在 weblogger 模式下编辑。——————–补充——————–
weblogger 默认是读取前 20 篇文章,默认的连接服务器是 openweblog.com。这些都可以通过 M-x customize 里的 Weblogger group 里修改。对应的项目分别是:
Weblogger Max Entries Ring
Weblogger Server URL——————–更新-2008-07-22——————–
weblogger 1.2 不支持categories的slug,也就是如果你建立了一个类别“工作”,并给他取了别名”work“,那么在weblogger里只能用”工作“;
weblogger 1.2 不支持tags;
22 Responses to “[Emacs]用Emacs写博客(WordPress)”
By wangcong on Mar 9, 2008
Using写得不错~!
P.S. 你这个主题也挺不错的~~
Reply
By vvoody on Mar 10, 2008
Using谢谢 CONG WANG
Reply
By 魔群月光 on Aug 30, 2008
Using参考了你这里的文章和另一篇英文的,终于在mac和windows下把emacs发wordpress搞定了,多谢~
Reply
By Cheng on Sep 1, 2008
Using谢谢提供,很好的参考资料。
Reply
By Richard on Sep 17, 2008
Using你的图在firefox下出轨了……
Reply
By vvoody on Sep 18, 2008
Using[quote comment=737]你的图在firefox下出轨了……[/quote]
和博客theme有关吧,opera下也是。
Reply
By crazycode on Jan 21, 2009
Using我按这个方法配置了后,可以发布到blog,但是有一个问题,写下这样的内容:
def test
puts "hello, world!"
end
提交后,在网站上看到的是这样的内容:
<code lang="ruby">
def test
puts ‘hello, world!’
end
</code>
这是怎么回事?怎么解决?因为我经常要贴代码,请帮忙解决一下,谢谢!
Reply
vvoody Reply:
January 21st, 2009 at 19:11
我测试过了,很正常啊。
Reply
Rune15 Reply:
December 17th, 2009 at 14:22
我也碰到和你一样的问题.
寻求解答…
Reply
By crazycode on Jan 22, 2009
Using我的emacs是23.0,CVS上下来的,平台是ubuntu8.10,wordpress2.7。
我测试过从官方cvs下来的weblogger.el,还测试过老兄本地的,都一样有问题。
是不是wordpress的xml-rpc接口设置的问题?
Reply
vvoody Reply:
January 22nd, 2009 at 14:07
我一直按着本文的设置,昨天刚测试过code标签。
Reply
By crazycode on Jan 22, 2009
Using刚才在flock上试了一下,也是使用xml-rpc提交的,可以发布
这样的代码的,说明wordpress应该是没有问题的。Reply
vvoody Reply:
January 22nd, 2009 at 14:09
我一般不用code标签,而是用的WP-Syntax这个插件,然后用下面的写法:
<pre lang=”ruby” line=”1″>
…
…
<pre>
这个效果更好,你可以试试。
Reply
crazycode Reply:
January 22nd, 2009 at 15:21
我感觉是我这边把都换成>,而且,还会把&换成",我看你文章中写了:
‘’ ── & g t; (无空格)
难道你那不会换吗?
Reply
By crazycode on Jan 22, 2009
Using而且,我还发现另一个问题,我在emacs中修改之前发布到wordpress上的内容,C-x C-s后,发布时间会变成当前时间,很奇怪的。
Reply
vvoody Reply:
January 22nd, 2009 at 14:10
也不清楚他代码怎么写的,elisp不懂
有时候 C-xC-s 了会变成等待发布。。。
Reply
crazycode Reply:
January 22nd, 2009 at 15:20
是啊,很奇怪,都觉得这东西没有可用性了。
Reply
vvoody Reply:
January 22nd, 2009 at 15:24
呵呵,本来就是 just for fun的。
你是不是加载了什么mode或者别的什么影响到了weblogger。弄个只有 weblogger 的试试看。
By 电脑网 on Feb 14, 2009
UsingWordPress越来越红火了。。以前我根本就不知道这是个什么东西。。博主是高手啊。还会写程序。我只是改改弄弄的白了。以后看来还要向博主多多学习
Reply
vvoody Reply:
February 14th, 2009 at 13:48
小打小闹而已
Reply
vvoody Reply:
December 17th, 2009 at 16:15
2了,这是个spam。。。
Reply
By 32 on Jan 1, 2010
Using沧州二手房
Reply