前言
相信各位 Hugo 博主应该都有遇到一个问题,就是发布时间设置没问题,但文章没有被渲染,我遇到的时候第一时间就想到作为一个国外的博客框架,应该就是时区问题,然后查阅官方文档后更证实了这个猜想。
Hugo 在以下情况下不会发布内容:
draft
值为true
date
在未来publishDate
在未来expiryDate
在过去
很显然我们遇到的问题不满足以上所有情况,那么肯定是时区问题,经过测试,只有在发布时间设置为当前北京时间八小时内的文章是不会被渲染的,因此 Hugo 的默认时区是世界标准时间(也不意外对吧),那么该怎么解决呢,经过一番 Google,我找到了以下两种解决办法
解决方案 1:在 Front Matter 的 date
加上时区
在 Front Matter 的 date
原本内容上加上你所在的时区随对应要加或减的小时数,如北京时间(东八区区时)就在后面加上 +0800
title:
date: 2023-07-28 08:00:00+0800
lastmod:
slug:
description:
image:
categories:
tags:
draft:
解决方案 2:配置 Hugo 使其输出将来的页面
第一种方式:编辑 hugo.yaml
在根级加入以下代码:
buildFuture: true
第二种方式:在构建博客时加上 --buildFuture
在构建博客时运行 hugo --buildFuture
或 hugo -F
而不是 hugo