Hugo 需要主题吗?

问题描述 投票:0回答:2

我正在寻找使用静态站点生成器来构建一些即将推出的网站,并且正在与 Jekyll 和 Hugo 进行交流。这些网站将采用自定义 Bootstrap 风格设计,而不是任何预建主题。在弄乱了这两个之后,我喜欢使用 Hugo 的外观。

无论如何,在浏览他们的文档时我遇到了一个问题。我是否需要为每个网站创建一个“主题”,或者我可以将所有内容保留在全局 /layouts、/static、/archetypes 等文件夹中吗?

我并不打算将这些设计打包为可重用的主题,当我尝试记住 Hugo 将这些模板文件优先于其他模板文件的顺序时,这似乎是不必要的卷积,将事物嵌套得更深。

html css hugo
2个回答
7
投票

Hugo 不附带默认主题,因此您必须编写自己的主题或使用预构建的主题。 Hugo 文档列出了检查模板文件的优先级,以确定如何呈现内容。

位于全局

layouts
文件夹中的模板优先于
themes/<theme name>/layouts
中的模板。

因此,基于此,您实际上可以将模板文件仅放在全局

layouts
文件夹中。


0
投票

您不需要创建或拥有主题。您可以拥有一个功能齐全的网站,根本不需要

theme
目录。

考虑以下网站结构,独立且没有主题。

hugosite.example.com
├── archetypes
│   └── default.md
├── assets
│   ├── scss
│   │   ├── _style.scss
│   │   └── _example.scss
│   └── js
│       └── main.js
├── config
│   └── _default
│       ├── hugo.toml
│       └── params.toml
├── content
│   └── _index.md
└── layouts
    ├── _default
    │   ├── baseof.html
    │   └── index.html
    └── partials
    └── shortcodes

如果存在

theme
目录,则站点目录中的任何文件(如上所示)将优先于主题文件。例如,项目目录中的
archetypes/default.md
将优先于
themes/theme-name/archetypes/default.md

如果您想从其他存储库加载一些小组件而没有完整的主题,您还应该考虑 Hugo 模块

© www.soinside.com 2019 - 2024. All rights reserved.