本文给出了一个安装、配置org2blog的方法,实现在emacs中书写blog文章、并发布到cnblogs网站的功能。 emacs是一个编辑器, 同时也是一个平台,可以通过插件无限扩展功能。org2blog是emacs的一个插件,这个插件能够将org-mode文件发布到wordpress博客网站上,但同时也支持发布到所有提供了MetaWeblog Web service API的博客网站。 博客园网站提供了MetaWeblog的接口,因此可使用org2blog发布博文到博客园,但代码需要做一些修改。 MetaWeblog 是一个通用的web service API 标准,用于读写weblog。

配置

从github下载 org2blog, metaweblog.
以上版本是针对博客园修改后的版本,删除了几个博客园metaweblog API不支持的几个参数。

metaweblog又依赖于xml-rpc, 可在这里下载: https://www.emacswiki.org/emacs/xml-rpc.el

将org2blog, metaweblog的目录加入load-path,并使用以下配置代码。 将自己的username 和password分别填入。

;; org2blog setup
(require 'metaweblog)
(require 'org2blog-autoloads)
;; (setq url-proxy-services '(("http" . "xxx.xxxx.com:8080")))
(setq org2blog/wp-blog-alist
'(("cnblogs"
:url "http://rpc.cnblogs.com/metaweblog/astropeak"
:username "astropeak"
;; :password "xxxxx"
:default-title "Hello World"
:tags-as-categories nil)))

org2blog支持proxy, 只需设置 url-proxy-services 变量即可。

使用

 

创建一篇博文并发布

  1. 运行 org2blog/wp-new-entry , 创建一个新的org-mode下的buffer. 程序会自动填入需要的一些属性值。
    如果未login,会提示先login.
  2. 编辑内容。
  3. 内容完成后, 运行 org2blog/wp-post-buffer-and-publish 将buffer的内容发布到博客园网站。
    发布后,这篇博文的id会被更新在这个buffer中。

更新一篇博文

打开之前保存的博文org文件,对文件做修改。修改完成后,再次运行 org2blog/wp-post-buffer-and-publish 命令即可将修改更新到cnblogs网站上。

删除一篇博文

运行 org2blog/wp-delete-entry 删除博文。

待办

  • 检查tag, categery的支持
  • 修改预览链接
    目前是指向了错误的页面。因为这个页面地址是针对wordpress的。
  • 改善一些交互
    如去掉提示是否login,修改为直接login(如果还没有login的话)。
  • 将table of contents 变为目录。

最新文章

  1. Maven下载依赖项的源代码(source code)和Javadoc
  2. Noi2011 阿狸的打字机
  3. 【转】Basic C# OOP Concept
  4. [ZETCODE]wxWidgets教程四:菜单栏和工具栏
  5. C#的Reflection总结
  6. Querylayer(查询图层) - 浅谈
  7. DG下手工处理v$archive_gap方法
  8. find tar 压缩第一层目录,用于资料备份。
  9. 网络小白之WAN与LAN的区别
  10. (二)SpringBoot基础篇- 静态资源的访问及Thymeleaf模板引擎的使用
  11. 关于lower_bound( )和upper_bound( )的常见用法
  12. redis的主从机制 master&slave
  13. 20145326蔡馨熤《网络对抗》——MSF基础应用
  14. PHP如何安装redis扩展(Windows下)
  15. HDU 6156 数位dp
  16. Java多线程——线程范围内共享变量和ThreadLocal
  17. Zabbix监控Nginx状态信息
  18. Ubuntu下(Linux+Apache+MYSQL+PHP, LAMP)环境搭建
  19. SO_KEEPALIVE选项
  20. VMware虚拟机创建安装之后不出现VMnet1和VMnet8虚拟网卡

热门文章

  1. LM-Sensors unable to load driver module
  2. Apache Solr查询语法(转)
  3. JVM常见的七种垃圾收集器的简单比较
  4. centos 开启启动服务优化
  5. 用C/C++实现对STORM的执行信息查看和控制
  6. The Monty Hall Problem
  7. ArcGIS与SuperMap的使用比较(1)
  8. asp.net项目在IE11下出现“__doPostBack”未定义的解决办法
  9. 聊聊 Linux 中的五种 IO 模型
  10. jar包制作