Github Page + Hexo 搭建个人博客问题小记

在使用Github Page + Hexo搭建个人博客的时候遇到了一些问题,现记录如下,主题使用的是cactus

问题1 hexo-deployer-git 提示输入用户名/密码

deploy中配置了token后,使用hexo g -d部署到Github,提示输入用户名密码,但是现在Github已经不支持命令行使用用户名密码登录了,所以需要改为SSH的方式,将deploytoken去掉,repo配置为[email protected]/用户名/仓库名在Github仓库下,选择Settings > Deploy keys >添加一个Deploy key,将系统的~/.ssh/xxxx.pub文件的内容布置上去,然后在GitHub界面勾选Allow write access即可。

问题2 部署hexo后用自定义域名访问显示404,使用用户名.github.io访问正常

方法1 这是因为部署hexo后,原来的CNAME文件被清除了,需要重新设置一下自定义域名。然后在hexo的public文件夹下,新建一个CNAME文件,内容为自定义的域名。如果不写这个文件的话,后面使用hexo g -d,有得重新设置一下自定义域名了。

1
2
cat public/CNAME
www.51yunwei.top

方法2 一劳永逸的方法,在_config.yml中设置url和插件

1
2
3
4
5
# URL
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
url: https://www.51yunwei.top
Plugins:
- hexo-generator-cname

安装插件

1
npm install hexo-generator-cname

问题3 修改cactus主题样式不生效

按照官方文档修改了_config.yml文件中的colorscheme参数不生效,需要重新执行以下命令,执行完之后自定义域名又不能访问了,按照问题1进行处理。

只要修改了配置文件,都要执行以下命令生成新的新的静态文件

1
hexo clean && hexo deploy

问题4 如何为每篇文章添加文字/图片?

可以在主题下的layout/post.ejs中添加,把需要添加的内容放在<%- page.content %>后面,如:

1
2
<%- page.content %>
<p style="text-align: center;"> 感谢浏览,如对您有帮助或需联系我,欢迎关注我的微信公众号~</p>