Hugo 模板中的路由是如何工作的?

How does the routing in Hugo templates work?

我正在尝试从 blank 开始设计自己的主题。测试站点构建良好,确实是空的但功能正常。

然而,我无法理解主题中的例程是如何工作的。具体来说,我的问题是我看不到最终网页的主要框架在哪里 - 那个将构建 <header><body> 等的框架。我希望在那里找到切换逻辑视图:查看主页时要解析的内容、博客条目中的内容、独立页面中的内容等

以这个入门主题为例,我看到 https://github.com/Vimux/blank/tree/master/layouts/index.html,但它只是 main 块之一的定义。例如 https://github.com/Vimux/blank/tree/master/layouts/_default 中还有其他此类定义。

我在哪里编码 logic/decision 以使用特定的模板文件? (定义为 main 的几个之一)

我希望某些“路由”(不是动态路由——一种路由,然后编译成一组带有指向其他页面的链接的页面)必须在您说页面 / 是从 <something> 生成,页面 /blog/hello-world<something else>.

生成

好问题。

答案相当令人惊讶……尤其是当您来自 Jekyll 或类似的 SSG 时。

使用特定模板文件的logic/decision是隐含的

这意味着 'content' 目录根目录中名为“_index.md”的文件使用 'layouts/index.html' 模板,而同一目录中具有另一个名称的页面使用'layouts/pages/single.html' 模板。当该布局文件不 found/does 不存在时,它将回退到 'layouts/_default/single.html' 模板。

有关此内容的更多信息,请访问 https://gohugo.io/templates/lookup-order/