再次启动个人网站的更新,这次因为打通了个人记录、公共发布的文档兼容,相信能够持续下去不断更新。


探索

个人知识管理是一个持续的探索过程:

最初使用CMS,多年以前就尝试在工作的团队内推广使用 Plone,个人在自己的笔记本电脑上使用 DrupalJoomla!Wordpress来记录每天的工作学习,甚至部署MediaWiki来搭建个人知识平台。

不过,这些系统对于个人而言都比较沉重 - 我是个爱折腾的人,玩Linux的时候经常重装系统切换版本,每次为了恢复个人知识平台,要重建一遍LAMP系统就觉得麻烦。

最近几年踏入互联网行业,和以前工作的传统软件公司不同,推崇的是快速、轻量级、简洁,加上GitHub大行其道,倘若不能在各个平台自由切换,快速撰写和发表知识文档,很多思想很快就失去价值,再也没有兴趣和精力去研究了。

比较通用的文档格式主要有两种:

  • Markdown - 大量的互联网平台使用的标准格式
  • reStructuredText - Sphinx 支持,适合撰写软件文档,特别是Python结合代码输出文档

最近七年里面,我所使用的最接近轻量级和简洁风格工具如下:

  • 2008年开始,使用 Tiddlywiki 做个人的技术笔记,持续了4年时间。
  • 受到github和markdown简洁通用的风格影响,大约有1年左右主要用markdown来记录笔记和发布blog
  • 2014年开始,又尝试使用 Sphinx 来整理书籍类型的文档,想尝试系统化整理技术文档。不过,感觉所处的互联网行业技术变化极快,学习很难系统化深入化,暂时还不能整理出书籍化的文档。

我现在服务的公司随着快速发展和管理规范化,对信息安全非常重视,明确要求:

  1. 不能使用非公司云存储、云笔记产品
  2. 所有对外的技术资料必须”脱敏”

对于个人技术工作来说,不仅要不断总结和整理工作学习中的知识经验,同时也需要和外部进行技术交流。如何同时满足公司规范,又能实现个人成长,我主要考虑如下:

  1. 最原始的工作笔记,学习笔记使用TiddlyWiki记录,文档不对外发布,不存储外部云存储(公司目前只有云存储产品,没有云笔记)。保存和同步只限于公司内部云存储和Mac OS X内建的TimeMachine备份(推荐使用 AirPort Time Capsule

  2. 经过”脱敏”处理,技术文档发表到公司内部的ATA技术交流平台

  3. 经过”脱敏”处理,TiddlyWiki笔记可以快速转换(复制)成Jekyll文档,发布到 GitHub Page 阿泰的菜园

  4. GitHub Page 阿泰的菜园 既是文档备份,也同时可以方便clone成个人网站 - 一个部署在自己家中利用宽带和树莓派构建的阿泰的菜园

personal kms

工具

重要的是内容,工具只是为了减少精力浪费

只需要一个html文件就可以把所有文档组织成Wiki,并且最神奇的是不需要部署复杂的WEB服务器。

为什么在选择Sphinx和Jekyll之后,又再次返回使用TiddlyWiki?

这是因为新版的TiddlyWiki支持了Markdown,不再需要复杂的文档格式转换。TiddlyWiki避免了Jekyll将知识分散在很多碎片文件的缺点,并且内建搜索功能,可以轻易找到以前的笔记。

选择Hexo的原因就是方便和简洁,我的目标是撰写技术笔记,直接使用Jekyll比较折腾。并且Hexo已经具备了我所欣赏的modernist theme。

Hexo的使用请参考 hexo你的博客

  • 其他工具

日常的网站阅读,RSS订阅(我使用Reeder)都通过Evernote一键抓取,留待以后做资料整理。


2014年上半年的文档采用Sphinx格式,见这里