博客搭建
一、参考
搭建博客
hexo 使用
在 GitHub 上写博客
添加持久链接功能
添加评论功能
添加网站统计功能
添加看板动画
添加复选框样式
数学公式
markdown 格式化
二、博客搭建
流程
- 创建 GitHub Pages 仓库
- 安装 hexo 博客框架
- 初始化 hexo 项目
- 提交 hexo
- 配置 hexo
创建 GitHub Pages 仓库
在 GitHub 上创建username.github.io 的一个项目,username 为 github 上的用户名,该仓库将成为 hexo 打包后的发布地址。
安装 hexo
1 | # 更新node版本,需要在root下运行 |
初始化 hexo 项目
1 | hexo init |
创建测试页面。
1 | hexo new test |
本地测试。
1 | hexo clean |
打包提交
1 | hexo clean |
hexo升级
https://theme-next.js.org/docs/getting-started/upgrade.html
配置 hexo
主要是对项目下名为_config.yml
的配置文件的修改。
博客中的图片显示
刚开始希望把图片直接放到 hexo 项目里,但hexo g
时总是出现莫名其妙的错误,图片也没有被拷贝到 public 目录下面,部署后当然看不到。
后来希望使用图床来解决问题,需要有一个图床的客户端,比如极简图床,还需要一个存储后端,常用的如微博图床或七牛,申请七牛还需要验证身份这个过程有些麻烦,微博图床据说也不稳定,有一种图床是专业的图床既提供了前端又自带了后台存储,如sm.ms,但是怎么可能永远免费,想来想去还不如自己搭建一个简单的图片服务器。
- 先租一台服务器
- 将图片拷贝到服务器上
1
scp -r local_path user@address:/server_path
- 部署 web 服务器
如果像我一样懒,可以直接跑一个容器当 web 服务器,nginx 作为静态 web 服务器有很高的性能,以后也可以根据需要做一些其他配置,在服务器上执行下面命令运行一个 nginx 服务器:1
docker run -p 80:80 -v /path/to/resources:/usr/share/nginx/html -v /path/to/logs:/var/log/nginx nginx
- 备份
以防万一,最后在 github 留了一份备份,这样一份图片就有三份备份了。 - 注意
如果图片访问403了,很有可能是权限不够,因为默认ng配置里是通过nginx用户来读取本地路径下的图片的,默认ng配置可以通过
docker exec <container ID> -it /bin/sh
连到容器里查看/etc/nginx/nginx.conf
,第一行可以看到配置user nginx;
。
上边的工作不需要太多时间,以后需要同步的话也比较方便。
HTTPS
https://tallate.github.io/73d751b6.html
三、博客内容构建
- categories 和 tags
hexo 里一篇博客有 categories 和 tags 这两个属性用于对博客进行归档,有时候这两个东西的作用容易搞混,按我的理解, categories 更像是书前面目录的章节, tags 像是书后面对关键词的索引,比如目录中有一章专门讲 Java 技术栈的内容, category 就是 《 Java 》,同理可能还有《 Linux 》,这两章都讲了叫作 Semphore 的东西,所以他们都包含一个叫 Semphore 的 tag ,当然如何划分总归还是要靠个人意愿。 - 文章频率
博客并不是新闻那样的实时内容平台,而是重在积累,两篇相邻的文章之间横跨好几个星期甚至几个月也很正常,如果非常频繁的发博客反而应该怀疑内容的可靠性。