Hexo博客安装与配置

wordpress 之后

wordpress 使用很方便,但是折腾几次之后。由于一次意外,导致管理者把我的vps被停掉。虽然有些文章还是保留了。但是这次之后感觉自己还是找一个稳妥的家。连接hexo搭建的博客之后,打算自己来折腾一下。

记录笔记环境

在windows上写笔记,环境目前是windows下操作。linux,mac系统中需要注意一些细节吧。存在提不到情况,先做好出现问题考虑自行排查。

准备

看下hexo的安装提示。 安装提示

hexo 需要Node.js 和 Git 。

下面使用Hexo来创建blog:

写文章

写文章需要先创建文档,这个文档默认生成在_post 文件夹下。

推送到Git仓库,在线访问。

首先需要一个 GitHub ,注册账号。 创建一个与账户名一样的库, 用户名.github.io , 之后在项目文件夹中,编辑 _config.yml 配置文件。

deploy:
    type: git
    repo: https://github.com/用户名/用户名.github.io.git  (我相信你能知道这个地址在哪里)
    branch: master

之前写过testdoc.md 这个文件。提交到git库上,命令: hexo d , 提交是,会弹出账号密码让你输入。接着得到提示: Deploy done: git。 这里我们就提交到库上了。 (账号密码提交比较麻烦,可以通过配置公钥来解决) 这里如果出现错误 Deployer not found:git ,需要安装一下。 命令 npm install hexo-deployer-git --save 这时候我们可以通过 用户名.github.io.git 这个地址访问到博客了。(不喜欢这个地址,可以通过域名来绑定)

主题更换

默认的主题让我们觉得太不个性化了。还没有能力自己操刀编辑,怎么办?

建议先看下文档.了解一下,培养看文档习惯.

可以使用别人的主题,官网提供 提供一些,也可以通过网上其他人的推荐来使用自己喜欢的主题。 例如在官网地址上看到有一个名字是 Next(很多人有这个,或基于此主题修改). 点击可以语言并且访问. 地址 , 我们需要克隆到自己项目下 themes 文件下. 你可以下载zip到自己项目下解压,不过有些麻烦也不够B格.我们使用git操作.

打开gitbash, 进入到自己项目下/themes 命令 git clone https://github.com/theme-next/hexo-theme-next.git . 执行完后,themes 下会有这个文件. 使用next 主题, 需要在 _config.yml 上面设置主题. theme: next 配置主题为next 之后通过命令 hexo g, hexo s. 两个命令后, 登陆localshot:4000 查看一下. 嗯,已经替换成功了.

目前只是替换了主题,主题也是需要配置的,我们需要在 _config.yml 配置菜单等一些参数. 主题相关修改参数配置是需要在 项目/themes/languages/{language}.yml 具体配置希望你看下每个主题的README,或者文档来学习着自己修改.

还要涉及到页面的问题,我们之前 hexo new xx文章 ,都是默认_post文件夹下, 如果我们要定义归档,友链,等页面.也是通过new 命令来实现的. 例如: 建立 tags页面 hexo new page tags 之后你会看到 项目下/source/ 会出现tags 文件夹,进入里面会有一个index.md .这个文件就是你需要的tags 页面.

域名

我们觉得github 这个url不太喜欢,并且也很长.可以配置自己的域名. 首先我们需要一个自己的域名,通过万网什么的来购买一个.我是通过阿里云上万网购买的一个域名. 这里不详细来说明域名的购买.

  1. 万网控制台里面,有域名的功能(例如阿里云,登陆后,控制台->域名->点击域名->域名解析). domain

  2. 在github,xxx.github.io 点击 settings settings set pages Custom domain 这里填写你的域名,save。

此处注意:你配置完后,会看到库中存在一个文件,CNANE文件。如果你再次提交新文档,会发现你的配置域名无法访问了! 原因:你本地文件没有这个CNAME,通过hexo d 方式 更新库文件后,CNAME没了。 **通过配置域名后,把这个文件下载到本地项目中,位置请注意:项目/source 下。不然hexo d 不会提交到库中。 ** 如果不搞定这个,那你每次hexo d 之后,都要改一次custom domain。(我想谁也不会每次都这么操作) 到这里基本上你这台电脑上,发布你的博客。更新,推送到github都没有问题。还有一个问题就是那么如果我换一台电脑怎么办?

通过分支来完善博客

工作中使用版本控制器,很方便管理项目代码和文件。那么我们这个hexo 博客也需要这种方式来吧本地的hexo 博客项目推送到线上。如果过本地电脑出故障,或者更换电脑等情况下。我们依然可以通过clone到本地,进行发布博客。

  1. 克隆博客 gitbash clone一份自己的博客(省略命令), 删除克隆后出.git 这个文件外其他文件。 把之前本地初始化项目中的文件都复制到此项目中。
  2. 新建分支 git branch hexo, git checkout hexo. 两条命令,新建分支,切换至hexo 分支.
  3. 在新分支中,提交我们刚才复制过来的文件。 git add --all
  4. 提交文件并push到远程。 git commit -m "mybolg files" , git push origin hexo 推送带云端。

这下完成了,不用担心换电脑。换电脑后,clone一下,继续可以发布。ps:git你需要自己装。 之后我们一直再这个 hexo 分支就好啦。每次hexo d 之后记得把新文件提交到hexo分支。 add commit push 三步骤不能忘。

配置公钥

之前没提到这个,是因为我怕忘记密码,每次都手输入密码。也不是每个人都喜欢我这么操作。那可以选择配置公钥来解决提交时的认证。

  1. gitbash ssh-keygen 生成密钥,注意看信息密钥提示位置。
  2. 打开生成目录下的 id_res.pub 这个是公钥。打开复制里面的数据,复制。
  3. 需要粘贴到github settings->SSH and GPG keys 里面。 add keys ssh keys

测试一下配置 gitbash ssh -T git@github.com 得到信息 You’ve successfully authenticated, but GitHub does not provide shell access. 配置正常。

改完这里还不可以,需要配置项目hexo配置文件了,还记得是哪个文件嘛?( _config.yml) 之前我们用的是https,现在我们需要用ssh地址提交了。 use ssh 4.修改 _config.yml 这段配置的 repo地址,看下之前参数和现在参数。

deploy:
    type: git
    #repo: https://github.com/chenweil/chenweil.github.io.git   # https 
    repo: git@github.com:chenweil/chenweil.github.io.git       # ssh 
    branch: master

到这里我们已经配置好,我们下次写完文章是 hexo d 不会让你输入密码了。 真的不用输入密码了吗? 你可能会遇到问题,怎么还需要认证?(因为我这环境出现了问题) 看下错误 : git push origin hexo fatal: HttpRequestException encountered. 如果你现者句话,那么需要你更新一下Windows的git凭证管理器.管理器地址


到此基本的配置已经完成,文中只是简单的描述了基础工作。再哪方面出现问题需要通过文档和网络来查询问题。第一次接触此框架,还是好好看文档。你通过网络查询的很多结果存在一些问题。例如版本不同,环境不同等。最好的方法还是自己来分析,处理。养成好习惯,戒心浮气躁,坚持自己来解决问题。