主要观点:
- 作者的博客工作流大多通过 Go 实现自动化,将 Markdown 文件提交到仓库后,CI(当前为 GitHub Actions)会生成文件并发布到网站。
- 博客工作流中没有 Nix 代码,Go 安装相对简单且稳定,而其他工具考虑到可移植性和可重复性会使用 Nix。
- 博客工作流中使用的另一个工具是
Make
,它是一种古老的构建自动化工具,可用于自动化博客中的一些任务,虽然Makefile
代码可能较丑,但能方便地管理博客文章,如创建新文章目录、生成 Markdown 文件等,还可通过draft
和undraft
命令隐藏或显示文件。
关键信息:
- 博客仓库结构及 Markdown 文件格式要求。
- Go 文件在博客生成中的作用,如
blog.go
、mataroa.go
、link_rewriter.go
。 Makefile
的基本概念和用法,包括目标定义、依赖关系、.PHONY
目标等,如通过make blog
构建blog
二进制文件,通过make post
创建新文章等。gen-post.sh
脚本的作用及变量传递方式。
重要细节:
- 博客仓库地址为
https://github.com/thiagokokada/blog
,网站地址为https://kokada.capivaras.dev/
。 - Go 安装可下载二进制文件
https://go.dev/doc/install
。 Makefile
中通过$(wildcard)
获取 Markdown 文件列表,通过$(error)
输出错误信息。date
命令用于处理日期相关操作,可识别多种日期格式。- 隐藏文件在目录解析中表示草稿文章,未隐藏则可发布。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。