Docker中Blogdown创建的Hugo站点样式表加载失败及升级报错问题
问题1:Docker环境下Hugo站点HTTP样式表无法加载(Hugo 0.92.2)
问题原因
使用miguelsimoni/hugo-initio主题创建站点时,某样式表硬编码为HTTP协议链接,浏览器因混合内容安全策略阻止加载,导致样式不匹配。
解决方案
- 定位主题中引用该HTTP样式表的文件(通常在
themes/hugo-initio/layouts/partials/目录下的头部模板,比如header.html) - 将HTTP链接修改为HTTPS,或改用协议相对URL(去掉
http:保留//):- 原链接示例:
<link rel="stylesheet" href="http://example.com/style.css"> - 修改后:
<link rel="stylesheet" href="https://example.com/style.css">或<link rel="stylesheet" href="//example.com/style.css">
- 原链接示例:
- 重新运行
blogdown::build_site()生成站点即可正常加载样式。
问题2:升级Hugo至0.114.1后模板渲染错误
问题原因
Hugo新版本对配置参数类型检查更严格,主题模板single.html中调用.Site.Params.DateForm时期望其为字符串类型,但你的config.yaml中该参数未以字符串形式定义。
解决方案
修改config.yaml中的DateForm参数,给日期格式字符串添加引号:
# 原错误写法(无引号) params: DateForm: 2006-01-02 # 修改后(添加引号) params: DateForm: "2006-01-02"
保存配置后重新运行blogdown::build_site(build_rmd = T)即可解决模板渲染错误。
内容的提问来源于stack exchange,提问作者Doug Fir
相关产品推荐
相关产品推荐

