经过各种找资料,踩过何种坑,终于搭建好了 hexo,域名目前用得时 github 的,我的 hexo3.2.2 版本,hexo 不同的版本,很多配置都不一样。好吧,废话不多说了,开始吧。

之前是想着写博客,一方面是给自己做笔记,可以提升自己的写作、总结能力,一个技术点我们会使用,并不难,但是要做到让让别人也能听懂我们讲得,还是需要一定的技巧和经验的。很多类似于 CSDN、博客园也都可以写文章,但是页面的样式我不是太喜欢,简书还算好点得。最近看到一些大神们的博客,貌似都是用 hexo 写得,我也依葫芦画瓢的搭建了一个。不罗嗦了,直接上搭建步骤。

简介

hexo是一个npm包,在node环境上运行,功能就是将你的文章(.md文件)生成为静态html文件。

基础准备

下面正式开始搭建博客!首先要想使用 Hexogithub pages 搭建博客,需要以下环境:

  • github 上注册一个账号,并创建一个指定名字的 reposity
  • homebrew 套件管理器,主要用来安装 gitnode.js
  • git 版本管理工具
  • node.js
  • 配置 SSH key
  • 安装 hexo
  • 同步 hexo 博客到 github
注册Github账号并创建reposity

申请完账号,登陆之后,就可以创建 reposity 了,点击 New repository
,会跳转到这个界面:

Paste_Image.png

安装brewhome
1
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)”

安装失败, 执行以下脚本卸载:

1
2
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)" 
报错:Failed to locate Homebrew!

执行以下:

1
sudo rm -rf /usr/local/.git rm -rf Library .git .gitignore bin/brew README.md share/man/man1/brew rm -rf ~/Library/Caches/Homebrew

成功后,再次执行,下载脚本:

1
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

下载成功

安装git版本管理工具

git 是一个强大的版本管理工具,github 的版本管理就是基于 git 的,现在 svn 基本过时了,使用 Git 进行版本管理才是王道。安装完 homebrew 之后,安装 Git 几乎零成本,还是在 terminal 终端,输入以下命令:

1
brew install git

然后等一段时间就 ok 了,homebrew 会自动去帮你完成下载安装。

安装node.js

hexo 是基于 node.js 的,所以要让 hexo 运行,node.js 环境是必不可少的。使用 homebrew 安装 node.js 也特别简单,在 terminal 终端输入如下命令:

1
brew install node

ps:安装最新版的 Node.js 之后,我们就可以使用 npm 命令,在 mac 下遇到 npm 命令找不到的问题,解决方案如下:

1
2
3
4
sudo ln -s /usr/local/bin/node /usr/bin/node
sudo ln -s /usr/local/lib/node /usr/lib/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm
sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf
安装hexo

前面我们安装了 node.js,装完 node.js 之后,我们就可以使用 npm 命令了,而 hexo 安装就是使用 npm,在终端输入以下命令:

1
npm install -g hexo

ps:等待一会儿,hexo 会自动完成下载安装。等 hexo 安装完成之后,在创建一个文件夹,这个文件夹以后就是你存放本地博客的地方了。

搭建hexo博客

创建新建一个文件夹,用来存放本地博客。

1
2
hexo init
npm install

hexo会在创建的文件夹创建本地博客所需的一切资源。

1
hexo server

访问本地localhost:4000可以看到博客已经搭建成功。

同步hexo博客到github

  • 配置本地和githubssh
  • github上创建名字为XXX.github.io的项目,XXX为自己的github用户名。
  • 开本地的创建的文件夹中的_config.yml配置文件,将其中的type设置为git
检查你电脑上现有的ssh key
1
2
cd ~/.ssh   # 切换到ssh目录
ls -al ~/.ssh # 查看

注意:
如果你本地没有生成的话,终端上面会显示,No such file or directory。说明你是第一次使用git,如果已经存在的话,则会显示id_rsaid_rsa.pub

获取ssh
1
ssh-keygen -t rsa -C "your.email@example.com" -b 4096
配置github的ssh

登陆github后,点击右上角自己的头像–>点击Your profile–>点击你的博客远程仓库,页面中就能找到ssh。

Paste_Image.png

安装自动部署发布工具

这里用到了 hexo-deployer-git,使用如下命令安装:

1
npm install hexo-deployer-git --save

配置hexo

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

在terminal终端,执行以下命令:

1
2
hexo generate   // 可以简写成hexo g 根据markdown文件生成静态文件
hexo deploy // 或者简写成hexo d 将本地修改,部署到远端

此时,打开浏览器,访问https://sunjinshuai.github.io ,就可以看到你的博客。

Hexo安装新主题apollo

Hexo换皮肤还是比较简单的,既可以自己根据默认的主题来修改,也可以到https://hexo.io/themes/ 上去找主题。

安装

github上的文档给出了详细的安装命令:

1
2
3
4
5
hexo init #blogname#
cd #blogname#
npm install
npm install --save hexo-renderer-jade hexo-generator-feed hexo-generator-sitemap hexo-browsersync hexo-generator-archive
git clone https://github.com/pinggod/hexo-theme-apollo.git themes/apollo
启用

安装成功后就可以开始启用主题,主题的启用需要修改_config.yml 的 theme 配置项为 apollo:

1
2
3
4
5
6
7
8
9
10
11
12
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: apollo

# 在归档页面显示所有文章
# 需要上面安装的 hexo-generator-archive 插件支持
archive_generator:
per_page: 0
yearly: false
monthly: false
daily: false

hexo常用的命令

1
2
3
4
5
6
7
hexo init       //在指定目录执行该命令,会将当前目录初始化为hexo站点,生成hexo站点所需的一切文件
hexo new “my new blog title” //新建一篇文章。如果没有设置 layout 的话,默认使用 _config.yml 中的 default_layout 参数代替。如果标题包含空格的话,请使用引号括起来。
hexo clean // 清除缓存,如果对本地文件做了修改,同步到远程验证修改的效果之前,先clean,清除缓存
hexo generate // 可以简写成hexo g 根据markdown文件生成静态文件
hexo server // 或者简写成hexo s 启动本地hexo 服务器,默认localhost:4000可以访问
hexo deploy // 或者简写成hexo d 将本地修改,部署到远端
hexo version // 显示hexo版本

关于HEXO安装失败的解决方法

目前国内npm源有问题;所以键入如下代码即可安装成功:

1
2
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install hexo-cli -g