github+hexo搭建博客教程

Posted by Meng Cao on 2017-12-08

利用了一个空闲的下午,把自己的个人博客搭了起来。之前就知道hexo+github的方式,所以就选择了这个方法。借鉴了google到的几篇教程,加上自己的摸索,成功搭建。写这篇博文,一方面是给后来人以借鉴,另一方面也是总结一下,方便自己下次再用。

首先给出我的主要参考的几份资料的链接:

🔗建站.
🔗更改主题以及写博客

需要指出的是,我的开发环境为MacOS High Sierra, 版本 10.13.1
Win用户的操作可能有部分不一致。

步骤如下:

Github


  • 注册Github并配置SSH(步骤不详述)

  • 建立仓库(repository),名称必须为:<yourusername>.github,io

安装nodejs和hexo


  • 安装homebrew.(已经安装过则跳过)

    homebrew是mac平台下的包管理工具,使用非常方便。按照官网教程一步即可安装成功。

  • 安装nodejs
    $ brew install node

  • 安装hexo
    $ npm install -g hexo-cli

注:建议参考hexo官网安装教程。

本地建站


  • 在terminal中将当前目录切换到想要建站的本地位置,例如:cd/Desktop
  • 顺序执行以下每一条命令
1
2
3
4
5
hexo init blog
cd blog
npm install
hexo generate
hexo server
  • 本地站点建立完成

    在浏览器地址栏输入 http://localhost:4000/

部署到github上


编辑器(Vim、Sublime Text均可)打开本地文件夹中的_config.yml文件,下滑到最后,修改为:

1
2
3
4
5
6
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repository: https://github.com/rookiecm/rookiecm.github.io.git
branch: master

保存后退出,在terminal中逐条执行以下命令.

$ hexo clean

$ hexo generate

$ hexo deploy

在我的电脑中执行前两条命令均正确,但是执行第三条命令报错如下:
ERROR Deployer not found: git
后找到解决方案$ npm install --save hexo-deployer-git即可。

更换主题


网上的教程大多是更换next主题,此处我选择了另外一个主题beantech.

下载与配置按照作者给出的方法即可。值得一提的是,网站中about的介绍是在source文件夹下进行的,笔者一度找了很久。

写博客


文字编辑


首先转化当前路径为source/_posts

然后执行逐条以下命令

1
2
3
4
$ hexo new post "<post name>" # you can change post to $ another layout if you want
$ hexo clean && hexo generate # generate the static file
$ hexo server # run hexo in local environment
$ hexo deploy # hexo will push the static files $ automatically into the specific branch(gh-pages) of your repo!

图像


由于github空间有限,所以我们使用图床来上传图片。所谓图床,就可以理解为一个云存储空间,通过一个地址访问。关于各种图床的讨论可以看这里.这里我使用的是贴图库,可以直接生成markdown语法下的链接格式。

总结


第一次成功搭建博客还是很开心,希望以后能持续更新。

20190619Update

错误:hexo d出现错误failed to connect to github.com port 443: Timed out

解法:参考
将在_config.yml文件中的deploy部分改成(原先repo部分是https://)

1
2
3
4
deploy:
type: git
repo: git@github.com:yourname/yourname.github.io.git
branch: master

此时出现第二个问题:

Error: git@github.com: Permission denied (publickey). fatal: Could not read from remote repository.

这个问题比较好解决,参考