关于 Hugo

 

读完此篇,你将对 Hugo 有一个基础的了解。

 

关于 HugoHugo 和 GDPR(Hugo 和通用数据保护条例)Hugo 0.32 HOWTO(Hugo 0.32 指南)页面资源 - 组织内容页面资源 - 处理模板中的页面资源 图像处理图像处理 - 图像处理选项图像处理 - 性能配置What is Hugo(什么是雨果)Hugo Features(Hugo 特色)The Benefits of Static Site Generators(静态站点生成器的好处)License(许可证)

Hugo 和 GDPR(Hugo 和通用数据保护条例)

 

这节主要介绍了 Hugo 为了 GDPR 的相关内容,从 0.41 版本开始 Hugo 提供了一个涵盖相关内置模板的隐私配置(Privacy Config)以及隐私配置的一些详细解释。

 

GDPR:(General Data Protection Regulation)通用数据保护条例是欧盟法律中针对欧盟和欧洲经济区内所有个人的数据保护和隐私权的条例。

 

 

Hugo 0.32 HOWTO(Hugo 0.32 指南)

 

这一节介绍了关于页面打包,图像处理等。

 

这一节内容本来是属于其它章节的,但它被提前了,因此重点看一下 “组织内容”,其它稍微过一遍即可。

这一节提供了一个 demo project 。(预览

 

页面资源 - 组织内容

 

 

上方的 content 文件夹展示了内容页面(md,即 markdown 文件)和图像资源的混合体。

 

你可以使用任何文件类型作为内容资源,只要它是 Hugo 可以识别的 MIME 类型(例如,json 文件就可以正常工作)。你也可以定义自己的媒体类型

 

 

这里你可能有疑问,你可以按照上面的目录构建页面来查看效果。

index.md_index.md 有什么作用?你可以在目录中加入这两个文件来查看它们有什么不同。

 

注意,对 content 文件夹中任何资源的更改将在监视(又名服务器或实时重载模式)下运行时触发重新加载,甚至可以与--navigateToChanged一起使用。

 

页面资源 - 处理模板中的页面资源

 

 

对于绝对 URL,请使用 .Permalink

注意:permalink(永久链接)将相对于内容页面,并遵守 permalink 链接设置。此外,包含的页面资源将没有RelPermalink 值。(这里结合实际的效果来理解就好了)

 

 

 

这里的类型是页面类型,同时也是 MIME 类型中的主要的类型,主要的 MIME 类型还有 image,json 等。

 

 

 

 

 

图像处理

 

图像资源实现了 ResizeFitFill:” 方法:(调整、适合和填充)

 

由于 Go 的图片包(image package)不支持 EXIF 数据,因此 Hugo 中的图片操作目前无法保存 EXIF 数据。将来会对此进行改进。

 

👉 原文档给出了一个图像处理的示例,点击查看 Image Processing Examples

 

图像处理 - 图像处理选项

 

除了可以省略高度或宽度的尺寸(例如200x100)外,Hugo 还支持一组其他图像选项:

图像处理 - 性能

 

处理后的图像存储在 <project-dir>/resources 下(可以使用 resourceDir 配置设置进行设置)。这个是文件夹故意放置在项目中,因为它们被建议作为项目的一部分来检查源代码管理。这些图像不是 “雨果快速” 生成,但是一旦生成,便可以重复使用。

 

如果你更改了图像设置(例如尺寸),删除或重命名了图像等,最终将导致未使用的图像占用空间并使项目混乱。你可一运行下面的命令:

 

 

GC 是 Garbage Collection (垃圾收集)的缩写。

 

配置

 

默认图像处理配置:

您可以使用默认的图像处理选项在 config.toml 中配置成像部分:

 

 

What is Hugo(什么是雨果)

 

这一节介绍了 Hugo 是什么、做什么以及谁应该使用雨果。(了解即可)

 

Hugo 是一个用 Go 语言编写的快速、现代化的静态网站生成器,旨在让网站创建再次变得有趣。Hugo 站点可以托管在任何地方,包括 NetlifyHerokuGoDaddyDreamHostGitHub PagesGitLab PagesSurgeAerobaticFirebaseGoogle Cloud StorageAmazon S3RackspaceAzureCloudFront,并且可以与 CDN 很好地协作。

 

用技术术语来说,Hugo 获取文件和模板的源目录,并将其用作输入来创建完整的网站。

 

Hugo Features(Hugo 特色)

 

🐮 这一节主要介绍了 Hugo 的牛掰之处,如强大的内容管理和模板语言。

 

📌 注:下面有一些陌生的名词,如 taxonomies、front matter、shortcodes 等,将在后面的解释,本节内容大致过一遍就好。

 

 

 

 

 

The Benefits of Static Site Generators(静态站点生成器的好处)

 

这一节简单介绍了一下静态站点生成器的好处,没有需要特殊了解的点。(下面是拓展知识,与文档无关)

 

什么是静态网站和动态网站?(下面个人理解)

 

License(许可证)

 

📝 这一节介绍 Hugo 使用的许可证,Hugo v0.15 和更高版本是根据 Apache 2.0 许可发布的,早期版本是根据 “Simple Public License” 发布的。(下面内容与文档无关,可以选择性阅读)

 

Apache License 2.0 是一个由 Apache 软件基金会发布的自由软件许可证,它允许个人使用、商业使用、复制、分发、修改,作者免责,需要保留作者版权信息,声明更改的地方。下面是简单解释:

 

实际开发中如何使用 Apache 2.0 许可证?

  1. 准备一份 Apache 2.0 许可证的拷贝,(可以从 Apache 基金会 拷贝)

  2. 修改下面的通告声明,修改之前你需要知道:

    1. [yyyy] 应该被替换成年份如 2019,[name of copyright owner]替换成作者姓名如 Jack。
    2. 你须要把通告声明用合适的 “注释语法” 写到每一份文件中去(最好是在文件开头)。
    3. 在发布作品的根目录下准备两个文件,一个文件命名成 LICENSE,把准备的许可证内容拷贝进去。另一个文件命名成 NOTICE,用来放置通告声明的内容,以及一系列项目中用到的第三方类库的名字(最好也包括这些类库的作者)。
    4. 确认项目中的许可证是否与 Apache 2.0 许可证兼容。