用emacs写cnblogs博客。
这是我的一次写org-mode cnblogs的文章。 在cnblogs-minor-mode副模式下工作的。据说可以直接发布org-mode的文件。(C-c c p)
1 安装org-mode
下载org-7.9.2目前为止最新版本。然后解压到'~/.emacs.d/site-lisp/'目录下。在.emacs中配置如下:
;;;;配置org-mode (setq load-path (cons "~/.emacs.d/site-lisp/org-7.9.2/lisp" load-path)) (require 'org-install)
现在如果新建一个.org格式的文件,如果在minibuffer中显示Org的字样,就意味着安装成功了。
2 安装cnblogs
下载之后将其中的el文件放到一个目录中,如(~/.emacs.d/misc/),然后将这个目录加入到.emacs中。
(add-to-list 'load-path ("~/.emacs.d/misc")) (require 'cnblogs)
启动cnblogs副模式可以 M-x cnblogs-minor-mode, 也可以自动启动:
(add-hook 'org-mode-hook (lambda () (cnblogs-minor-mode)))
3 在cnblogs中使用其提供的代码高亮功能。
int main() { return 0; }
4 功能快捷键
快捷键 | 命令 | 功能 | 备注 |
---|---|---|---|
C-c c c | cnblogs-get-categories | 将分类获取至本地 | 目前没有什么实际用处 |
C-c c d | cnblogs-delete-post | 删除博文 | 常用 |
C-c c e | cnblogs-edit-post | 更新博文 | 常用 |
C-c c g | cnblogs-get-post | 获取指定ID的博文 | 估计用户不会用到 |
C-c c p | cnblogs-new-post | 发布博文 | 常用 |
C-c c r | cnblogs-get-recent-posts | 获取最近N篇博文 | 一般只在配置扩展时使用 |
C-c c s | cnblogs-save-draft | 将草稿保存至服务器 | 不知道有什么实际用途 |
C-c c u | cnblogs-get-users-blogs | 获取用户信息 | 对用户没什么用处 |
C-c C-e t | 插入模块。 |
5 内容元数据
org-mode中有以下几种:
快捷键字母 | 代码 | 功能 |
---|---|---|
s | #+beginsrc … #+endsrc | 代码 |
e | #+beginexample … #+endexample | 单行的例子以冒号开头。 |
q | #+beginquote … #+endquote | 通常用于引用,与默认格式相比左右都会留出缩进。 |
v | #+biginverse … #+endverse | 默认内容不换行,需要留出空行才换行。 |
l | #+beginlatex … #+endlatex | |
L | #+latex: | |
h | #+beginhtml … #+endhtml | |
H | #+html: | |
a | #+beginascii … #+endascii | |
A | #+ascii: | |
i | #+index: line | |
I | #+include: line |
- 代码 上面的单字母为快捷键字母,如输入一个<s然后TAB后就变成想要的代码。
6 自己的一些配置
我将利用git-hub来保存所有的.org文件,这样做的目的是利用版本控制仓库来保存我的博文,而且在公司与家之间同步起来高效且安全。 另外博文也进行了备份。
我不喜欢折腾html这种东西,于是用纯文档的方式写笔记让自己感觉很爽。
以前利用vimwiki写了一个博客,并且在 http://www.liwei.tk liwei.tk里面有保存以前的一些笔记。现在还没有时间整理过来。
有时候再弄吧。最近开始由vim转向emacs了,原因很简单-扩展性。
7 上传图片方法:
# 下面定义插入图片的标题与样式 ,#+CAPTION: github中的org文件 ,#+ATTR_HTML: width=800 [[file:github.png]]
8 特别注意同步的问题
在多台电脑上同步时应该注意如下事项:
- 创建的文件目录一定要一致。一定要与.Cnblogs/entry-list-file内容里面的目录一致。
- 修改cnblogs.el脚本里面的.Cnblogs路径,将其路径设置在你的github仓库里面。
- 每次同步之后记得push到github上去进行同步。
9 版本问题
注意在使用时最新版本可能在发布出去的表格显示上有一些问题。我用的是Emacs23.2 + org7.9.2没有问题。而用Emacs24.2 + org7.9.2有一些排版上的问题。
10 代码高亮效果测试
[root@ ~] cat
11 最近截图github上仓库情况
这里面保存我的一些笔记: