折腾hexo记事

折腾hexo记事

小白的代码洁癖

官方教程是直接把hexo装在了全局上面。虽然我小白,但是那个大大的-g还是看得懂的。

这个时候我的代码洁癖犯了,不想用全局的东西去做实验。但是又不会卸载(好笨,我去哭会),就想在工作文件夹再安装一次。结果是:简直DBL(碉堡了)有木有。

只见我的CMD一直在下载对象,谁知道是啥东西,下载了5分钟之后还没完,我觉得这有点不对劲,肯定是哪地方处错误了。又不会排查,就重装呗。再装还是那样。

半天之后我放弃了,去网上搜教程。看到别人输入hexo init之后就输出了没几句话,我觉得肯定是我的不对。后来想了半天,也没有什么地方不对劲啊。于是,我的代码洁癖开始妥协了。

然后,然后就正常了啊有木有!!!

我暗暗骂了自己两句,接着干。

ssh

原来我自学过一段时间的git,都是按照每次push的时候输入邮箱密码进行身份认证的。我觉着这没啥,总不能谁都能往我的仓库里面推东西吧,虽然我经常清空仓库,推倒重来。

这次直接上来让我ssh,也不说为啥。我百科了一下,没看懂(哭)。然后想,大家都这样弄,不知道为啥也听说过ssh是不,最起码学习了。

然后直接搞定了。

这个时候,看客们该说了:难道你写了半天都是屁话么?

不是,别急,下面就是不开心的,大家慢慢乐。

一路顺风的事情发生在公司,我想在家里也试试,因为文件目录的原因(这个坑待会说)。

keygen的位置

家里的电脑也生成key的时候,出现了一个提示,我觉得有点不对劲。但是以我的聪明才智,依然搞定了。

1
TODO

问题的原因:是Windows专有的。因为找不到home文件夹。
解决方法:在Windows的环境变量里面添加home文件夹。具体地址就是你的用户名的文件夹地址。就是下面这个样子的。

添加完之后,就不会出现在第一步让你选择文件夹的时候出现//.ssh了,直接回车就行。而且你的文件夹也自动变成了c://user/yourname/.ssh了。

Error: Permission denied

发现这个问题也是挺郁闷的,而且花费了我两天时间还是没有搞定。

在去github问题解决页面去查看解决方法的时候,发现他们真的是不遗余力的推荐他们的客户端,而后再去告诉用户怎么解决。

当然,这个页面没有解决我的问题。

然后我去看了stackoverflow页面,第一条命令cd ~/.ssh &&就不能执行,我深深的怀疑这不是cmd的命令,但是也只能怀疑而已,上面也没说什么平台…

11.18更新

ssh keygen的问题解决了。

解决办法:

1
2
用github客户端登录一次账号就行了。
这个动作会自动往账户里面添加keygen

之前看教程第一次生成keygen的时候,别人的教程都是这个文件夹是空的,然后接着往下做,但是没说不是空的时候咋办。我就直接按照上面写的方法又生成了一套。教程上都是说叫id_rsa的文件,但是在我重新生成keygen的过程中哟个是否覆盖github_rsa的提示。我想啊,大家的都一样,都叫id,而且我看《pro git》这个教程上也是id,就给覆盖掉了。

之后怎么做都不行。

然后根据github的官方排错页面的提示,我做了测试$ ssh -vT git@github.com,他们还给出了应该出现的代码:

1
2
3
4
5
6
7
8
9
10
11
12
...
# debug1: identity file /Users/you/.ssh/id_rsa type -1
# debug1: identity file /Users/you/.ssh/id_rsa-cert type -1
# debug1: identity file /Users/you/.ssh/id_dsa type -1
# debug1: identity file /Users/you/.ssh/id_dsa-cert type -1
# ...
# debug1: Authentications that can continue: publickey
# debug1: Next authentication method: publickey
# debug1: Trying private key: /Users/you/.ssh/id_rsa
# debug1: Trying private key: /Users/you/.ssh/id_dsa
# debug1: No more authentication methods to try.
# Permission denied (publickey).

紧接着下面是说明。为了看着明显点,我也用插入代码的形式显示了:

1
2
3
4
In that example, we did not have any keys for SSH to use.
The "-1" at the end of the "identity file" lines means SSH couldn't find a file to use.
Later on, the "Trying private key" lines also indicate that no file was found.
If a file existed, those lines would be "1" and "Offering public key", respectively:

这里说明了,如果对应的文件存在,文件后面应该显示1,而不是-1。我看看我的,全是-1啊,泪。下面是正常的也就是为1的时候应该出现的状况。

具体的问题就是对应的文件不存在。也就是说现在的keygen不是github想要的。

1
2
3
4
5
6
...
# debug1: identity file /Users/you/.ssh/id_rsa type 1
# ...
# debug1: Authentications that can continue: publickey
# debug1: Next authentication method: publickey
# debug1: Offering RSA public key: /Users/you/.ssh/id_rsa

然后就没法了。

直接就想,算了,还是用http去求。

但是好不甘心啊,后来我又想起来,我在我的github上添加本机生成的keygen的时候,看到了好几个keygen,上面的名字还又github Windows的字样。

我就想,是不是客户端也能生成keygen,于是,就把自己的账号退出重新登录了一下,为了保险起见,还顺便用点击鼠标的方式clone了一个repository。之后我就刷新自己的profile页面,真的添加了一个keygen上去…我又用-vT的方式测了一下,全部都是1了,简直万岁啊。

就这么好了,然后我把自己生成的keygen给删除了,再ls ~/.ssh 目录,也只有两个github的文件了,没有之前生成的id文件了。

hexo主题

我用的是这个主题github主页,是腾讯的一小哥做的,988个星(好吉利)了,好羡慕,这里崇拜一下先。但是现在好像有点潜水了,动静很小了。

安装位置

装好之后发现不支持非根文件夹的hexo,这个就是上面ssh时候说的那个坑。hexo是支持非根文件夹的,只要在配置文件里配置一下即可。

但是主题不支持。为了先把网站打起来,其他的以后再倒腾,我就…我就重装了。

这次直接全部在根文件夹生成全部文件,然后主题正常了。但是在github的issue里面有人也提到了这个问题。但是好像没有得到“官方”的支持。

图像

  • 在说明文档里面说明了头像是链接。没有考虑到头像直接放到网站文件里的情况
  • 添加自己的自定义文件夹的时候,彻底晕菜了,我设置了一个个文件夹试的(话说一个程序员干这种事,好丢脸),最后也不知道对不对…
  • 识别的favicon居然是png的格式…我爬了一会这个坑。但是设置了之后又不显示是怎么回事?

以上问题都还没解决,先把这个总结贴上去吧。

就这。