用emacs的org2blog组件写cnblogs博客 -- 环境配置及使用

本文给出了一个安装、配置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 变为目录。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT综合技术分享

一、搭建SpringBoot2.0.0M4基础Web项目

SpringBootDemo1 - [~-IdeaProjects-SpringBootDemo1] - IntelliJ IDEA 2017.2.4_022....

3442
来自专栏Astropeak

用emacs的org2blog组件写cnblogs博客 -- 环境配置及使用

1858
来自专栏开源优测

windows下jenkins安装部署

环境搭建(windows版本) 一、安装包下载地址 1、JDK安装包: 32位地址:http://download.oracle.com/otn-pub/jav...

2785
来自专栏郭耀华‘s Blog

Vmware虚拟机安装Ubuntu 16.04 LTS(长期支持)版本+VMware tools安装

今天用VMware虚拟机安装了Ubuntu 16.04,过程用点繁琐,顺便又安装了VMware tools,这样就可以全屏显示Ubuntu系统了,下面是具体的安...

5165
来自专栏Jerry的SAP技术分享

删除所有正在运行和退出的docker实例

使用这个命令,把docker ps -aq产生的输入作为输入传入到docker rm命令,达到删除所有容器实例的效果。

840
来自专栏菩提树下的杨过

"Goole项目托管"及"CodePlex发布开源项目"要点

一.google项目托管相对比较容易 http://code.google.com/ 先注册一个gmail邮箱,然后参考孟子的这篇文章http://blog.c...

2107
来自专栏同步博客

自定义搭建PHP开发环境

  3、将安装包准备好。http://pan.baidu.com/s/1mhxEPkc

1831
来自专栏WebDeveloper

简单封装curl的get与post发送数据

3523
来自专栏smy

对比requirejs更好的理解seajs

seajs遵循CMD规范,requirejs遵循AMD规范。AMD规范是预加载,CMD规范是赖加载。 下文举例假设有文件 b.js, c.js如下 //b.js...

3705
来自专栏Jerry的SAP技术分享

如何使用腾讯云提供的云主机

下载PuTTY这个远程登录软件,host name输入腾讯云自动分配的IP地址,端口号22:

5139

扫码关注云+社区

领取腾讯云代金券