概述
基于Hugo和Github Pages搭建个人博客是一件非常成熟简单的事情,你不需要看懂html和css源码,只需要修改几个配置就可以搭建出一个静态页面。你可以通过这里来查看我基于这套框架搭建的个人网站。
最近,我关注的PyTorch大神ezyang也将个人博客迁移至hugo,ezyang’s blog, 说明它足够稳定和强大。
理论上,只需要几十分钟就可以实现整个博客的搭建, 我参考的视频教程。
安装hugo
以macos为例,需要先安装homebrew和git,之后参考官方指南
brew install hugo
cd ~/Desktop
hugo new site blogs
此时桌面下就生成了blogs目录,当然,你可以自定义它要存放的位置。
安装主题
以papermod主题为例:
cd blogs/themes
git clone https://github.com/adityatelange/hugo-PaperMod.git
你可以修改 blogs 下的hugo.yml或者叫hugo.toml, 设置theme = “PaperMod” 你可以参考这个示例文件来配置你的网站
例如,你可以通过[params]来控制是否显示阅读时间、是否打开评论区、时间样式、作者等等等等,你甚至可以直接把文件丢给Gemini来帮你快速完成你想要的样式。
你可以通过[params.homeInfoParams]来控制主页标识,通过[[menu.main]]来管理你的菜单栏。
预览
在 blogs/content下添加一个md文件,例如:
---
title: "About"
layout: "single"
url: "/about/"
summary: "about YuZhouye"
---
内容
在blogs目录下执行hugo server就可以预览,你可以访问本地端口http://localhost:1313/来实时查看你的修改
创建Github Pages
在github下新建一个项目,通常是你的用户名.github.io,在终端执行:
hugo --baseUrl="你的用户名.github.io"
此时会生成一个public文件夹,你在blogs下的修改,hugo会帮你在public下生成对应的html文件,此时只需要将文件夹与你的Github Pages绑定即可。
cd public
git init
# 连接你的项目
git xxxx
git add .
git commit -m'xxx'
git push -u origin main
push前,你可以执行hugo --cleanDestinationDir,以清理缓存。
此时需要等待Github Pages部署,稍过几分钟就可以通过访问你的用户名.github.io来访问你的个人博客了。
添加评论系统
以giscus为例,它真的很简单,首先,需要在[params]中设置comments = true。在layouts/partials/comments.html中写入一些内容,就可以生效了,这个目录和文件可能不存在,可能需要你自己创建。
内容怎么填写?访问giscus指南,按照要求配置几个选项,并且保证你的项目是公开的且打开discussion功能,配置内容可以根据自己的喜好配置。完成后,向下滚动,可以出现一份代码,将它粘贴到你的comments.html中去。例如:
<script src="https://giscus.app/client.js"
data-repo="[在此输入仓库]"
data-repo-id="[在此输入仓库 ID]"
data-category="[在此输入分类名]"
data-category-id="[在此输入分类 ID]"
data-mapping="pathname"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="bottom"
data-theme="preferred_color_scheme"
data-lang="zh-CN"
crossorigin="anonymous"
async>
</script>
此时,评论区就成功启用了,它依赖github账号。
添加访客计数
基于busuanzi进行计数,在layouts/partials/extend_footer.html中写入一些内容,就可以生效了,同样地,这个目录和文件可能不存在,可能需要你自己创建。你需要写入:
<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
还需要修改主题的layouts/partials/extend_footer.html,推荐使用gemini生成。
结语
这一套应该是我摸索出的最简单的博客搭建方法了,因为是事后写博客,难免有不足之处,欢迎评论+建议。