用weblogger写WordPress博客
作者: 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) 来载入前/后一篇文章。
编辑好了一篇文章/草稿后,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. 另外, 编辑已发布的文章并再次发布有时间问题,快8小时.
本文即在 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;
——————–更新-2010-03-13——————–
再次感谢wd的patch,修正了fetch文章后再次发布的时间问题

loading...
when: Symbol’s value as variable is void: mt_keywords
出这个咋办?
[回复]
打不死的包子 回复:
九月 29th, 2011 at 4:06 下午
@tusooa, 应该是你的变量设置错了,你看有没有拼错
[回复]
你好,下面的2个el不能下载了。你这个是打过补丁的,我从其它地方下载的,都是没有分类的。希望能够发我一份到我邮箱,谢谢。
[回复]
haha 回复:
七月 22nd, 2011 at 10:03 下午
我也想要一份。。 多谢了啊!!!
[回复]
什么字体?
[回复]
我每次设置好了,执行最后一步:weblogger-select-configuration时,总是出现错误:
XML-RPC fault `错误的用户名和密码
附设置信息:
Contacting host: springheart.co.cc:80
Reading [text/xml]… 666 bytes of 657 bytes (101%)
Saving file d:/Home/lhk/.emacs…
Wrote d:/Home/lhk/.emacs
Contacting host: springheart.co.cc:80
Reading [text/xml]… 5k of 5k (100%)
Reading… done
[回复]
补充:文中的两个下载链接不能用了,我是从http://wdicc.com/use-emacs-publish-your-blog/上提到的github上下载的。
[回复]
It is actually a great and useful piece of information. I am glad that you simply shared this useful info with us. Please stay us informed like this. Thanks for sharing.
[回复]
WordPress 3.2.1
[回复]
I love to see bullfrog out in the community watch for us at the Widow Maker Hill Climb in Croyden Utah this weekend.
[回复]
用了一下,可能是我还没习惯,我感觉用Emacs+w3m登录后台写博客也很爽了,不过用这个mode写博客显得比较纯粹。
[回复]