Skip to content

用Material for MkDocs替换了OrgNote重新构建博客

OrgNote是自己开发并使用多年的笔记管理和博客软件,功能简单但非常契合自己的需求,但最近将博客部分替换为Material for MkDocs 工具进行管理了。

或曰,旧爱新欢,必有因由,故有此记。

旧博客

新博客

OrgNote介绍

一直很喜欢使用Emacs这款编辑器软件,虽然平常只使用了最简单的几个功能,但还是在它的Org-Mode模式下积累了不少文档笔记。

Org-Mode的自由度很高,也能针对Blog这个场景进行配置,但没有花费那个精力去做这方面的配置工作。

那时候比较火的是Hexo这款博客软件,还涌现了很多基于Markdown格式的博客软件或编辑器,比如GitBook等。

但为了契合自己的需求,选择了自己用Python写了一个很简单的脚本程序来管理这些Org-Mode文档文件。

它的实现思路和现在流行的MkDocs也差不多,只是在配置性、插件化、适配方面等都做的不好,却又恰好可以满足自己的需求。

$ orgnote help

Usage: orgnote <command>

Commands:
  init       Create a new OrgNote folder
  new        Create a new .org or .md post
  list       List this blog notes
  status     Status of those notes
  org2html   Run Emacs to convert .org to .html
  md2html    convert .md to .html
  publish    Publish a note
  recall     Cancel publish a note
  generate   Generate static files
  server     Start the server
  deploy     Deploy your website
  help       Get help on a command
  version    Display version information

For more help, you can check the docs:  http://orgnote.readthedocs.org/zh_CN/latest/

处理过程基本如下:

  • 初始化博客,会clone一些依赖文件和初始化目录结构、配置文件等
  • 新建文件,可以指定Org-Mode或者Markdown类型
  • Emacs中或其他编辑器撰写Org-ModeMarkdown文稿,然后分别通过EmacsPython Markdown包生成HTML文件
  • 解析HTML文件生成目标格式
  • 针对目标格式HTML定制了一套主题

对于契合自己需求部分:

  • 同时支持Org-ModeMarkdown,对于大型的Org-Mode文稿在Emacs中使用起来很便捷
  • 支持将其它地方的HTML文件引用到博客中,适合快速形成一个新博客或技术文档进行展示
  • 设计出发点是自己用,当做文档笔记管理的工具,因此尽可能一个页面提供最多的核心信息,快速找到信息
  • 最主要的是自己随时想加什么功能就很快可以做到

但它也有不足:

  • 最开始设计的时候只是想用一个Python脚本管理一下,过于的粗糙简陋
  • 对前端界面设计不熟悉,只是拿别人的一套主题觉得好用就当做目标主题了,缺乏灵活性
  • 很多新出的Markdown工具或功能,要实现的话需要花费很多精力,吃力不讨好

Material for MkDocs

在使用过程中,尝试过HexoGitBookMkDocs等来替换,但总感觉很多功能过于的繁琐,有些功能虽然有但总差点意思,想要加什么功能的时候又特别费劲。

可能是自己的需求比较奇怪吧,不仅仅是作为一个博客,还得是自己的学习笔记管理工具,需要管理大量的文件,甚至需要临时将某些文件组成一个新博客或技术手册进行分发。

然后它本身只是一个笔记或博客软件,其实不需要频繁的更新,如果它能胜任当前的工作,那么它最好是非常稳定的工作下去。

随着自己的需求有所改变,对前端技术有所了解、对界面的美观、对适配的要求,也可能是审美疲劳了,最近对Material for MkDocs 挺满意的,就按照作者的博客clone下来修改定制后,作为了自己的新博客。

将来

  • OrgNote:会继续使用,只不过它更多的是充当笔记、文稿管理的角色,适合自己看、自己用的场景
  • Material for MkDocs:作为今后一段时间的博客软件,可以引入Markdown的软件包生态

Emacs依旧很好,会继续使用,但基于VSCode和丰富的Markdown软件包组成的生态更有吸引力,也更具有效率。

不久的将来,也许为了满足自己对每个细节的掌控欲,会推出将OrgNote升级成一个Orgnote+MkDocs的版本,仅是自娱,聊胜于无。