2024-12-07    2024-12-07    1294 字  3 分钟

1. 仓库代码初始化

Hugo 中文网


1
2
3
4
5
git init
git add .
git commit -m "Initial commit"
git remote add origin 仓库地址
git push -u origin master

当使用git clone下来的工程中带有submodule时,初始的时候,submodule的内容并不会自动下载下来的,此时,只需执行如下命令:

1
git submodule update --init --recursive

2. 主题

Hugo 主题网站

2.1. 使用方法

通常,在 Hugo 根目录下会有一个 theme 文件夹。这里放置了静态博客使用的主题,这些主题在 github 上有自己的仓库。一种使用主题的方法是把主题 .zip 包下载下来,放到 hugo 根目录,同博客一起更新管理。但是这样就容易漏掉了主题所在的 github 上仓库的更新。并且主题的 github 仓库更新时,还是要下载 .zip 包,并在我的仓库里提交这个主题的更新。 为了方便 theme 中的主题同 github 上主题同步,可以选择使用 git submodule.

2.2. 添加 submodule

  1. 在 hugo 根目录下添加 submodule
1
git submodule add 主题仓库地址 themes/主题名称
  1. submodule 有更新
1
2
git submodule init
git submodule update

2.3. 删除 submodule

  1. 删除 .gitmodules 文件。
  2. 执行 git rm -cached 把子模块从 git 中删除

2.4. 多个 submodule 管理

暂无

3. hugo目录

Hugo 是一个静态网站生成器,它的目录结构对于理解和使用 Hugo 至关重要。以下是 Hugo 的主要目录及其用途的详细讲解:

  1. archetypes:这个目录包含用于新内容的模板。当你使用 hugo new 命令创建新内容时,Hugo 会根据内容的类型使用相应的 archetypes 模板文件来创建新文件,这样可以节省时间并保持一致性。

  2. assets:这个目录包含需要通过 Hugo Pipes 处理的资源,如图片、CSS、Sass、JavaScript 和 TypeScript 等资源。只有那些被 .Permalink.RelPermalink 引用的文件才会被发布到 public 目录中。

  3. config:这个目录包含站点配置,可能分为多个子目录和文件。对于配置较少或不需要在不同环境中以不同方式运行的项目,项目根目录中的单个 hugo.toml 配置文件就足够了。Hugo 提供了大量的配置指令,这些指令可以存储为 JSON、YAML 或 TOML 文件。

  4. content:这个目录包含组成站点内容的标记文件(通常是 markdown)和页面资源。每个顶级文件夹在 Hugo 中被认为是一个内容部分(section),例如 blogarticlestutorials

  5. data:这个目录包含用于增强内容、配置、本地化和导航的数据文件(JSON、TOML、YAML 或 XML)。这些数据文件可以在生成网站时被 Hugo 调用。

  6. i18n:这个目录包含多语言站点的翻译表。

  7. layouts:这个目录包含将内容、数据和资源转换为完整网站的模板。模板包括列表页面、首页、分类模板、部分模板、单一页面模板等。

  8. public:这个目录包含发布的网站,在运行 hugo 命令时生成。Hugo 根据需要重建此目录及其内容。

  9. resources:这个目录包含 Hugo 资源管道的缓存输出,在运行 hugohugo server 命令时生成。默认情况下,此缓存目录包括 CSS 和图片。Hugo 根据需要重建此目录及其内容。

  10. static:这个目录包含在构建站点时将复制到 public 目录的文件,例如 favicon.icorobots.txt 和用于验证站点拥有权的文件。在引入页面包和资源管道之前,static 目录也用于存放图片、CSS 和 JavaScript 等资源。

  11. themes:这个目录包含一个或多个主题,每个主题位于自己的子目录中。

这些目录共同构成了 Hugo 站点的基本结构,每个目录都有其特定的功能和用途,理解这些目录有助于更有效地使用 Hugo 构建和管理静态网站。