You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HUGO内容无法渲染求助:MD文件内容未在目标页面显示

Hugo多语言站点内容不渲染排查方案

1. 缺失多语言核心配置

Hugo不会自动识别content/english、content/german这类多语言目录,必须在项目根目录的config.toml(或yaml/json)中添加语言配置块,示例:

baseURL = "http://example.com/"
languageCode = "en-us"
title = "My Multilingual Site"

[Languages]
[Languages.en]
  contentDir = "content/english"
  languageName = "English"
  weight = 1
[Languages.de]
  contentDir = "content/german"
  languageName = "Deutsch"
  weight = 2

没有这个配置,Hugo会忽略语言目录下的所有内容,根目录_index.md也无法正确关联多语言上下文。

2. 页面路径调用错误

你在home/list.html中用.Site.GetPage "german/home/company"获取页面是错误的:

  • 多语言模式下,contentDir已经映射到对应语言的目录(比如de语言对应content/german),所以内部路径应该去掉语言目录前缀,改为:
    {{ with .Site.GetPage "/home/company" }}
      {{ .Content }}
    {{ end }}
    
  • 或者明确指定语言代码:
    {{ with .Site.GetPage "de/home/company" }}
      {{ .Content }}
    {{ end }}
    

原路径会导致Hugo找不到对应页面,自然不会渲染company.md的内容。

3. 首页模板与语言上下文匹配问题

  • 根目录content/_index.md是全局首页内容,但启用多语言后,访问特定语言首页时,Hugo会优先加载对应语言目录下的_index.md(比如content/german/_index.md对应德语首页)。
  • 如果需要为不同语言单独设置首页模板,可以创建语言特定的模板目录,比如layouts/de/home/list.html,专门处理德语首页的渲染逻辑。

4. 本地预览需指定语言

启动Hugo本地服务时,要明确指定语言,否则默认会使用weight最高的语言(或en),导致你看不到德语内容:

hugo server -l de

如果不指定语言,可能加载的是content/english下的内容,而该目录只有_index.md,没有home/company相关内容,页面自然为空。

5. 检查页面front matter

确保所有.md文件的front matter格式正确,比如company.md至少要有基础的类型声明(避免格式错误导致Hugo解析失败):

---
title: "Company"
type: "page"
---

内容的提问来源于stack exchange,提问作者MrJoky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 03:34:57