软件折腾笔记之hexo

hexo是一个基于nodejs、轻量、原生支持markdown写作的的博客系统。在看了一位同事的博客之后,我坚定地转向了hexo。但在安装配置和使用的过程中摸索了较长时间,也遇到了较多的坑点。 如果是初次接触hexo,推荐去阅读一下hexo的官方文档,会让我们对hexo的使用有一个基本的了解。 在搭建自己的hexo博客的过程中,我较多的参考了这位同事对hexo介绍的一篇文章及他托管在Github上的hexo博客

前提

  • debian系列Linux系统(我用的是Deepin)
  • 使用Github Pages搭建博客
  • Git已配置好ssh key并已部署公钥到Github

所需要的相关软件安装命令如下:

1
2
3
sudo apt install git npm nodejs-legacy #安装git
sudo npm install npm@lts -g
sudo npm install -g hexo-cli #安装hexo命令行接口,可通过命令使用hexo

其他情况请自行作出修改。

hexo搭建

操作步骤

通常情况下的做法是在Github上建立一个Github Pages仓库yourname.github.io用来存放生成静态网页供访问,另外再新建一个仓库存放hexo及markdown源码,此类情况下的hexo博客搭建教程网上已经有很多,在此不再赘述。但由于这样做导致需要两个管理两个仓库,相对比较麻烦。因此我参考了同事的做法,使用不同的分支进行管理。具体方法如下:

  1. 创建Github Pages仓库;
  2. git clone至本地;
  3. 创建.gitignore文件,文件内容如下:
1
2
*
!.gitignore

即忽略除了.gitignore以外的所有文件,然后添加后提交;

  1. 创建新分支source,切换至source
  2. 在外部新建一个临时文件夹hexo_init并在此目录初始化hexo
  3. hexo_init目录中所有文件复制至仓库文件夹并删除临时文件夹hexo_init
  4. 修改hexo配置文件_config.yml,将deploy条目做如下修改,注意添加上你的Github Pages仓库地址:
1
2
3
4
5
6
7
# Deploymen
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo: #your github pages repo
branch: master
message:
  1. 推送source分支至Github
  2. 在Github上将source分支设为默认分支

部分命令

1
2
3
4
5
6
7
8
9
10
git clone #your github pages repo    #克隆Github Pages仓库
echo "*\n\!.gitignore" > .gitignore #创建本地仓库master分支下.gitignore
git add . && git commit -m "忽略本地master分支所有文件"
git checkout -b source #创建并切换至新分支sourece
cd .. && mkdir hexo_init #创建初始化hexo的临时目录
cd hexo_init && hexo init #初始化hexo
cd .. && mv hexo_init/* hexo_init/.gitignore #your repo dir #复制文件至你的仓库目录下
rmdir hexo_init #删除临时文件夹
git add . && git commit -m "初始化hexo" #添加并提交source分支更改
git push --set-upstream origin source #推送新创建的分支source至Github

相关问题

  • 为什么要忽略本地master分支所有文件?

因为在本地仓库,我们是用不到master分支中的任何文件的。master分支后续是由hexo-deploy-git插件控制,我们并不直接使用,因此我们忽略本地仓库master分支内所有文件,以免后续误操作。

  • 为什么不在仓库目录直接初始化hexo?

因为这样会删除掉你的.git文件导致仓库被破坏!hexo init内部实现会先清空当前目录git相关信息

  • 为什么要将source分支设为默认?

博客搭建完成后一般都是在source分支下写作,极少会切换至master分支

主题管理

主题位于hexo目录theme目录下,由于往往需要对主题进行自定义,主题也需要进行同步。默认情况下,主题是一个单独的仓库,因此需要将主题文件夹中的.git信息删除。

hexo恢复

当更换电脑或本地文件丢失时,我们需要在新电脑上恢复hexo,具体步骤如下:

  1. 安装gitnpm,hexo-cli
1
sudo npm install hexo-cli -g
  1. 克隆博客仓库至本地
  2. 安装npm模块
1
npm install

SEO

参考让Google搜索到搭建在Github Pages上的博客