kaffapod:书影音、项目
书影音
kaffapod 记录个人数据,因此读的书,看的电影,听的音乐值得记录。
书、影、音的元数据实际非常分散,作为个人,最好利用它人的工作,将元数据搜集到本地,作为一种缓存。
书、影、音元数据其实不属于个人数据,但相关时间和评论和统计数据属于个人数据,因为缓存作为“渐进式增强”来设计:当存在时,则获取并缓存下来,当不存在时,也可以简单显示名称。
此处的技术实现使用了:
- Data Source(neodb)
- SQLite:虽然书影音非常多,穷尽人生也无法尽阅,但个人数据十分有限,大多数人的数量级不过过万,因此 SQLite 足够胜任。
- Python:天然支持 SQLite
项目数据
项目数据实际在内网的项目管理系统 KanBoard 的 MySQL 数据库中。
kaffapod 使用 Python 从 MySQL 中读取项目进展,并快照到 SQLite 中。
以供首页和周报使用。
plantuml 图插件
Markdown 的图插件有一个好名字 Mermaid,但 Mermaid 并没有太好的 Pelican 继承。我也并不打算站出来做这么庞大且标准不一的工作。但 rst 的 plantuml 实现了大部分需要的图,且已有一个 Linux 实现。我在此处将之扩展到了 Windows 上,并简化了图片的生成逻辑,增加了配置项。最重要的,支持改动才生成一次,这样可以减少静态内容的生成时间。