滥用 Makefiles 以获取乐趣和利润 —— kokada

主要观点:

  • 作者的博客工作流大多通过 Go 实现自动化,将 Markdown 文件提交到仓库后,CI(当前为 GitHub Actions)会生成文件并发布到网站。
  • 博客工作流中没有 Nix 代码,Go 安装相对简单且稳定,而其他工具考虑到可移植性和可重复性会使用 Nix。
  • 博客工作流中使用的另一个工具是Make,它是一种古老的构建自动化工具,可用于自动化博客中的一些任务,虽然Makefile代码可能较丑,但能方便地管理博客文章,如创建新文章目录、生成 Markdown 文件等,还可通过draftundraft命令隐藏或显示文件。

关键信息:

  • 博客仓库结构及 Markdown 文件格式要求。
  • Go 文件在博客生成中的作用,如blog.gomataroa.golink_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命令用于处理日期相关操作,可识别多种日期格式。
  • 隐藏文件在目录解析中表示草稿文章,未隐藏则可发布。
阅读 15
0 条评论