[Emacs]用Emacs写博客(WordPress)
March 9th, 2008 | by vvoody |此文让你不用登录 wordpress 的后台程序撰写博客,而是利用 Emacs !
源起看到eexpress用 vim 来写 wordpress,所以想着 Emacs 有没有此类插件。Google 了一下,果然有 weblogger 这个一个库。看了下别的资料,在此简单整理下使用方法。
本文只针对 WordPress 用户,虽然介绍可以使用 Blogger, MetaWeblog 等博客程序,还请读者自己尝试。测试环境 Emacs 23.1.1。
一、安装过程:
1. 下载weblogger.el 和 xml-rpc.el
这两个文件我已经打过补丁,分别来自Gabriel Saldaña、rix和wd,感谢他们。现在weblogger可以正常使用分类、Tags、html、permlink。
2. 把这个两个 el 文件放到你的 Emacs 启动路径里,比如我的是:~/.emacs.d/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, Categories, Permlink, Tags, From, Newsgroup 和 –text follow this line–。
Categories就是文章分类,这个分类必须是在你的博客中已经存在的,否则你新创建一个最后系统还是会认成 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-n) 来载入前/后一篇文章。(fetch文章目前有问题)
编辑好了一篇文章/草稿后,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…
‘<’ ── <
‘>’ ── >
以上代码就是 WordPress 中的代码编辑方式中插入的代码,可以直接在
weblogger 模式里用。
参考:
- M-x weblogger TAB 列出所有的命令,或者菜单栏上也有若干;
- weblogger.el 里的注释;
- WANG Cong
- weblogger.el Enhanced!
- Using Emacs and Markdown for Blogging
- WebloggerMode
- emacsweblogs
- Emacs weblogger mode with WordPress tags support
- emacs写wordpress的一个小补丁
注:如果你发现撰写时候的格式和最终发布显示的格式不一样,建议关闭auto-fill-mode
本文即在 weblogger 模式下编辑。
——————–补充——————–
weblogger 默认是读取前 20 篇文章,默认的连接服务器是 openweblog.com。这些都可以通过 M-x customize-group 里的 weblogger 里修改。对应的项目分别是:
Weblogger Max Entries Ring
Weblogger Server URL
——————–更新-2010-03-11——————–
感谢wd的patch,现在weblogger支持添加permlink,”Keywords”、”Summary”分别改成”Categories”、”Tags”
打了两个patch后支持分类、Tags、html标记;
weblogger 1.2 不支持categories的slug,也就是如果你建立了一个类别“工作”,并给他取了别名”work“,那么在weblogger里只能用”工作“;
weblogger 1.2 不支持tags;
28 Responses to “[Emacs]用Emacs写博客(WordPress)”
By wangcong on Mar 9, 2008
Mozilla Firefox 2.0.0.5 Fedora Linux Mozilla Firefox 2.0.0.5 Fedora Linux写得不错~!
P.S. 你这个主题也挺不错的~~
Reply
By vvoody on Mar 10, 2008
Opera 9.25 Windows XP Opera 9.25 Windows XP谢谢 CONG WANG
Reply
By 魔群月光 on Aug 30, 2008
Internet Explorer 7.0 Windows XP Internet Explorer 7.0 Windows XP参考了你这里的文章和另一篇英文的,终于在mac和windows下把emacs发wordpress搞定了,多谢~
Reply
By Cheng on Sep 1, 2008
Internet Explorer 6.0 Windows 2000 Internet Explorer 6.0 Windows 2000谢谢提供,很好的参考资料。
Reply
By Richard on Sep 17, 2008
Mozilla Firefox 3.0.1 Linux Mozilla Firefox 3.0.1 Linux你的图在firefox下出轨了……
Reply
By vvoody on Sep 18, 2008
Opera 9.52 Linux Opera 9.52 Linux[quote comment=737]你的图在firefox下出轨了……[/quote]
和博客theme有关吧,opera下也是。
Reply
By crazycode on Jan 21, 2009
Flock 2.0.2 Linux Flock 2.0.2 Linux我按这个方法配置了后,可以发布到blog,但是有一个问题,写下这样的内容:
def test
puts "hello, world!"
end
提交后,在网站上看到的是这样的内容:
<code lang="ruby">
def test
puts ‘hello, world!’
end
</code>
这是怎么回事?怎么解决?因为我经常要贴代码,请帮忙解决一下,谢谢!
Reply
vvoody Reply:
Mozilla Firefox 3.0.4 LinuxJanuary 21st, 2009 at 19:11
我测试过了,很正常啊。
Reply
Rune15 Reply:
Mozilla Firefox 3.5.6 Windows XPDecember 17th, 2009 at 14:22
我也碰到和你一样的问题.
寻求解答…
Reply
By crazycode on Jan 22, 2009
Mozilla Firefox 3.0.5 Ubuntu Linux Mozilla Firefox 3.0.5 Ubuntu Linux我的emacs是23.0,CVS上下来的,平台是ubuntu8.10,wordpress2.7。
我测试过从官方cvs下来的weblogger.el,还测试过老兄本地的,都一样有问题。
是不是wordpress的xml-rpc接口设置的问题?
Reply
vvoody Reply:
Mozilla Firefox 3.0.4 LinuxJanuary 22nd, 2009 at 14:07
我一直按着本文的设置,昨天刚测试过code标签。
Reply
By crazycode on Jan 22, 2009
Mozilla Firefox 3.0.5 Ubuntu Linux Mozilla Firefox 3.0.5 Ubuntu Linux刚才在flock上试了一下,也是使用xml-rpc提交的,可以发布
这样的代码的,说明wordpress应该是没有问题的。Reply
vvoody Reply:
Mozilla Firefox 3.0.4 LinuxJanuary 22nd, 2009 at 14:09
我一般不用code标签,而是用的WP-Syntax这个插件,然后用下面的写法:
<pre lang=”ruby” line=”1″>
…
…
<pre>
这个效果更好,你可以试试。
Reply
crazycode Reply:
Mozilla Firefox 3.0.5 Ubuntu LinuxJanuary 22nd, 2009 at 15:21
我感觉是我这边把都换成>,而且,还会把&换成",我看你文章中写了:
‘’ ── & g t; (无空格)
难道你那不会换吗?
Reply
By crazycode on Jan 22, 2009
Mozilla Firefox 3.0.5 Ubuntu Linux Mozilla Firefox 3.0.5 Ubuntu Linux而且,我还发现另一个问题,我在emacs中修改之前发布到wordpress上的内容,C-x C-s后,发布时间会变成当前时间,很奇怪的。
Reply
vvoody Reply:
Mozilla Firefox 3.0.4 LinuxJanuary 22nd, 2009 at 14:10
也不清楚他代码怎么写的,elisp不懂
有时候 C-xC-s 了会变成等待发布。。。
Reply
crazycode Reply:
Mozilla Firefox 3.0.5 Ubuntu LinuxJanuary 22nd, 2009 at 15:20
是啊,很奇怪,都觉得这东西没有可用性了。
Reply
vvoody Reply:
Mozilla Firefox 3.0.4 LinuxJanuary 22nd, 2009 at 15:24
呵呵,本来就是 just for fun的。
你是不是加载了什么mode或者别的什么影响到了weblogger。弄个只有 weblogger 的试试看。
By 电脑网 on Feb 14, 2009
Internet Explorer 6.0 Windows XP Internet Explorer 6.0 Windows XPWordPress越来越红火了。。以前我根本就不知道这是个什么东西。。博主是高手啊。还会写程序。我只是改改弄弄的白了。以后看来还要向博主多多学习
Reply
vvoody Reply:
Mozilla Firefox 3.0.6 LinuxFebruary 14th, 2009 at 13:48
小打小闹而已
Reply
vvoody Reply:
Opera 9.80 Windows XPDecember 17th, 2009 at 16:15
2了,这是个spam。。。
Reply
By 32 on Jan 1, 2010
Internet Explorer 6.0 Windows XP Internet Explorer 6.0 Windows XP沧州二手房
Reply
By rix on Mar 4, 2010
Mozilla Firefox 3.5.8 Windows XP Mozilla Firefox 3.5.8 Windows XP你的版本里添加了什么新特性吗?因为我看我的是1.2的,你的是1.6的,你的链接连到了一个不是最新的patch上的文章,所以不清楚你的有什么改进。这段时间也没有怎么关注这个。
Reply
vvoody Reply:
Opera 9.80 LinuxMarch 4th, 2010 at 21:17
我先是下的Gabriel Saldaña版本,但不能写html标记,然后打上你那篇文章的补丁,就是这样。
不过这个版本fetch文章有问题。weblogger的版本是有些乱。。。
能发份你在用的weblogger给我么?
Reply
By p90x on Jul 29, 2010
Mozilla Firefox 3.6.8 Windows XP Mozilla Firefox 3.6.8 Windows XPI totally love this article. I think you could write some other things to make your blog more complete wansantg3lj.
Reply
By ghd on Jul 30, 2010
Mozilla Firefox 3.6.3 Windows XP Mozilla Firefox 3.6.3 Windows XPi believe you are a good writer, but have you erver thought to write some special rtcals for peopel who likes shopping very much wansantg2zxy.
Reply