Hugo 主题
Hugo 分割画廊
受 Hugo 分割主题启发的照片画廊
- 作者: Thomas Muguet
- GitHub 星星: 0
- 更新时间: 2023-08-24
- 许可证: GPL-3.0 或更高版本
- 标签: 博客 画廊 响应式
Hugo 分割画廊 | 演示
Split Gallery 是一个专注于照片和地图的 Hugo 主题。
这个 Hugo 主题的特点是照片画廊、地图和每个页面的自定义内容,并且支持自定义部分和分类法。
此项目根据 GPLv3 许可证获得许可。由于此项目中包含的第三方,您不能将其用于商业应用。有关更多信息,请参阅下面的许可证部分。
它受 Hugo 分割主题的启发,该主题本身是从 One Page Love 的 Split 移植而来的。
演示(以 exampleSite 作为来源构建);实时示例。
此项目遵循语义版本控制,这意味着任何新的小版本(例如 1.1.0 -> 1.2.0)只会引入新功能,而不会引入破坏性更改,而破坏性更改只会引入在主要版本中(例如 1.1.0 -> 2.0.0)。这意味着您可以安全地从一个小版本升级到下一个小版本。
安装
在您的 Hugo 站点文件夹中,运行以下命令
git submodule add https://gitlab.com/tmuguet/hugo-split-gallery.git themes/hugo-split-gallery
然后,更改(或添加)站点配置中的主题(例如,config.toml
)
theme = "hugo-split-gallery"
有关更多信息,请阅读 Hugo 的官方设置指南。
入门
成功安装主题后,您只需要添加一些内容。
内容原型
此主题支持任何类型的部分 (post
, blog
, …)。为简单起见,我们将在本部分中使用术语 post
。
此主题要求每个帖子遵循以下结构
content/
├── posts
│ ├── my-post
│ │ ├── index.md
│ │ ├── mytrack.gpx
│ │ └── images
│ │ ├── IMGP.jpg
│ │ └── ..
│ ├── my-other-post
│ │ ├── index.md
│ │ ├── mytrack.gpx
│ │ ├── mysecondtrack.gpx
│ │ └── images
│ │ ├── IMGP.jpg
│ │ └── ..
换句话说,画廊中显示的照片必须位于 images
子文件夹中,并且轨迹(如果有)必须与内容位于同一级别。支持的轨迹格式为 GPX (.gpx
文件)、KML (.kml
文件) 和 GeoJSON (.geojson
文件)。
此外,帖子的内容
- 需要一个
images
参数,该参数引用此帖子中的至少一张图片,该图片将用作主页画廊中的缩略图, - 可以有一个
seealso
参数,该参数引用一个或多个其他帖子。
示例
---
title: "Lac de la Muzelle et lac Lauvitel"
date: 2017-07-30T00:00:00+00:00
images: ["images/IMGP3719.jpg"]
seealso: ["posts/lac-lauvitel", "posts/lac-muzelle"] # If single, can avoid the brackets
---
Cat ipsum dolor sit amet, hide from vacuum cleaner swat turds around the house hate dog don't nosh on the birds.
调整您的站点
为了工作,此主题不需要您站点配置中的任何特定内容。
此主题支持 Hugo 文档中指定的所有配置选项。如果您在某个选项方面遇到问题,请通过问题跟踪器或电子邮件告知我。
一些额外的参数可用于调整您的站点,这些参数在文档中进行了描述。
更新
在您的 Hugo 网站文件夹中,运行以下命令以更新到最新版本
cd themes/hugo-split-gallery && git pull
参考
有关站点参数、帖子参数和警告的参考信息,请参阅文档。
许可证
此主题根据 GPLv3 许可证获得许可,但示例站点分发的照片除外,这些照片不能免费使用。
此主题包含 fancybox,不能免费用于商业应用。如果您希望在商业应用中使用此主题,您需要从 fancybox 获取商业许可证。
所有其他包含的第三方都可以免费使用(根据 MIT 许可证、SIL OFL 1.1、BSD-2-Clause)。
贡献者
- @tmuguet:维护者
- @beva-sdev:捷克语和德语翻译,大量错误报告
贡献
如果您发现错误或对某个功能有想法,请随时使用问题跟踪器告知我。
如果您想合并一些代码,非常欢迎您打开合并请求(带有或不带有相关问题)。请从该存储库的 next
版本分支并以 next
分支为目标进行合并请求,因为 main
保留用于标记的版本。另请注意,此主题遵循语义版本控制,因此如果没有必要,请不要引入破坏性更改。
添加翻译
如果您希望添加新的翻译,则需要创建两个文件
i18n/<language>.toml
,其中包含主题的主要翻译assets/hugo-split-gallery/fancybox.<language>.js
,其中包含 fancybox 翻译
添加新的第三方/更新第三方
添加/更新第三方需要使用 npm。资源(JS、CSS、图像、字体等)被复制并提交到 git 中,因此使用此主题不需要 npm。
- 将第三方添加或更新为开发依赖项(例如,
npm install --save-dev my-third-party
) - 编辑
post-install.js
以添加要复制的资源 - 运行
npm i
以运行该脚本 - 编辑
layouts/partials/site-script.html
和/或layouts/partials/site-style.html
以包含新资源- 如果存在非 CSS/JS 文件(例如,图像、字体),Hugo 在生成站点时不会自行复制它们。在
layouts/partials/site-style.html
中提供了一个 hack 来捆绑它们。
- 如果存在非 CSS/JS 文件(例如,图像、字体),Hugo 在生成站点时不会自行复制它们。在