Blog 搭建笔记
hugo优点
常见的静态网站生成工具对环境依赖过多,性能较差,于是使用Go
语言写了一个静态网站生成器Hugo
。
不仅解决了环境依赖、性能较差的问题,还有使用简单、部署方便等诸多优点,通过LiveReload
实时刷新,极大的优化文章的写作体验。
hugo安装
Hugo
的安装有很多方式 Install Hugo 根据个人喜好可以自行安装。
使用 Hugo
前需要安装 Git 和 Go 语言开发环境。
第一步 打开 hugo官网 → 下载hugo,选择符合自己环境的版本下载;
第二步 解压hugo
安装文件,比如到 C:\hugo
管理员身份打开cmd
,切换到 C:\hugo\
目录下,输入:
1 | hugo version |
显示 hugo
版本号,说明安装成功了;
将Hugo
添加到Windows
的环境变量 PATH
中;
步骤 计算机 –> 属性 –> 高级系统设置 –> 环境变量 –> 系统变量 –> Path
。
按快捷键win + R
,输入:sysdm.cpl
快速打开环境变量配置;
现在在任意位置,右键打开 git bash
输入 hugo version
同样也会得到 hugo
版本号;
开始使用
创建本地站点根目录
在任意目录下,然后输入如下命令,进行创建本地站点根目录
1 | hugo new site hugoblog |
下载hugo主题
因为hugo
没有内置主题,所以你需要去下载一个
1 | git clone https://github.com/reuixiy/hugo-theme-meme.git themes/meme |
创建第一个测试文件
1 | hugo new post/first.md |
本地预览
1 | hugo serve -e production |
在浏览器打开如下链接,http://localhost:1313/ 查看效果
推送到github仓库
github上创建仓库
登录 Github
点击Your repositories
→ 点击new
→ 填写仓库名,选择Public
,添加一个Readme
文件 → 点击Create respository
完成仓库创建。
将本地文件推送到远程仓库
在博客根目录,执行
hugo -D
生成下网站所需数据;可以看到
public
目录下,生成可很多文件,这个就是后续生成网站所需要的数据;来到
public
目录下,执行如下命令;
1 | cd public |
此时来到github
仓库下,数据已经被推送上来了
最后在github
上设置下gitpages
功能
Node.js安装
打开Node.js,选择合适的版本下载安装即可;
我安装的长期维护版,安装过程一路点击下一步即可;
PicGo 配置(Gitee)
安装插件
在左侧 插件设置 选项中,搜索 Gitee
即可出现对应的插件,点击安装即可;
我选择的是 gitee-uploader 1.1.2
;
配置gitee
点击左侧 图床设置 –> gitee
;
- repo: 仓库名称,填写你在创建图床时的仓库名字,这里注意带上你的用户名,比如我的是 cajunlei/ImageBed;
- branch: 填写分支名称,一般默认 master;
- token: 这个比较重要,就是上面创建仓库后创建的私人令牌明文,直接粘贴上去就行,如果忘记了那么直接删除重新再创建了;
- path: 填写仓库下面某个文件夹名字,也就是你存放图片的位置,比如我的是在images,这个名字要和你仓库中创建的对应;
- customPath: 保持默认可不用修改;
- customUrl: 保持默认可不用修改;
最后「确认」后直接就可以使用了,记得点击下「设置为默认图床」。
Blog 配置
为自己的博客添加运行时间
第一步 将以下代码中的日期和时间,修改为你博客或者网站的运行开始日期和时间;
1 | <!-- 修改此行日期及时间 --> |
第二步 将修改过后的代码,放到你网站喜欢的位置就好啦。
1 | <span id="runtime_span"></span> |
我的放在 /layouts/pratials/footer.html
文件中:
加入不蒜子统计
在根目录的 config.toml
文件中加入以下代码:
1 | [params] |
在 /layouts/pratials/footer.html
文件中加入以下代码:
1 | {{- if ne .Site.Params.footer.enable false -}} |
用于站长SEO
无需上传验证文件到根目录,直接修改配置文件;
网站验证代码修改,根目录 config.toml
文件;
1 | # Site verification code for Google/Bing/Yandex/Pinterest/Baidu |
jsDelivr 加速
操作步骤
第一步 新建Github
仓库;
第二步 将需要cdn
加速的静态资源上传到github
仓库;
第三步 点击release
发布版本,自定义发布版;
第四步 应用资源文件路径:
1 | https://cdn.jsdelivr.net/gh/user/repo@version/file |
以我的为例,访问仓库目录下的logo.jpg
文件,为以下链接:
https://cdn.jsdelivr.net/gh/AyagawaSeirin/BlogAssets@1.3/logo.jpg
版本号不是必需的,是为了区分新旧资源,如果不使用版本号,将会直接引用最新资源,
CDN 缓存
当网站更新时,如果CDN
节点上数据没有及时更新,即便在浏览器使用Ctrl+F5
的方式强制刷新浏览器的缓存,也会因为CDN
节点没有同步最新数据而导致访问不到最近资源。
我们可以通过CDN
服务商提供的刷新缓存接口来达到清理CDN
边缘节点缓存的目的,这样在更新数据后,可以使用「刷新缓存」功能来强制CDN
节点上的数据缓存过期,保证在访问时,拉取到最新的数据。
jsDelivr 缓存刷新
对于jsDelivr
,缓存刷新的方式也很简单,只需将想刷新的链接的开头的
1 | https://cdn.jsdelivr.net/... |
替换成
1 | https://purge.jsdelivr.net/... |
即可实时刷新。刷新成功后,浏览器会返回缓存刷新成功的信息,如下:
1 | { |
为图标添加动画效果
示例代码
1 | <div class="fa-3x"> |
显示效果
自定义模板
第一步 将\themes\LoveIt\layouts\posts\single.html
文件复制到\layouts\_default
文件夹下;
第二步 按需要修改single.html
模板文件;
第三步 最后在文章头部引用模板即可;
1
2
3
4---
title: "XX"
layout: "journal"
---
Twikoo 版本升级(Vercel)
- 进入
Vercel
仪表板 →twikoo
→Settings
→Git
; - 点击
Connected Git Repository
下方的仓库地址; - 打开
package.json
,点击编辑; - 将”
twikoo-vercel
“:”x.x.x
“其中的版本号修改为最新版本号。点击Commit changes
; - 部署会自动触发,可以回到
Vercel
仪表板,查看部署状态;
Vercel
更新部署成功后,请不要忘记同时更新前端的Twikoo CDN
地址中的x.x.x
数字版本号,使之与云函数版本号相同,然后部署网站。
一些问题
背景设置透明度后文章图片也被透明化的解决方法
因为增加了背景图片,故正文部分填充颜色设置了透明度,但是发现文章的「图片」也被透明了;
解决办法: 在设置透明度的时候改用rgba
形式就可以了,只需要在设置颜色的透明度的时候可以先找到16
进制颜色对应的rgb
值,如:255,255,255
然后通过rgba(255,255,255,0.9)
来实现透明度;