网站使用了 Gemini 来帮我建立,这是 Gemini 总结的备忘,放在上面。
站点基础信息与个人名片配置
主页的名称、个人简介、暗黑模式开关以及社交链接,全部由项目根目录下的 hugo.toml 文件控制。使用 Vim 打开该文件,直接修改对应字段即可。
baseURL = 'http://你的服务器IP或域名/'
languageCode = 'zh-cn'
title = '我的个人主页'
theme = 'PaperMod'
[params]
defaultTheme = "auto"
ShowThemeToggle = true
author = "你的名字"
[params.homeInfoParams]
Title = "你好,我是 [你的名字] 👋"
Content = """
欢迎来到我的个人主页。
"""
[[params.socialIcons]]
name = "github"
url = "https://github.com/你的GitHub用户名"
浏览器标签页图标 (Favicon) 设置
为网页添加自定义图标,无需修改前端代码,分为文件放置与路径声明两步:
- 准备一张名为
favicon.png的正方形图片(建议透明背景)。 - 将图片直接放在项目根目录的
static/文件夹下(即路径为static/favicon.png)。 - 在
hugo.toml文件的最下方补充资产声明配置:
[params.assets]
favicon = "/favicon.png"
页脚 ICP 备案号添加
Hugo 支持通过局部模块注入内容,避免破坏主题原生代码。
- 在根目录下依次进入或创建文件夹:
layouts/partials/。 - 使用 Vim 创建文件
extend_footer.html。 - 填入以下 HTML 代码,颜色变量
var(--secondary)会自动适配网站的亮暗色模式:
<div style="margin-top: 10px; font-size: 14px;">
<a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener" style="color: var(--secondary);">
苏ICP备XXXXXXXX号-1
</a>
</div>
新文章创建与本地图片引用
内容创作完全通过终端命令生成模板,并通过 Markdown 语法进行排版。
- 生成文章模板:在终端根目录运行
hugo new posts/文章英文名.md。使用 Vim 打开后,必须将顶部的draft: true改为draft: false才能正式发布。 - 图片存放规则:实拍图或项目截图存放至
static/images/目录下(例如static/images/demo.jpg)。 - Markdown 引用规则:路径必须以斜杠开头,且绝对不能包含
static字样。

本地实时预览与热更新
在将内容推送到服务器前,可在本地浏览器进行效果校验。
在终端运行以下命令开启本地服务器(带有 -D 参数表示同时渲染草稿):
hugo server -D
随后浏览器打开 http://localhost:1313。保持终端运行状态,在 Vim 中保存 Markdown 或配置文件时,浏览器页面会瞬间自动刷新。
静态文件打包与全量部署
完成写作并确认无误后,只需通过两条命令即可完成网站的上线更新:
- 终止本地预览(
Ctrl+C),运行打包命令生成纯静态网页(产物位于public文件夹):
hugo
- 使用
scp命令将产物覆盖推送到服务器指定的 Nginx 托管目录:
scp -r public/* 你的服务器用户名@服务器IP:/var/www/homepage/
Nginx 静态托管配置备查
若服务器重装或更换域名,需要重新配置 Nginx 代理,只需修改 /etc/nginx/sites-available/default 文件:
server {
listen 80;
server_name 你的服务器IP或域名;
root /var/www/homepage;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
自定义代码块字体与现代等宽排版
PaperMod 支持无侵入式的 CSS 覆盖,你完全不需要修改主题核心文件。推荐配置极具极客质感、带有连字特性且非常契合低对比度暗黑模式的现代编程字体(例如 JetBrains Mono、Fira Code 或 Hack)。
- 创建自定义 CSS 目录:在终端的项目根目录下,新建
assets/css/extended文件夹。PaperMod 被设计为会自动去读取这个目录下的样式,并无缝拼接到网站中。
mkdir -p assets/css/extended
- 编写样式文件:使用 Vim 创建并打开
custom.css。
vim assets/css/extended/custom.css
- 注入字体规则:粘贴以下 CSS 代码。这里设置了一个字体回退链(Fallback),优先使用现代编程字体,如果访客电脑上没装,则自动向下回退到系统自带的优秀等宽字体。
:root {
/* 将你最喜欢的代码字体写在最前面 */
--code-font: 'JetBrains Mono', 'Fira Code', 'Hack', Consolas, Monaco, monospace;
}
/* 强制覆盖行内代码、代码块以及语法高亮区域的字体 */
code, pre, .highlight {
font-family: var(--code-font) !important;
}
保存并退出(:wq)。
4. 预览与打包:直接运行 hugo server -D。只要你的电脑本地安装了对应的字体,刷新浏览器后,代码块的视觉效果会瞬间切换为现代的终端排版。确认无误后,通过 hugo 打包并覆盖上传即可。
Bilibili (B站) 社交链接与自定义图标注入
PaperMod 原生预置了 GitHub 等常用海外平台的图标,对于国内的 B 站,需要通过向指定目录注入自定义 SVG 矢量图形的方式来补全,以确保视觉风格统一且支持暗黑模式自动变色。
- 创建自定义图标目录:在终端进入项目根目录,创建 PaperMod 专门用于读取扩展图标的文件夹:
mkdir -p layouts/partials/svg/
- 写入 B 站 SVG 代码:使用 Vim 新建并打开名为
bilibili.svg的文件:
vim layouts/partials/svg/bilibili.svg
为了契合 PaperMod 极简的线条美学(不突兀),这里为你手写了一个只保留线条轮廓的“小电视”图标。直接将以下 HTML/SVG 代码粘贴进去并保存(:wq):
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect x="3" y="8" width="18" height="12" rx="3" ry="3"></rect>
<line x1="8" y1="3" x2="11" y2="8"></line>
<line x1="16" y1="3" x2="13" y2="8"></line>
<line x1="9" y1="14" x2="9.01" y2="14"></line>
<line x1="15" y1="14" x2="15.01" y2="14"></line>
</svg>
- 在配置文件中挂载:使用 Vim 打开根目录下的
hugo.toml。找到之前配置 GitHub 的[[params.socialIcons]]区域,在其下方追加 B 站的专属配置块。这里的name必须和刚才创建的.svg文件名严格一致:
[[params.socialIcons]]
name = "bilibili"
url = "https://space.bilibili.com/你的B站UID"
- 本地预览与打包上线:运行
hugo server -D。刷新本地浏览器,主页简介下方就会多出一个与字体同色的极简小电视图标,并且跟随亮暗模式自动切换。确认跳转正常后,停掉预览服务,执行hugo打包,并用scp推送到服务器。