问题

最近几天在 cloudflare 上建立博客网站, 象发现新大陆, 天天有惊喜. 昨天遇到一个问题: 已经发布的文章, 删除不掉.

刚开始简单地以为, 把文章的变量 draft 改成 true 再提交, 就可以了. 没想到 cloudflare 的机制是遇到文章的 draft 为 true, 就直接忽略, 这样就成了我要删除文章的命令也无效了. 哈哈!

昨天想了一晚上, 百思不得其解, 早上又试验了各种我能想得到的花招, 也不灵. 突然想起: 不知道问下 ChatGPT 能不能有个答案.

ChatGPT

没想到, 真的可以!

如果你希望从你的博客中删除文章, 你需要在你的本地 Hugo 项目中删除该文章的文件, 然后将修改提交到你的存储库并推送到 GitHub. Cloudflare 会在抓取更新后将该文章从你的博客中删除.

若要删除文章, 请执行以下步骤:

打开你本地 Hugo 项目的根目录. 进入文章所在的目录, 例如 content/posts 或 content/pages. 删除该文章的文件. 打开命令行或终端窗口, 进入你的本地 Hugo 项目的根目录. 输入以下命令来提交你的修改:

1
2
3
git add -A
git commit -m "Removed article"
git push origin master

这样, 在 Cloudflare 抓取更新后, 该文章就会从你的博客中删除.

另外, 如果你只是想暂时隐藏文章而不是完全删除它, 你可以将该文章的 draft 变量设置为 true, 并在发布时将其设置为 false. 这样, 在编译网站时, Hugo 将忽略该文章, 但在你决定发布该文章时, 只需将 draft 变量设置为 false, 然后再次提交和推送更新即可.

不灵

但是, 这也只是更新了 github 的库而已, 实测 cloudflare 并没有刷新网站的数据缓存. 尽管又去手动布署了一次, 仍然是不会更新. 怎么办呢?

再试

在网上一通搜, 各个群里到处问, 想尽一切办法乱试, 最后还是不得不删除了 cloudflare pages 的项目, 重新再布署. 当然这属于歪门邪道.

一切尘埃落定, 还是不死心, 又问了下 ChatGPT, 没想到, 有收获! 又提供了一个清缓存的办法. 这个应该是正解了.

ChatGPT 再一次验证了正确地提问才能有好的答案.