前面在网上看教程和自行探索hugo搭建时,学习的到对主题的处理方法简单粗暴,把主题包放入themes文件夹后,把archetypes、assets、layouts、static等文件夹直接复制到hugo的根目录。

根据近期的使用与总结,发现hugoH覆盖机制,不需要复制所有的文件夹到根目录,如果对主题模板有需要改动的地方,只需要按照主题的目录结构,在hugo根目录下创建对应的目录结构,仅放入修改或增加的文件即可。

比如本站当的主题,原footer.html底部是没有备案信息的,我们可以保持主题目录不动,在hugo根目录下创建对应的layouts\partials目录放入修改好的footer.html,hugo在构建时会优先从根目录加载这些文件,然后再到主题中拉取模板文件,根目录有过的文件,主题目录的同名文件不会再次被加载。

TEXT
your-blog/                 (博客根目录)
├── layouts/               (创建的覆盖目录)
│   └── 404.html           (自行添加的文件)
│   └── partials/          (只包含您要修改的文件)
│       └── footer.html    (Hugo 会优先使用这个文件)
└── themes/
    └── hugo-narrow/       (原始主题)
        ├── layouts/
        │   └── partials/
        │       ├── header.html  (原始文件)
        │       ├── footer.html  (原始文件)
        │       └── ...
点击展开查看更多

同样也可以增加文件,当前主题作者没有单独写404.html,于是我们可以在根目录的layouts下自己添加一个。

这样处理的优点:

主题中哪些内容支持这样的覆盖:

最后,还是要多看文档。

版权声明

作者: 自然数

链接: https://zrs.me/46/

许可证: CC BY-NC-SA 4.0

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。请注明来源,非商业性使用,并遵循相同的许可协议。

评论

开始搜索

输入关键词搜索文章内容

↑↓
ESC
⌘K 快捷键