搭建
搭建很简单,但你要有一种从头再来的勇气,比如我最开始安装在C盘并且部署成功,然后电脑历经一次加固态硬盘两次重装系统,于是CDEFGH盘都装了一遍hexo,目前在H盘,只不过是从头再来嘛…
关于搭建
搭建的教程、文档实在太多太多,这里给出一些参考文档:
Github+Hexo搭建个人网站详细教程 by 微信公众号
参照文档搭建即可,基本不会报错。在这之前,你应该先分清hexo根目录下的配置文件
_config
和theme主题目录下的_config
,你的自定义修改不生效的原因十有八九皆出于此。下面简述搭建遇到的坑。
关于部署
1 如何写部署配置
根目录下的_config.yml
1 | deploy: |
2 添加SSH keys
每次重新搭建就这个最坑,其实也挺简单。
打开Git Bash,依次输入以下指令:
1 | git config --global user.name "Your Username" (输入你的Github用户名) |
出现以下提示输入密码
Enter passphrase (empty for no passphrase):【输入加密串】【加密串我们看不见,所以你输密码的时候不要以为没输入进去,你直接输入就好,输完密码按回车键确定就行】
Enter same passphrase again: Passphrases do not match. Try again.【再次输入加密串】如果密码输入不一致,会提示再次输入:】
如图所示
错误演示,指令依次输入,并保证GitHub用户名和邮箱正确。
添加SSH keys到GitHub
打开GitHub,点击右上角的头像-Settings-SSH and GPG keys -New SSH key
打开电脑路径C/Users/Administrator/.ssh
,找到id_rsa.pub
文件(默认可能用Microsoft Publisher打不开),右击用记事本打开该文件,全选复制添加到New SSH keys中,如图:
可以输入以下指令检查
1 | ssh -T git@github.com |
出现以下提示表明你的SSH keys生成成功
Enter passphrase for key ‘/c/Users/Administrator/.ssh/id_rsa’:
Hi xxx! You’ve successfully authenticated, but GitHub does not provide shell access.
3 部署失误
首次部署hexo deploy的时候会弹出一个登录窗口,就像下面这样。万一不小心输错了怎么办呢,它还真就不会再弹出来
在部署coding时与腾讯云密码混淆,输错导致报错如下,记不清楚了,大概是这样的:
1 | remote: HTTP Basic: Assess denied... |
别担心,这是因为Windows的凭据管理器
里面保存了你输错的账户信息,解决方法:
打开控制面板/用户账户/凭据管理器
,编辑或删除凭据即可,如图:
常见的报错
Usage: hexo <command>
-
路径错误,当前所在路径无hexo,因此指令无效,检查路径即可解决
-
指令输入有误,检查指令或符号是否正确。参考Hexo Commands
-
指令缩写冲突,例如
hexo c
有多种含义:hexo clean
和hexo config
,当你安装了豆瓣的插件之后,最常用的hexo d
也会产生冲突。因此指令尽量不用缩写,常用指令全称如下:
1 | 缩写指令: |
fatal: Could not read from remote repository
Please make sure you have the correct access rights and the repository exists.
无法读取到远程仓库,请确保您具有正确的访问权限,并且存储库存在。
- 检查根目录的
_config.yml
git地址配置是否正确 - 重新生成并添加SSH keys,参考上面添加SSH keys
写文章模板呈现报错
检查文章格式及MarkDown语法是否正确
GitBash无法使用
警告提示
warning: LF will be replaced by CRLF in…
warning: LF will be replaced by CRLF in
The file will have its original line endings in your working directory
警告:在…中,LF将被CRLF替换。
该文件将在您的工作目录中具有其原始行尾
依次输入以下代码即可解决 .
代表当前目录
1 | git rm -r --cached ./ |
关于主题
推荐一些主题:
HEXO之禅
《HEXO之禅》发一下:折腾主题是使用HEXO的最大原罪。专注于创作,而不是令人眼花缭乱的效果。名家之博,不假于主题之花哨,而得知于内容。
- 折腾主题是使用HEXO的最大原罪。专注于创作,而不是令人眼花缭乱的效果。名家之博,不假于主题之花哨,而得知于内容。
- 有问题记得首先查看官方文档,善用搜索引擎。没有人有义务的无条件帮你。
- 善于分享,赠人玫瑰手有余香。写作是检索你对知识理解程度的手段,而分享是激励你继续创作的动力。
- 不忘初心,方得始终。
所以不要再去折腾主题,专注创作吧。
主题折腾历程
最初选择star最多的NexT,文档多,折腾起来比较简单。看了上百篇文档,最终放弃了NexT。原地址:https://xiabor.github.io
之前的辛酸史就不总结了,总结一下现主题的折腾史。
主题文档:https://jerryc.me/posts/21cfbf15/
修改theme未生效
因为沒有 pug 以及 stylus 的渲染器,下载安裝:
1 | npm install hexo-renderer-pug hexo-renderer-stylus --save |
导航栏无法设置中文
直接修改主题目录下的_config
里的menu,和其他主题不太一样,作者说的:
1 | menu: |
修改主题颜色
主要颜色在主题目录下的_config
修改,我帮你解释一下含义
1 | theme_color: |
除了这里还可以在\blog\themes\Butterfly\source\css\var.style
下修改或添加一个自定义颜色,在相应的css文件中引用,例如
1 | $white = #FFFFFF |
友情链接配置报错
任何报错一定要先检查路径,90%的报错可以说都是路径问题。
主题文档中表明报错原因主要是link.yml
中的空格引起,因此我一直检查空格,折腾了数天还是报错。这里推荐使用YML在线校验工具检查空格。
例如我的配置:
1 | class: |
配置检查空格没有任何错误之后,发给了几位大佬测试也没出现报错,其中一位大佬让我检查路径,我打字发了一个正确的路径。直到有一天,找到了主题的Tg频道,作者问我路径对不对才恍然大悟。别问我错在哪儿,英语不好,丢人~~
正确路径为:blog/source/_data/link.yml
网站提示不安全
原因可能是你的图片外链采用了HTTP,所以导致整个页面不安全。所以选用一个HTTPS图床就完美解决了。例如我的七牛云图床(待更新)
新建文章自动打开编辑器
新建文章一般是博客根目录下打开GitBash,使用hexo new postname
新建文章,如何在新建后自动打开编辑器呢?
在博客根目录下新建文件夹scripts
,在该文件夹中创建JavaScripts
文本文档,然后修改它的后缀名为.js
。也就是改为JavaScripts.js
。编辑器打开并写入以下代码:
1 | var spawn = require('child_process').exec; |