Github issue 作为 Hugo 博客发布端的可行性研究
老T这两天都在用 Github APP 来更新 Hugo 上的说说,感觉非常便捷可靠。这种方式也让老踢T进一步萌生一个想法,就是能否使用这种方式直接来更新 Hugo 博客。
大致需要攻克以下技术问题
-
对 issue 内容提取并转换为 markdown文件。其中,重点在于 frontmatter 部分的转换。像老T这里就需要转换分类、标签、固定链接等内容。其中固定链接大体上只能采取按时间命名法(不然直接提取中文影响观感),分类可以通过在 issue 中设置几个固定标签进行判断,文章标签也可以在判断完分类后,继续借助 issue 标签来操作。
-
文章图片转换。这个就麻烦点,主要分为两类,A类是文章封面图片,这个就跟我目前 Hugo 模版有点冲突,如果提取 issue 中特定位置图片,那这张图片显然会在我的 Hugo 文章页中重复展示,可能需要考虑在转换md文件时将这部分删掉,但这个操作得放在图片提取后才行。B类是文章内容中的图片,这可能需要单独引入一个 python 组建来处理,将 issue 中默认保存在 github 图库中的图片转到仓库中与 md 文件同目录。
-
同步和构建策略问题。包括issue 改动、删除、打草稿等情况如何处理,从 issue 提取转换出错如何处理等。总体来说,还是需要反复调试才行。考虑到用手机 APP 发博客文章比例也不会很高,我可能倾向于将这种方式作为“一次性”发布工具,不考虑后续在 issue 中进行修改,而是直接去 md 文件操作。