最近,除了用公众号来记录自己学到的东西之外,也同时维护了这个博客。博客虽然是一个很古外的产物,但是听起来是很Geek的事。独立的域名、服务器、创作内容组成。 个人博客设置了一道技术门栏,虽然技术本身不难,但是阻碍了不少人链接世界,少了一种方法。通过本文你将学会一种零成本搭建个人博客的方法。

1. 介绍

1.1 什么是 GitHub Pages?

GitHub Pages 是一组静态网页集合(Static Web Page),这些静态网页由 GitHub 托管(host)和发布,所以是 GitHub + Pages。

1.2 什么是 Hugo?

Hugo 是用 Go 语言写的静态网站生成器(Static Site Generator)。可以把 Markdown 文件转化成 HTML 文件。相比于WordPress更轻量。

1.3 Github仓库

我们需要在Github中创建两个仓库:

- 博客源码仓库:储存用 Hugo 写的所有 Markdown 源文件及图像、音频或视频文件。

- GitHub Pages 仓库:储存用 Hugo 命令生成的静态 Html 文件,最后网页显示的内容。

1.4 运行环境

本篇教程假设你已经:

- cdls

2. 安装 Hugo

根据官方文档安装Hugo,这里是Mac系统下的安装步骤:

```bash

brew install hugo

hugo version

```

安装完成后,查看Hugo版本信息:

```bash

hugo v0.120.4-f11bca5fec2ebb3a02727fb2a5cfb08da96fd9df+extended darwin/amd64 BuildDate=2023-11-08T11:18:07Z VendorInfo=brew

```

我安装的是最新v0.120版本。

3. 创建 Github仓库

进入Github 仓库创建页,创建上述两个仓库:

- 博客源码仓库

- GitHub Pages 仓库

4. 本地克隆项目

执行以下命令克隆项目到本地:

```bash

git clone https://github.com/your_username/your_repository.git

```

将`your_username`和`your_repository`替换为实际的用户名和仓库名。

5. 使用 Hugo 搭建博客

在项目根目录下执行以下命令搭建博客:

```bash

hugo new site your_website_name --gc || true

cd your_website_name/static || true

hugo # 如果你有图片等资源文件需要复制到此文件夹,可以执行此命令进行复制操作,否则可以跳过这一步。等待Hugo生成静态网站文件并更新你的DNS解析记录。

以下是根据提供的内容重构的文本,并保持了段落结构:

Hugo 网站的基本目录结构如下:

```plaintext

.

├── archetypes // 存放用 hugo 命令新建的 Markdown 文件应用的 front matter 模版

│ └── default.md

├── assets // 存放所有静态文件,如图片

├── content // 存放内容页面,比如「博客」、「读书笔记」等

├── data // 存放创建站点时 Hugo 使用的其他数据

├── hugo.toml // 网站配置文件

├── i18n // 多语言配置

├── layouts // 存放定义网站的样式

├── static // 存放其他静态资源

└── themes // 存放主题文

```

在 Hugo 中,可以使用社区提供的现成主题来快速构建网站。选择好主题之后,可以按照主题文档中的指导进行安装。安装完成后,需要对主题进行一些基本的配置。通常,这些配置信息会被存储在一个名为 `config.toml` 或 `menus.toml` 的文件中。例如,可以通过修改 `config.toml` 文件中的 `baseURL` 和 `themes` 字段来更改网站的域名和启用所选主题。

此外,还可以使用 Hugo 的模板系统来创建自定义文章类型和页面。例如,可以创建一个名为 "博客" 的主菜单项,并将其与 "blog/index.md" 文件关联起来,以便在网站上显示该页面。类似地,还可以创建其他类型的菜单项和页面,以满足个人或商业网站的需求。

根据您提供的信息,您可以使用以下命令创建 Markdown 文件并套用 archetypes 文件夹中的 front matter 模版:

```

hugo new blog/test/index.md

```

这将创建一个名为“index.md”的新文件,并将其保存在“blog/test”目录中。该文件将被自动添加到 archetypes 文件夹中的默认模板中,以便您可以在空白处使用 Markdown 编写内容 。