用「VSCode Task」自动化创建博客

💡 原文中文,约7100字,阅读约需17分钟。
📝

内容提要

作者介绍用 VSCode Task 配合 ChatGPT 生成的 Python 脚本简化 Hugo 建文流程:输入中文标题后经 Google 翻译转英文,自动生成按年份归档、带日期的文章文件。脚本一次生成成功,但用 sed 替换模板标题时因 macOS 需在 -i 后加空字符串参数而报错,经追问后修正。作者认为 ChatGPT 显著提升了写作效率。

🔎

延伸解读

自动化流程的构成与依赖

该方案通过VSCode Task触发Python脚本,脚本调用Google翻译API将中文标题转为英文,再执行hugo new命令生成按年份归档、带日期的文章文件。整个流程依赖googletrans库和hugo命令行工具,且需在VSCode中配置tasks.json。读者若想复现,需确保环境已安装这些依赖,并注意Google翻译API可能需要网络访问或API密钥。

跨平台差异:macOS下sed的坑

作者在替换模板标题时遇到sed报错,原因是macOS的sed要求-i选项后必须跟一个备份扩展名参数,即使不需要备份也要提供空字符串。这与Linux等平台不同,容易导致脚本移植失败。文章提醒开发者,在跨平台使用sed时需注意此差异,或考虑使用更可移植的文本处理方式。

ChatGPT辅助编码的实用性与局限

作者首次使用ChatGPT生成Python脚本,一次成功,但在sed命令上因未说明macOS环境而报错,经追问后修正。这表明ChatGPT能快速产出可用代码,但需要用户提供清晰的环境上下文,且可能忽略平台特定细节。对于简单任务,它能显著提升效率,但复杂场景仍需人工调试和验证。

❓

Q&A

如何用 VSCode Task 自动化创建 Hugo 博客文章?

在 VSCode 中配置 tasks.json,创建一个任务,使用 shell 调用 Python 脚本,并接收用户输入的标题作为参数。Python 脚本负责翻译标题、生成文件路径并执行 hugo new 命令。

怎样让 Hugo 新文章自动按年份归档并添加日期前缀?

在 Python 脚本中,使用 datetime 获取当前日期,然后构造文件路径为 content/posts/年份/年-月-日-标题.md,再调用 hugo new 命令生成文章。

如何将中文标题自动翻译成英文并用于 Hugo 文章文件名?

使用 googletrans 库调用 Google 翻译 API,将中文标题翻译成英文,并将翻译结果中的空格替换为连字符,作为文件名的一部分。

macOS 下使用 sed 替换文件内容时需要注意什么?

在 macOS 上,sed 的 -i 选项后必须提供一个备份文件扩展名,即使不需要备份也要加一个空字符串,例如 sed -i '' 's/^title: .*/title: 新标题/g' 文件。

如何用 ChatGPT 辅助生成 Python 脚本?

向 ChatGPT 清晰描述需求,例如脚本功能、输入输出、使用的库等,ChatGPT 会生成相应的 Python 代码。如果遇到问题,可以进一步追问,比如指定操作系统环境,以获得更准确的解决方案。

用 VSCode Task 自动化创建博客文章的整体流程是什么?

首先在 VSCode 中配置 tasks.json 定义任务和输入;然后编写 Python 脚本,接收标题参数,调用翻译 API 翻译标题,生成符合归档规则的路径,执行 hugo new 命令;最后在生成的文章文件中用 sed 替换标题为原始输入。

🏷️

标签

➡️

继续阅读