Hugo + Github Pages 搭建个人博客

本文介绍使用Hugo静态站点生成器快速搭建个人博客的过程,包括安装配置、主题选择及个性化设置,分享提高网站运行和打包速度的经验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

尝试过 Hexo 、GatsbyJs、 Vuepress 搭建博客后,对这些工具最大的不满,就是运行速度以及打包速度。

后来看到 Hugo ,号称最快的静态站点生成器后。

尝试搭建博客,发现不管是运行速度,还是打包速度超级快,果断将个人博客迁移到 Hugo。 Hugo 官方的定义是:

Hugo is a fast and modern static site generator written in Go, and designed to make website creation fun again.(Hugo 是使用 Go 编写的快速而现代的静态站点生成器,旨在使网站创建变得有趣。)

安装 Hugo

Hugo 搭建个人博客前,需要先安装 Git 和 Go 语言开发环境。

分别在 golang.org/dl/git-scm.com/ 下载二进制安装包,点击默认设置安装即可。

Mac 安装 Hugo

既可以使用 HomeBrew 安装,也可以在 github.com/gohugoio/hu… 下载二进制包安装

brew install hugo 
复制代码

Windows 安装 Hugo

github.com/gohugoio/hu… 下载二进制包安装

安装完成后,在命令行输入以下命令验证安装:

hugo version
复制代码

输出版本信息表示安装成功,更多安装方式查看 gohugo.io/getting-sta…

建立 Hugo 项目

一个 Hugo 项目就是一个站点,创建命令如下:

hugo new site [project-name]
复制代码

例如我的站点名称是 blog,创建命令如下:

hugo new site blog
复制代码

创建完成后,在 blog 文件夹下会生成以下文件结构:

.
├── archetypes # 存放生成博客的模版
├── assets # 存放被 Hugo Pipes 处理的文件
├── config # 存放 hugo 配置文件 支持 JSON YAML TOML 三种格式配置文件
├── content # 存放 markdown 文件
├── data # 存放 Hugo 处理的数据
├── layouts # 存放布局文件
├── static # 存放静态文件 图片 CSS JS文件
└── themes # 存放主题
复制代码

添加主题

为了快速搭建博客,可以使用主题。使用主题后,只需要向 content 文件夹添加 Markdown 文件即可。

Hugo 有主题市场 themes.gohugo.io/ ,挑选了半天,选出了两个自认为好看的主题:

  1. github.com/olOwOlo/hug…
  2. github.com/yoshiharuya…

第一个更好看、功能更加强大,选择了第一个。进入根目录,克隆主题文件就是安装主题。

cd blog
git clone https://github.com/olOwOlo/hugo-theme-even themes/even
复制代码

启动 Hugo

进入 blog/themes/even/exampleSite 文件夹,将 config.tom 文件拷贝到项目根目录下,同时将 blog/themes/even/exampleSite/content 文件夹覆盖掉根目录下的 content

命令行输入以下命令,启动 Hugo :

hugo server
复制代码

在浏览器打开 http://localhost:1313/ 即可查看效果。

配置主题

为了个人使用,需要修改 config.tom 文件,根据说明修改配置即可。

我的主题配置文件

进入 blog/themes/even 文件夹,会发现文件结构与新建的 Hugo 项目的文件结构几乎是一样的。这样设置是为了用户的配置可以覆盖掉主题的配置。

比如我要自定义底部的显示,hugo-theme-even 底部配置由 blog/themes/even/layouts/partials/footer.html 控制。

为了覆盖掉主题的配置,在项目根目录下新建 blog/layouts/partials/footer.html 文件,填入自定义内容即可覆盖掉主题配置。其他文件的覆盖是一样的。

hugo-theme-even 使用了 Webpack 打包 js,css,并且文件名加入 hash 值,这种 css,js 是无法覆盖的,不过 hugo-theme-even 配置中有覆盖这种 css,js 的参数,详情参考我的文件配置。

添加新博客

添加新博客命令比较简单,命令如下:

hugo new post/my-first-blog.md
复制代码

这个命令会使用模板创建文件,首先查找用户的模板文件,没有就会查找主题的模板文件。

hugo-theme-even 的模版文件 blog/themes/even/archetypes/default.md 比较复杂,新建 blog/archetypes/default.md 文件覆盖掉即可。

我的模板配置如下:


---
title: "{{ replace .TranslationBaseName "-" " " | title }}"
date: {{ .Date }}
description: ""
draft: true
tags: []
categories: []
---

<!--more-->

复制代码

draft 参数控制网站上该页面是否显示。设置为 false 或者去掉该参数才显示。<!--more--> 之前的内容会自动作为页面摘要。

打包

为了部署到线上,需要将 Markdown 文件打包成 HTML 文件。打包命令如下,even 是主题名:

hugo -t even
复制代码

部署到 Github Pages

打包之后就是纯 HTML 文件,理论上所有支持部署静态页面的网站都是支持的。

我的部署命令如下,更多部署方式查看 gohugo.io/hosting-and…

#!/bin/bash
# 部署到 github pages 脚本
# 错误时终止脚本
set -e

# 删除打包文件夹
rm -rf public

# 打包。even 是主题
hugo -t even # if using a theme, replace with `hugo -t <YOURTHEME>`

# 进入打包文件夹
cd public

# Add changes to git.

git init
git add -A

# Commit changes.
msg="building site `date`"
if [ $# -eq 1 ]
  then msg="$1"
fi
git commit -m "$msg"

# 推送到githu  
# nusr.github.io 只能使用 master分支
git push -f git@github.com:nusr/nusr.github.io.git master

# 回到原文件夹
cd ..

复制代码

代码

博客文件存放地址 github.com/nusr/blog

文章首发 nusr.github.io/

转载于:https://juejin.im/post/5cc41bfef265da036505031c

<think>好的,用户之前已经问过如何创建个人网站,现在他想用HugoGitHub Pages来建一个简历网站,需要详细步骤。首先,我得回忆一下Hugo的基本使用流程,然后结合GitHub Pages的部署步骤。 用户可能已经有一定的技术背景,但可能对静态网站生成器和GitHub Pages不太熟悉。需要分步骤详细说明,确保每一步都清晰,尤其是环境配置和命令操作部分。 首先,需要安装HugoGit,这是前提条件。要说明如何在不同操作系统上安装,比如macOS用Homebrew,Windows用Chocolatey或者下载安装包。然后创建Hugo项目,这里要指导用户使用命令行生成站点结构。 接下来,选择主题是关键,简历网站需要简洁的主题,可能需要推荐几个适合的主题,比如Ananke或者Resume。需要告诉用户如何将主题添加到项目中,修改配置文件config.toml,这一步可能需要详细说明配置项。 然后,创建内容页面,特别是简历内容,可能需要用Markdown编写,Hugo会自动生成页面。需要解释content目录的结构,以及如何添加md文件。用户可能需要知道如何组织内容,比如分段落或者添加项目经验。 定制化部分,用户可能想调整CSS或布局,这里需要指导如何覆盖主题的静态文件,比如在assets目录下添加自定义CSS,并修改布局模板。这部分可能需要一些前端知识,但用户可能只需要基础调整,所以步骤要简单明了。 本地测试很重要,要确保用户知道如何使用hugo server命令预览网站,检查效果后再部署。 部署到GitHub Pages需要创建两个仓库,一个存放源代码,另一个作为GitHub Pages的站点。要详细说明如何初始化Git仓库,添加远程仓库,设置发布目录为public的子模块。这一步容易出错,需要仔细说明命令和配置。 最后是绑定自定义域名,用户可能有自己的域名,需要指导如何在GitHub仓库设置CNAME文件,并在域名服务商添加DNS记录。此外,要提醒用户开启GitHub Pages的HTTPS。 维护和更新部分,用户可能需要知道如何更新内容后重新生成和提交代码,保持网站的最新状态。 需要检查是否有遗漏的步骤,比如Git的安装、Hugo的版本是否兼容主题,或者GitHub账户的配置。另外,考虑到用户可能遇到的常见问题,比如主题无法加载,或者部署后页面404,可以提前给出解决建议,比如检查baseURL配置,或者确保GitHub Pages的发布分支正确。 总之,步骤要详细但不过于复杂,确保用户按部就班就能完成简历网站的搭建,同时提供一些实用的小贴士,比如使用免费域名或HTTPS配置,提升用户体验。</think>--- ### **使用 Hugo + GitHub Pages 创建个人简历网站的详细步骤** --- #### **1. 安装必要工具** - **安装 Git** - 下载地址:[Git 官网](https://git-scm.com/) - 验证安装:命令行输入 `git --version`,显示版本号即成功。 - **安装 Hugo(静态网站生成器)** - **Windows**:使用 Chocolatey 安装:`choco install hugo -confirm` - **macOS**:使用 Homebrew 安装:`brew install hugo` - 验证安装:命令行输入 `hugo version`,显示版本号即成功。 --- #### **2. 创建 Hugo 项目** ```bash # 生成新站点(my-resume 为项目名) hugo new site my-resume cd my-resume ``` --- #### **3. 添加主题(以简历主题为例)** - **推荐主题** - [Ananke](https://themes.gohugo.io/themes/gohugo-theme-ananke/)(简洁通用) - [Resume](https://themes.gohugo.io/themes/hugo-resume/)(专为简历设计) - **安装主题**(以 Ananke 为例): ```bash # 将主题添加到 themes 目录 git init # 初始化 Git 仓库 git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/ananke ``` - **配置主题** 修改 `config.toml` 文件,添加以下内容: ```toml baseURL = "https://你的GitHub用户名.github.io/" # 后续替换为你的GitHub Pages地址 languageCode = "zh-CN" title = "我的简历" theme = "ananke" ``` --- #### **4. 创建简历内容** - **生成内容文件** ```bash hugo new content/_index.md # 创建主页 hugo new content/about.md # 创建“关于我”页面 ``` - **编辑内容** 用 Markdown 语法填写内容(示例 `about.md`): ```markdown --- title: "关于我" date: 2023-10-01 --- ## 个人简介 - 姓名:张三 - 职业:前端开发工程师 - 技能:HTML/CSS/JavaScript、React、Node.js ``` --- #### **5. 本地测试网站** ```bash hugo server -D # 启动本地服务器 ``` - 浏览器访问 `http://localhost:1313` 预览效果。 --- #### **6. 部署到 GitHub Pages** - **创建 GitHub 仓库** 1. 新建仓库 `my-resume`(存放 Hugo 源码)。 2. 新建仓库 `用户名.github.io`(用于托管生成的静态文件)。 - **生成静态文件** ```bash hugo -D # 生成 public 目录(内含静态网页文件) ``` - **推送代码到 GitHub** ```bash # 初始化仓库并关联远程仓库 cd my-resume git add . git commit -m "初始化项目" git remote add origin https://github.com/你的用户名/my-resume.git git push -u origin main # 部署 public 目录到 GitHub Pages 仓库 cd public git init git add . git commit -m "部署静态文件" git remote add origin https://github.com/你的用户名/你的用户名.github.io.git git push -u origin main ``` --- #### **7. 绑定自定义域名(可选)** - **在 GitHub Pages 仓库设置** 1. 仓库 → Settings → Pages → Custom domain → 输入你的域名(如 `resume.yourname.com`)。 2. 仓库会自动生成 `CNAME` 文件(需保留此文件)。 - **域名服务商配置 DNS** - 添加 `CNAME` 记录:主机名 `www` → 指向 `你的用户名.github.io`。 - 或添加 `A` 记录:主机名 `@` → 指向 GitHub Pages 的 IP(如 `185.199.108.153`)。 --- #### **8. 启用 HTTPS(自动)** - GitHub Pages 默认启用 HTTPS,访问 `https://你的用户名.github.io` 即可。 --- #### **9. 后续更新内容** - 修改 Markdown 文件后,重新生成并推送: ```bash hugo -D # 重新生成 public 目录 cd public git add . git commit -m "更新简历内容" git push origin main ``` --- ### **常见问题** 1. **页面显示空白?** - 检查 `config.toml` 中的 `baseURL` 是否与 GitHub Pages 地址一致。 2. **主题样式未加载?** - 确认主题已通过 `git submodule` 安装,且 `theme` 字段配置正确。 3. **自定义域名无法访问?** - 等待 DNS 生效(最长 48 小时),或检查 CNAME/A 记录是否配置正确。 --- ### **总结** - **零成本方案**:Hugo + GitHub Pages 完全免费,适合技术简历或作品集。 - **效率提升**:使用 Markdown 编写内容,Hugo 自动生成页面,维护简单。 - **扩展性**:未来可集成评论系统(如 utterances)、Google Analytics 等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值