你好-世界

前言

一直以来都想搭建一个博客,但是又觉的维护起来很麻烦.比如需要要服务器,需要个人域名,域名证书,网站备案等等.或者就是放在第三方博客平台上,但是发表的文章导出很麻烦,格式不够自由还要经过各种各样的审查和屏蔽.
另外就是一个个人博客通常来说大部分人的都没有什么访问,缺少引流方式和个人独特性的时候,这博客基本上就自己访问简直就是自闭.
自己大部分时候又是一个潜水党.种种评估下来,搭建个人博客的事情就一直搁置中.
不过,时间是一个很好的东西,几年下来发现个人域名,服务器什么也都有了,在做一些个人小爱好的时候发现网上的资料也不是完全足够,免不了还是要自己踩一些小坑.这里的坑部分是因为自己的水平跟不上文章的作者,部分是因为某些工具或者框架迭代导致的过时.
然后突然发现,那我也是可以写一些东西让其他人,或者同水平的朋友少踩坑的,建立博客的意义就有了.

最近在浏览其他网友的博文的时候发现有不少网友使用了hexo的框架,大致检索了下发现十分轻便,博文可以直接markdown语法,非常简单.初期可以直接搭建在github page上,启动成本很低.如果真的不错也,出于网络问题可以再迁移到国内的个人服务器上,又因为是markdown语法,跨框架迁移起来也很方便,再加上最近确实很闲,这让我动了实际搭建一个博客的行动理由.从这里大抵可以看出我是一个想的挺多不怎么愿意动手的人,因为重复折腾真的会让人回忆起来觉的很浪费生命,那这样还不如花费在一些直接收获快乐的垃圾事情上,没错,我说的就是打游戏.

搭建

搭建很简单,需要一点点前端的知识,不了解的话就大致百度下应该就ok.然后照着命令敲就行了,我参考了
https://tding.top/archives/7f189df5.html
https://www.cnblogs.com/liuxianan/p/build-blog-website-by-hexo-github.html
这两位的内容,可以实现一个博客的搭建.hexo new "title-name" 可以创建一个新的博客文章,然后写就完事了.
注意hexo s会启动一个服务器方面本地预览,修改内容后直接F5刷新即可,不需要提前运行hexo g编译静态页面,因为会自动编译.
自动部署和手动部署都要求先提前设置好_config.yml内的deploy相关配置.比如我要把编译的静态页面内容放到同仓库的gh-pages分支,就按照配置成下面的样子即可.

1
2
3
4
5
6
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: 'git'
repository: https://github.com/touxiaoling/touxiaoling.github.io.git # 用https或者ssh均可
branch: gh-pages

折腾

再往后的折腾就是自动编译,域名自定义,theme切换,更换到个人服务器上(不过毕竟本人也不是运维.对于个人服务器的安全和稳定性其实一直都没谱),家里的nas跑了一些服务基本上一个月停电断网什么的都会有一次,感觉也不是多稳定.所以如果没有更简单的方式,也没有特别的需求可能还是会一直在github page上.

显示rss订阅

参考: https://juejin.cn/post/7012255009593098254
_config.yml里添加下面的内容即可:

1
2
3
4
5
6
7
8
9
10
11
12
plugins: hexo-generate-feed

# rss配置
feed:
type: atom
path: atom.xml
limit: 20
hub:
content:
content_limit: 140
content_limit_delim: ' '
order_by: -date

更换主题

主题更换到next,链接是: https://github.com/theme-next/hexo-theme-next
推荐使用npm安装,这样后面切换github action 的时候要简单很多.

1
$ npm install hexo-theme-next

next支持四种样式,我个人比较喜欢Pisces,官方对这个样式的形容是fresh like your neighbor's daughter,很有趣.

关于主题的 _config.next.yml 文件

hexo5以后支持在根目录下创建一个_config.next.yml文件,在这个文件里面直接配置主题的参数而不是在主题包下面的_config.yml下,方便更新,和主题包的更新分离.

自动编译

可以采用github actions自动编译,这样就只用push源码到remote仓库就好了.
官方教程: https://hexo.io/docs/github-pages
这里有一点坑,就是注意里面_config.yml里的 deploy 属性里的 repository 链接要是https的,不然不能使用GITHUB_TOKEN .
另外 仓库设置里要给GITHUB_TOKEN 读写仓库的权限,默认是只有读仓库的权限,这样触发action的时候会提示bot push失败.

自定义域名

自定义域名我参考了: https://zhuanlan.zhihu.com/p/35708814
直接在source文件夹下创建一个CNAME文件即可,文件内容就是你自己的的域名.
然后去域名配置的网站新建一个CNAME解析,比如我是将blog子域名解析到touxiaoling.github.io.
等待几分钟就可以了.

tag 显示

参考了: https://linlif.github.io/2017/05/27/Hexo使用攻略-添加分类及标签/
没什么太需要注意的,跟着敲就好了.

站点地图

参考了: https://eericzeng.github.io/2019/07/14/hexo博客站点sitemap的使用/

添加评论

查询了一些发现还是比较麻烦不怎么优雅,要插入一些第三方的服务才能实现,那这样还是等网站打算折腾个后端以后再去做吧.

图床

博文难免会有插入图片的需求最简单的方式就是将图片直接存到代码仓库,但是github的仓库是有体积限制的,小的时候还好,等图片多了就会非常尴尬了.而且每次pull代码的时候都会把图片pull下来,体积会非常的大.
那图床自然是一个难免的存在.这里我们使用github的另一个仓库作为图床,然后通过cnd加速访问.
这里参考了这位大佬的博文,各位也可以去看下.

后记

持续更新中.

修改历史

时间 修改内容
2022-10-07 自动添加创建时间
2022-10-07 修改正确的创建时间
2022-06-02 add abbrlink
2022-06-02 publish
2022-05-13 update package
2022-05-12 优化插件
2022-05-12 美化样式
2022-05-12 增加站点地图
2022-05-12 change scheme to pisces
2022-05-12 补充说明
2022-05-12 fix tag
2022-05-12 fix
2022-05-12 fix
2022-05-12 fix
2022-05-12 fix
2022-05-12 fix
2022-05-12 set git action
2022-05-12 init