前言
博主原本使用WordPress+Inspire搭建个人博客,然而,Inspire不再更新,也不再兼容新版php,兼容性逐渐出现各种问题;与此同时,博主不太喜欢wordpress默认的一系列主题,为改善博客兼容性问题,提高博客相应速度,博主决定从wordpress的动态博客转向纯Html的静态博客。经过筛选,博主最终决定使用**Hugo框架+Stack主题**搭建我的静态博客。
需要注意的是,Hugo与WordPress是不同的,Hugo采用MarkDown作为文本格式,在写好内容后,使用Hugo作为生成工具,手动生成Html等静态资源,Hugo没有专门的内容编辑后台,所有文字工作需要在本地完成。
1.下载Hugo
由于博主本地使用Windows环境,故下载Windows版本的Hugo。Hugo分为3个版本,具体区别如下表
版本 | 特点 | SCSS/SASS 支持 | Hugo Pipes 支持 | hugo deploy 支持 |
---|---|---|---|---|
Standard(普通版) | 最基础版本,适合纯 Markdown 转 HTML | ❌ | ❌ | ❌ |
Extended(拓展版) | 支持现代前端构建,适合大多数主题 | ✅ | ✅ | ❌ |
Extended with Deploy | 在 Extended 基础上增加部署功能 | ✅ | ✅ | ✅ |
🔑 关键区别
-
普通版 (Standard)
-
适合纯 Markdown → HTML 的轻量级博客或文档站点
-
没有复杂前端需求时足够
-
不支持 SCSS/SASS、PostCSS、Tailwind 等
-
-
Extended (拓展版)
-
支持 SCSS/SASS 编译(Hugo Pipes)
-
支持 PostCSS,能直接处理 Tailwind、Autoprefixer 等
-
适合大多数现代 Hugo 主题(因为很多主题依赖 SCSS/SASS)
-
-
Extended with Deploy
-
在 Extended 的基础上,额外支持
hugo deploy
命令 -
可以直接把生成的网站部署到远程(如 S3、Azure、GCP 等)
-
适合需要 Hugo 自带部署功能的用户,否则和 Extended 没区别
-
为了后期使用的便利,直接下载 hugo_extended_withdeploy 就完事了
下载完成后,你会得到一个Hugo静态网站生成器的exe执行文件,该执行文件可以帮助你生成一个静态网站的全部内容。此步骤可做可不做:将hugo所在的目录放在系统环境变量path中。笔者是做了这一步的,这一步的作用是,无论你在那个目录下,都能使用hugo命令。如不添加,则当你生成了一个静态网站资源,你需要将hugo.exe文件拖入静态网站资源的目录下,以便你日后在在目录内调用hugo命令。
在控制台(如果没有添加环境变量,则需要在有hugo.exe的目录下执行)使用hugo version命令测试hugo是否安装成功,如果安装成功,则输出如下
|
|
2.创建新站点
在cmd中(如果没有配置全局路径,在hugo.exe目录下使用该命令)使用命令,会在当前目录下创建一个站点
|
|
上面截图显示了创建新的站点成功,并且会给你一些提示,按照提示走就可以花很少的时间搭建出一个静态网站
Hugo会在这个D:\Web目录下自动新建一个名为Test的目录,如上图所示
进入test目录
|
|
3.添加主题
Hugo下载好后,就可以开始挑选自己喜欢的主题,可以在Hugo官网下挑选(Complete List | Hugo Themes),每个主题都可以点进去查看详细信息与下载地址,笔者这里使用了stack主题,特别适合用于搭建个人博客网站。可以通过Hugo Themes中选中stack主题,进去Download,也可以在GitHub上直接搜索CaiJimmy/hugo-theme-stack: Card-style Hugo theme designed for bloggers,仿照上面下载hugo的方法找到对应位置下载源码(source code)压缩包即可。
3.1解压主题
将stack主题的源码解压到test\themes目录下(接下来为了方便,test统称为站点目录)。
将解压的目录名称中的版本号删除,改成像我一样hugo-theme-stack
值得注意的是,如果你想换其它主题,或者你一开始便不打算下载stack主题,操作也是一样的,同样将版本号删除,并将yaml配置文件中的主题改成对应的主题目录名称即可(后面会提及)
3.2从主题文件中复制两个重要文件
在解压的目录(hugo-theme-stack)下,有一个样例目录名为:exampleSite,里面有两个非常重要的东西,一个是content目录,一个是hugo.yaml配置文件,将这两个文件复制出来
放到站点目录下
将原本的默认配置文件hugo.toml删除,用我们复制过来的hugo.yaml做配置文件
注意:在content\post\目录下,有一个rich-content的目录删掉,post目录下存放的就是你的博客内容,这个rich-content博客中做了一些引用Youtube的样例操作,可能会导致你运行失败,这些国外网站可能会导致你访问超时
4.修改配置文件
打开刚才复制过来的hugo.yaml
4.1更换主题
可以看到,这里主题选择的是hugo-theme-stack,如果你想更换其它的主题,只需下载其它主题的源码到themes\目录下,并将配置文件中的主题换掉即可
以下使用代码段形式展现笔者修改了的部分:
笔者将url的重定向到自己的博客域名
|
|
修改了著作权,当然,这个著作权是指本博客的著作权,而非hugo也非该主题
|
|
将默认语言修改为中文
|
|
修改以下配置,据说可以更精确的计算读文章的时长
|
|
这里修改的是博客左上方的标题,有中英两个版本,但笔者的博客全是中文博客,还没有做国际化的打算,故只修改了中文部分
|
|
这个参数是指一页展示多少篇文章
|
|
你可以在static目录下存放你博客的图标,将名称改为favicon.ico
|
|
以下参数是修改你的头像以及添加emoji(头像右下角的表情),首先将图片名称改为avatar.png,并添加到assets\img\目录下,如果没有img目录可自行创建,然后将参数修改:
|
|
修改下面的参数,可以添加或修改头像下面的快捷链接小图标,笔者增加了链接进入笔者B站主页和进入笔者CSDN主页的快捷链接,图标以SVG格式存放在assets\icons\目录下,值得注意的是,下面参数icon是图标的文件名去掉.svg,比如brand-bilibili.svg去掉.svg,如下:
|
|
说明,本文的icon图标来源于此网站,此网站的icon风格与此主题较为匹配
5.运行博客
命令:
|
|
注意: 必须是在站点目录下使用该命令。(上面我们通过cd test进入了目录) 必须是D而不是d
运行命令后会出现以下信息
可以看见,通过访问http://localhost:1313即可访问博客
6.开始写文章
6.1文章目录结构
首先看一下文章目录结构,文章都保存在content目录下:
看看对应的网站结构:
其实无论是page,categories,post,都可以看作一个一级目录,然后每一篇文章,每一个分类,亦或者每一个侧边栏的选项,都是二级目录,二级目录下才是真正的内容,比如,在categories目录下:
有这么几个二级目录,分别代表了四个我已经创建并附带说明的分类
7.如何写文章
写博文采用的是markdown格式,使用Typora工具,写markdown手感特别好。
在写博文的时候需要注意的是开头携带的信息,如下所示:
|
|
如果是普通的编写模式,则是下面这个样子的:
|
|
后面的就按照正常markdown创作即可