为何搭建个人网站
写博客是一个学习和记录的过程。通过整理和分享自己的知识和经验,并且将它们永久记录下来,方便自己日后温习和回顾。
基于hugo快速搭建个人网站,我使用的是hugo-theme-stack主题,顺带记录搭建过程,以便需要的小伙伴查看。
Hogo 安装
Hugo是一个流行的开源内容管理系统(CMS),用于构建现代化的网站。它是由Go语言编写的,具有快速、安全、可扩展性等优点。
Hugo使用Markdown语言来编写网站的内容,并支持许多其他格式。Hugo还具有强大的模板引擎和可定制的主题,使您能够轻松地创建独特的网站外观和用户体验。
Hugo、Git下载(编辑器 我用的是vs code 因为轻量级开箱即用比较方便)
Hugo 详情可以参照官方文档:
hugo 安装需要的工具Hugo v0.119.0和Git 2.42.0.windows.2,电脑系统使用的windows 10, Hugo环境和Git下载方式是通过官网。
特别注意Hugo下载如图版本,否则会有很多报错,当时本人搭建的时候用的没有下载扩展版最后还是没弄明白,然后重新有重建了几次。都是泪啊 😢。
Hugo 配置环境变量
hugo下载好之后,是一个zip格式的文件(如下图)解压后就是Hugo的环境将该环境配置到环境变量就会在任意目录调用Hugo环境
将其解压到自己的目录中,我的解压目录是D:\Dev (个人习惯 我一般环境都在该目录)解压后就是如下文件夹
进入该文件夹复制目录路径D:\Dev\hugo_extended_0.119.0_windows-amd64
右键此电脑
注意 这里有两个环境变量 一个是用户变量,一个是系统变量,用户变量是仅该用户生效,系统变量所有用户都生效,看自己需求配置。
配置完成后 进入
cmd
输入hugo version
进行验证 ,返回hugo版本证明配置成功。
配置成功就可以创建博客网站了!!!
创建博客网站
在命令行 cmd
运行命令 :
|
该命令意在构建一个网站的目录 并指定相对目录的test目录,没有该目录将会自动创建:运行成功后便会在该 目录下生成一些初始化文件:
|
此刻就搭建好了最基础的个人博客网站(没有皮肤那种的)。 此时运行hugo server 命令 打开网页会显示:
这是因为2我们没有导入皮肤主题,现在就是最初是的状态,如果是大牛的话可以自己开发主题(目前不会 冏冏
),这里就以我本人小白的身份带大家安装主题:
当然先提供hugo主题网站 Hugo Themes,可以选择自己喜欢的主题根据官方文档进行配置,这样就大功告成啦!
实际上官方文档对于英语不好的同学还有刚入坑的同学们不是很友好,有些翻译过来就变得很奇怪。
我就以我自己的亲身实践帮大家总结一下吧!
主题安装主要是分为四个方式:
- git clone 安装
- git submodule 安装
- go module 安装(需要安装 Go 语言)
- 本地安装
我个人更推荐第一种方式,考虑到后续升级的难易,这算是最均衡的一种方式。具体的安装方法可以在各主题的说明中找到,我这里安装的是Stack。 在网站目录下,输入:
|
如果想通过其他方式来获取主题,可以参考 官方文档
下载完成后将一些没用的文件夹删除(按需删除我自己用不到)
将一些主题中的文件夹移动到test目录下,方便以后操作:
|
|
根据 Stack 的说明文档,Stack后续将改用.toml格式的Config文件,不过其配置步骤基本相同。
预览网站
这是参考文档 直接输入命令
|
即可运行
但是!但是! 他出问题了
错误提示中提到了几个关键的点:
- TLS握手超时:这可能是由于在尝试与Twitter的oembed API进行通信时出现了网络问题。你可能需要检查你的网络连接或尝试在不同的网络环境下运行你的Hugo服务器。
- 模板执行超时:在你的网站的主题和布局文件中,Hugo在尝试执行一些模板时超时了。这可能是由于模板复杂度高,需要花费大量时间来计算。如果可能,你可以尝试优化这些模板,减少它们的计算复杂度,或者增加Hugo的模板执行超时时间。
简单来讲就是 一些国内无法访问的网站 比如twitter
直接将这部分代码删除即可 主要影响的是 test\content\post\rich-content\index.md
万万没想到是因为一篇示例博客印象的这里可以直接删除该博客文件夹
然后我们就可以启动啦!!
在浏览器输入 localhost:1313就进入我们的博客啦!
最终我的博客目录就是这样的 删除了一些我用不到的:
主题下文件夹我也进行了删除:
基本的已经完成了我们就可以进行博客的编写啦!
基本操作
编写博客
博客编写是md格式的文件 放在content\post\
下这里创建的每一个文件夹都是一篇博客我这里没有采用英文的博客命名直接就是 index.md
如果采用多语言可在 每个博客后面加上语言 index.en.md
。
每篇博客最开始写的有标题、副标题、创建时间、修改时间、网页地址、主页头图片、是否评论、分类、标签。
生成静态网页
如果需要部署到nginx或者github pages 中直接在命令行输入:
|
即可生成静态资源文件默认生成位置为./public
,你可以在配置文档中使用publishDir
参数指定,也可以直接使用-d
参数指定。
发布网站
Github Pages
我整了好几次最终还是放弃了 有兴趣的小伙伴可以参考炸鸡人博客
nginx
这里用的是centos7的虚拟机或则云服务器先安装的docker然后在docker下配置的nginx
这里配置nginx不是重点,请参阅后续博客 更新后我也将链接放在这里: coentos7 配置docker 以及nginx
配置好nginx后:
编辑配置文件 nginx.conf:
|
然后将test\public所有文件拷贝到服务器/usr/share/nginx/html/test目录下
通过docker exec nginx nginx -s reload
对nginx进行刷新配置 访问配置好的对应的网址即可访问到自己的博客。
主题配历程
之后的都是仿照的Exnadio’s Blog对博客进行了一些美化 剩下的都是照搬,在此鸣谢 Exnadio's Blog
静态js、css本地化
每次访问博客时都会很慢还是因为有些js、css是国外服务器 我们将这些文件下载改成本地的就会快很多,体验翻倍!
主要值修改test\themes\hugo-theme-stack\data\external.yaml 文件
|
将每个网址访问保存,这里可以用stream++进行加速一下
保存路径为:
这样再次访问就会速度翻倍!
添加评论
评论系统是博客中非常重要的一部分。它允许读者表达他们对帖子的看法和想法。它还允许作者与读者互动。
Stack 目前支持以下评论系统:
我使用的是 Giscus 自认为敝教教简单上手
进入官网 Giscus
官方显示:
选择 giscus 连接到的仓库。请确保:
1、该仓库是公开的,否则访客将无法查看 discussion。 2、giscus app 已安装,否则访客将无法评论和回应。 3、Discussions 功能已在你的仓库中启用。
创建仓库
进入Github 进行登陆或注册:https://github.com 创建仓库:
安装giscus
启用 Discussions 功能
然后将用户名/仓库名输入到
做一些偏好配置:
最后根据生成的配置:
修改config.yaml 文件
重启项目就大功告成啦!!
让我们一起看看效果: