首页 > 中级, 其他 > 用weblogger写WordPress博客

用weblogger写WordPress博客

2010年3月3日 ahei 发表评论 阅读评论

作者: vvoody

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

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

一、安装过程:
1. 下载weblogger.elxml-rpc.el

这两个文件我已经打过补丁,分别来自Gabriel Saldañarixwd,感谢他们。现在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。编辑状态见下图:

用weblogger写WordPress博客

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…
‘<’ ── &lt;
‘>’ ── &gt;

以上代码就是 WordPress 中的代码编辑方式中插入的代码,可以直接在
weblogger 模式里用。

参考:

:如果你发现撰写时候的格式和最终发布显示的格式不一样,建议关闭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文章后再次发布的时间问题

GD Star Rating
loading...
用weblogger写WordPress博客, 7.0 out of 10 based on 4 ratings 标签:ann, Emacs, lightbox, lisp, mode, org, screenshot, se, text, ubuntu, vi, vim, vvoody, weblogger, wordpress, 安装, 插件, 模板, 配置, 配色, 配色

相关日志

分类: 中级, 其他
  1. 2010年3月10日07:38 | #1

    搞定了,就在改 el 文件把那个 link 变成 wp_slug,或改 wp 的 xml-rpc 文件,把里面的 wp_slug 改成 link。写 blog 的时候加一个 X-url 就好了。具体过程在这里。
    http://wdicc.com/use-emacs-publish-your-blog/

    [回复]

    vvoody 回复:

    @wd, wd,把patch发给我吧,更新一下~

    [回复]

    wd 回复:

    @vvoody,

    我改的地方实际没多少,我再完善一下再说吧。

    [回复]

    vvoody 回复:

    @wd, 好 :wink:

    [回复]

  2. 2010年3月10日07:51 | #2

    auto-fill-mode 好像是会自动断行的呀,还是不要用这个吧

    [回复]

    ahei 回复:

    @wd, 呵呵,作者不是特意在文章后面用粗体字表明不要用auto-fill-mode吗?

    [回复]

    wd 回复:

    @ahei,

    那个不是加了删除线么。。。我的意识是还是别加了。。

    [回复]

    vvoody 回复:

    @wd, wd,你遇到在auto-fill打开的情况下文章发布有问题吗?我这里正常阿。

    [回复]

    wd 回复:

    @vvoody,

    加了之后他会自动断行,发出去就会有不少长的行从中间折断了。

    [回复]

    vvoody 回复:

    @wd, 如果你让auto-fill自动每个长行都自动断行了,那么发送出去最后显示的没有问题的。如果你强行保留了某长行,那么最终确会出现折断。

    这个就看个人了。好在,auto-fill目前不影响html标记了。 :)

    [回复]

    匿名 回复:

    @vvoody,
    自动折行的问题加这句试试:
    (require ‘weblogger)
    (setq weblogger-weblog-alist nil)
    (add-hook ‘weblogger-entry-mode-hook
    (lambda ()
    (setq fill-column 4000)))

    [回复]

    vvoody 回复:

    @, 现在测下来auto-fill mode不影响文章格式。不过还是感谢 ;-)

    [回复]

  3. 2010年3月11日06:50 | #3

    又改了一下,好像没什么问题了。把那个 weblogger-fetch-entries 不能用的问题 fix 了。 :-P
    http://github.com/wd/work/blob/master/weblogger.el/weblogger.el

    [回复]

    vvoody 回复:

    @wd, fetch可以了~~ publish的时候出现 Wrong type argument: characterp, “Emacs”

    [回复]

    wd 回复:

    @vvoody,

    无尽的 bug 啊。。。人生就是一个 bug 接另一个 bug。。。

    [回复]

    ahei 回复:

    @wd, 哈哈,所以要慢慢抓bug,别抓完了,抓完了这一生也就到头了

    [回复]

  4. costplus
    2010年3月13日14:45 | #4

    weblogger.el出新版本了。

    [回复]

    匿名 回复:

    @costplus,
    刚发现1.45版本增加了同时发布多个博客的功能(C-c C-a),不知道wb有没有时间再patch一下?

    [回复]

    wd 回复:

    @,

    是和我说么?。。我是 wd ..
    我好像下载过这个版本,和目前上面这些打了 patch 的版本diff了一下,好像差别还是挺大的,
    我这个菜鸟不一定能搞定,只能有时间看看了。

    [回复]

    匿名 回复:

    @wd, :-P

    [回复]

    vvoody 回复:

    @costplus, 嘿嘿,你试试用新的weblogger.el不打任何patch能正常使用么~

    [回复]

    匿名 回复:

    @vvoody,
    给你的gmail发了patch的1.45,试试看行不?

    [回复]

    匿名 回复:

    @vvoody,
    另外,1.45版的添加的博客地址格式和原来的不同,需要删除原记录重新添加,否则会出现错误提示。

    [回复]

    vvoody 回复:

    @, 我测下来1.45没遇到之前烦人的时间问题了。我抽空试试把以前wd打的一些patch merge到你改的1.45版里去。

    [回复]

    leezii 回复:

    @vvoody, 1.45版本的 我这儿还是用不了html标记啊

    [回复]

    vvoody 回复:

    @leezii, 那先用前一版吧

    [回复]

  5. 匿名
    2010年3月22日06:36 | #5

    orgmode可以导出单个tree的文字内容到pdf、html….,那么有没有办法将它和weblogger结合使用呢?我觉得可行,相关的对应字段分别是:
    tree标题内容 = subject
    @tags = 分类
    tags = 标签
    body = 博客内容
    导出以后自动转到weblogger-mode,使用默认的帐户启动。然后可以添加permlink或再进行内容修饰后即可发送。期待有人有时间搞搞。

    [回复]

    vvoody 回复:

    @, 这个.. 你可以向weblogger作者提提看,就别指望我啦,嘿嘿 ;-)

    [回复]

  6. 2010年4月9日06:10 | #6

    看不懂,我是来支持vv的 :-P

    [回复]

  7. pocoyo
    2010年6月7日08:30 | #7

    发布的时候出现这个怎么回事儿?
    let: XML-RPC fault `Sorry, you are not allowed to publish posts on this site.’

    [回复]

    vvoody 回复:

    @pocoyo,

    如信息所说你没权限。

    [回复]

    pocoyo 回复:

    @vvoody, 我在网页上直接可以编辑的啊.

    [回复]

    vvoody 回复:

    @pocoyo, 看看wordpress后台有没有开启xml-rpc支持

    [回复]

    pocoyo 回复:

    @vvoody, 一、开启XML-RPC支持

    XML-RPC协议默认是未开启的,需要到WordPress管理后台的“设置–>撰写”里的“远程发布”给XML-RPC打上勾。其说明文字为:启用 WordPress,Movable Type,MetaWeblog和Blogger 的 XML-RPC发布协议。
    网上找的 可我打开没有这选项 免费的没有? 还是版本不对?
    我就在网页上登陆的 没有安装客户端的wp.

    [回复]

    vvoody 回复:

    @pocoyo, 我翻看了wp的xml-rpc部分的源码,未开启xml-rpc支持是出线你这个错误提示的原因之一。其他还有用户不存在,用户权限不够。我认为应该和weblogger本身没有太大关系,是你服务器端设置上有些小问题。你再排查看看。

    你不是自己搭建的wordpress?难道服务商禁用了?

    [回复]

    pocoyo 回复:

    @vvoody, 我就是在网页上注册的
    后来网速一直感觉卡 也没怎么用。最近试了试 我再看看吧

    [回复]

    pocoyo 回复:

    @vvoody, 谢谢你啊

    [回复]

    vvoody 回复:

    @pocoyo, 不客气 ;-)

    [回复]

  8. 2010年7月18日07:41 | #8

    这个很强大,支持个

    [回复]

评论分页
1 2 40770
  1. 2010年3月10日07:37 | #1
  2. 2010年3月25日05:38 | #2
  3. 2010年7月15日05:38 | #3
:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!: