很多人搭建个人博客的路径都差不多:兴冲冲选主题、调 CSS、改模板,折腾了整整一周,最后却只留下了一篇孤零零的《Hello World》。
为了避免重蹈覆辙,我在站点搭建之初就定下了一个原则:把运维阻力降到零,把精力全部留给内容生产。
传统写作 vs 自动化工作流
在手动管理静态博客时,一次完整的发布通常充满重复劳动:
| 阶段 | 传统手动模式 | 自动化工作流 |
|---|---|---|
| 创建文章 | 手动复制 Front Matter,填日期格式 | 脚本一键生成带标准元数据的模板 |
| 图片素材 | 本地手动压缩、移动到静态文件夹 | 本地工具自动转 WebP 并统一命名 |
| 编译输出 | 本地运行 hugo,手动拷贝 public 文件夹 | GitHub Actions 自动拉取镜像秒级构建 |
| 部署上线 | 手动 FTP/SSH 传到服务器配置 Nginx | 触发 Git Webhook,CDN 边缘直接刷新 |
核心实现:极简的自动化脚本
借助几行 Python 脚本,我将“构思到新建文件”的步骤压缩到了两秒内:
import os
from datetime import datetime
def create_post(title: str, category: str = "默认分类"):
slug = title.lower().replace(" ", "-")
now = datetime.now().astimezone().isoformat()
content = f"""+++
date = '{now}'
draft = false
title = '{title}'
categories = ["{category}"]
tags = []
+++
# {title}
在这里记录你的思考...
"""
file_path = f"content/posts/{slug}.md"
with open(file_path, "w", encoding="utf-8") as f:
f.write(content)
print(f"✨ 新文章已就绪: {file_path}")
if __name__ == "__main__":
create_post("自动化构建的第一天", "技术实践")