使用org-mode写blog
Table of Contents
1 介绍org-mode
orgmode是emacs的一个插件,对于写作有非常好的体验。而且非常强大,实时渲染,日程管理,支持导出pdf,html等多种格式,日期,TODO,表格等操作十分方便,只有你想不到,没有做不到,HAHA。
2 markdown的写作模式
以前也使用过markdown的方式写过blog,开始的时候觉得很新鲜,但是对于体验来说并不能让我很专心的写作。很多markdown工具实时渲染需要新开一个标签。我需要一边写文字一边照顾样式,而且写作窗口不能占据我所有的视野,很是别扭。直到我遇到emacs,从而遇到orgmode,才真正的觉得写作是一件比较舒服的事情。
3 配置orgmode
要使用orgmode写blog,还是需要一定的符合个人的配置,也需要css对导出的html进行一些美化, 下面是我配置的地方.(我使用的是spacemacs)
- 开启org layer
在spacemacs中使用orgmode需要在spacemacs的配置文件中开启org layer
dotspacemacs-configuration-layers '(org)
- 设置org-publish-project-alist
(setq org-publish-project-alist '( ;; ... add all the components here (see below)... ("org-notes" :base-directory "~/guidao.github.io/org/" ;org文件的目录 :base-extension "org" ;扩展名 :publishing-directory "~/guidao.github.io/" ;导出目录 :html-head "<link rel=\"stylesheet\" type=\"text/css\" href=\"./css/org-css.css\"/>";自定义样式 :recursive t :publishing-function org-html-publish-to-html :headline-levels 4 ; Just the default for this project. :auto-preamble t :timestamp nil :author nil ) ("org" :components ("org-notes")) )) (setq org-html-validation-link nil) ; 去掉validation显示 (setq org-html-link-home "index.html"); 设置home超链接 (setq org-html-link-up "index.html")
我是把guidao.github.io/org/目录的文件导出到guidao.github.io/下,在guidao.github.io下会有org文件的同名的html格式的文件,之所以我把org也放在github上,是因为我工作跟家里使用两台不同的电脑,需要在两个地方进行修改。
现在可以执行命令 M-x org-publish
选择org导出文件了。但是blog一般来说需要一个首页对所有文件进行汇总。目前这个功能是手动进行.在org目录想创建一个index.org文件,贴上下面内容:
#+OPTIONS: TOC:nil ;关闭目录 #+OPTIONS: NUM:nil ;关闭标题前面的数字 #+OPTIONS: AUTHOR:nil ;不显示作者 #+OPTIONS: TIMESTAMP:nil ;不显示创建时间 * 2016年8月 - xxx
然后就可以看见跟我一样的首页了。