[Emacs]用Emacs写博客(WordPress)

March 9th, 2008 | by vvoody |

此文让你不用登录 wordpress 的后台程序撰写博客,而是利用 Emacs !
源起看到 eexpress 用 vim 来写 wordpress,所以想着 Emacs 有没有此类插件。Google 了一下,果然有 weblogger 这个一个库。看了下别的资料,在此简单整理下使用方法。

本文只针对 WordPress 用户,虽然介绍可以使用 Blogger, MetaWeblog 等博客程序,还请读者自己尝试。

一、安装过程:
1. 下载weblogger.elxml-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。编辑状态见下图:

weblogger

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;

  1. 22 Responses to “[Emacs]用Emacs写博客(WordPress)”

  2. By wangcong on Mar 9, 2008

    Using Mozilla Firefox Mozilla Firefox 2.0.0.5 on Fedora Linux Fedora Linux

    写得不错~!
    P.S. 你这个主题也挺不错的~~

    Reply

  3. By vvoody on Mar 10, 2008

    Using Opera Opera 9.25 on Windows Windows XP

    谢谢 CONG WANG :-)

    Reply

  4. By 魔群月光 on Aug 30, 2008

    Using Internet Explorer Internet Explorer 7.0 on Windows Windows XP

    参考了你这里的文章和另一篇英文的,终于在mac和windows下把emacs发wordpress搞定了,多谢~

    Reply

  5. By Cheng on Sep 1, 2008

    Using Internet Explorer Internet Explorer 6.0 on Windows Windows 2000

    谢谢提供,很好的参考资料。

    Reply

  6. By Richard on Sep 17, 2008

    Using Mozilla Firefox Mozilla Firefox 3.0.1 on Linux Linux

    你的图在firefox下出轨了……

    Reply

  7. By vvoody on Sep 18, 2008

    Using Opera Opera 9.52 on Linux Linux

    [quote comment=737]你的图在firefox下出轨了……[/quote]
    和博客theme有关吧,opera下也是。

    Reply

  8. By crazycode on Jan 21, 2009

    Using Flock Flock 2.0.2 on Linux Linux

    我按这个方法配置了后,可以发布到blog,但是有一个问题,写下这样的内容:

    def test
    puts "hello, world!"
    end

    提交后,在网站上看到的是这样的内容:
    <code lang="ruby">
    def test
    puts ‘hello, world!’
    end
    </code>

    这是怎么回事?怎么解决?因为我经常要贴代码,请帮忙解决一下,谢谢!

    Reply

    vvoody Reply:

    我测试过了,很正常啊。

    Reply

    Rune15 Reply:

    我也碰到和你一样的问题.
    寻求解答…

    Reply

  9. By crazycode on Jan 22, 2009

    Using Mozilla Firefox Mozilla Firefox 3.0.5 on Ubuntu Linux Ubuntu Linux

    我的emacs是23.0,CVS上下来的,平台是ubuntu8.10,wordpress2.7。
    我测试过从官方cvs下来的weblogger.el,还测试过老兄本地的,都一样有问题。
    是不是wordpress的xml-rpc接口设置的问题?

    Reply

    vvoody Reply:

    我一直按着本文的设置,昨天刚测试过code标签。

    Reply

  10. By crazycode on Jan 22, 2009

    Using Mozilla Firefox Mozilla Firefox 3.0.5 on Ubuntu Linux Ubuntu Linux

    刚才在flock上试了一下,也是使用xml-rpc提交的,可以发布这样的代码的,说明wordpress应该是没有问题的。

    Reply

    vvoody Reply:

    我一般不用code标签,而是用的WP-Syntax这个插件,然后用下面的写法:
    <pre lang=”ruby” line=”1″>


    <pre>

    这个效果更好,你可以试试。

    Reply

    crazycode Reply:

    我感觉是我这边把都换成>,而且,还会把&换成",我看你文章中写了:
    ‘’ ── & g t; (无空格)
    难道你那不会换吗?

    Reply

  11. By crazycode on Jan 22, 2009

    Using Mozilla Firefox Mozilla Firefox 3.0.5 on Ubuntu Linux Ubuntu Linux

    而且,我还发现另一个问题,我在emacs中修改之前发布到wordpress上的内容,C-x C-s后,发布时间会变成当前时间,很奇怪的。

    Reply

    vvoody Reply:

    也不清楚他代码怎么写的,elisp不懂 :(
    有时候 C-xC-s 了会变成等待发布。。。

    Reply

    crazycode Reply:

    是啊,很奇怪,都觉得这东西没有可用性了。

    Reply

    vvoody Reply:

    呵呵,本来就是 just for fun的。
    你是不是加载了什么mode或者别的什么影响到了weblogger。弄个只有 weblogger 的试试看。

  12. By 电脑网 on Feb 14, 2009

    Using Internet Explorer Internet Explorer 6.0 on Windows Windows XP

    WordPress越来越红火了。。以前我根本就不知道这是个什么东西。。博主是高手啊。还会写程序。我只是改改弄弄的白了。以后看来还要向博主多多学习

    Reply

    vvoody Reply:

    小打小闹而已 ;-)

    Reply

    vvoody Reply:

    2了,这是个spam。。。

    Reply

  13. By 32 on Jan 1, 2010

    Using Internet Explorer Internet Explorer 6.0 on Windows Windows XP

    沧州二手房

    Reply

Post a Comment