KaffaWeb 2.0 建设之插件

Kaffa 发布于

分类: 网站 标签: kaffaweb

kaffapod:书影音、项目

书影音

kaffapod 记录个人数据,因此读的书,看的电影,听的音乐值得记录。

书、影、音的元数据实际非常分散,作为个人,最好利用它人的工作,将元数据搜集到本地,作为一种缓存。

书、影、音元数据其实不属于个人数据,但相关时间和评论和统计数据属于个人数据,因为缓存作为「渐进式增强」来设计:当存在时,则获取并缓存下来,当不存在时,也可以简单显示名称。

此处的技术实现使用了:

  • Data Source(neodb)
  • SQLite:虽然书影音非常多,穷尽人生也无法尽阅,但个人数据十分有限,大多数人的数量级不过过万,因此 SQLite 足够胜任。
  • Python:天然支持 SQLite

项目数据

项目数据实际在内网的项目管理系统 KanBoard 的 MySQL 数据库中。

kaffapod 使用 Python 从 MySQL 中读取项目进展,并快照到 SQLite 中。

以供首页和周报使用。

plantuml 图插件

Markdown 的图插件有一个好名字 Mermaid,但 Mermaid 并没有太好的 Pelican 继承。我也并不打算站出来做这么庞大且标准不一的工作。但 rst 的 plantuml 实现了大部分需要的图,且已有一个 Linux 实现。我在此处将之扩展到了 Windows 上,并简化了图片的生成逻辑,增加了配置项。最重要的,支持改动才生成一次,这样可以减少静态内容的生成时间。