初衷
- 我为什么要搭建自己的blog?
- 很早就有搭建博客的想法,但是平时记录一些东西是有道云笔记用的多一点,所以一直都没有行动起来。最近受小伙伴的鼓舞,决定把博客搭建起来并把搭建的过程记录下来,让他们也可以学习一下快速搭建一个blog。
- 我为什么选择hexo来搭建我的blog?
- 网上关于hexo的教程很多,可以快速找到搭建资料并解决搭建过程中遇到的问题。个人觉得hexo使用起来比worldpress要好用很多,门槛低好上手。
- Next主题好看啊!
前期准备
brew(自行搜索安装啦)、nodejs、git、github账号以及命名为yourname.github.io的仓库、安装过程中爬梯会更快些,笔者在安装的过程中没有爬梯,简直生不如死QAQ~~~
安装git
1 | brew install git |
在bash中输入该命令行可以自动安装git (mac其实有自带的git ,但是我自己还是安装了)。运行 git --version ,若看到版本号后就代表安装成功了。
安装nodejs
1 | brew install npm |
其中"private":true, "description":"xxx" 两个属性要有,我安装完nodejs时配置文件中这两个字段为空,导致命令行运行 npm -v 时会有2个warn报错信息,虽然不会影响运行,但作为一个tester(其实是强迫症哈哈哈)实在是看不下去,于是找到解决办法解决了。
安装完成后,npm -v 能看到版本信息就代表安装成功了!
安装HEXO
1 | npm install hexo -g |
安装时如果出现Error: Permission denied的情况,使用 sudo npm install hexo -g 即可。
安装过程会比较慢,取决于你与github之间的连接速度,安装完成后,使用hexo -v来查看是否安装成功。
初始化hexo
在~目录下,创建一个blog文件夹,并在该文件夹中初始化hexo,命令行如下:
1
2
3 mkdir blog
cd blog
hexo init
初始化成功后,使用ls -l可以看到以下文件:
此时使用 $ hexo server 或者 $ hexo s 就可以在本地启动hexo,打开 http://localhost:4000/就可以看到本地的blog系统了。
到这里,其实已经完成了一大部分了。那么问题来了,怎么讲blog部署到自己的github仓库中 去,并能够在外网访问呢?这里就要用到刚才准备好的github账号了。
配置并部署HEXO
配置hexo与github的连接
打开刚才blog目录中的yaml格式的配置文件_config.yml,需要注意的地方:yaml格式的文件每个冒号后面要加空格,换行时缩进需要严格控制(具体可以百度/谷歌 YAML文件),不然会影响到配置文件结构不对,导致部署失败。可以用vi、sublime 或者其他的文本工具编辑。
其中两个地方配置需要注意,其他的配置可以自己去研究一下哈~1
2
3
4
5
6
7
8
9
10
11
12
13
14#site
title: Nowhere //blog名
subtitle: //副标题
description: xxx //描述
keywords: //关键字
author: bruce //作者
language: zh-Hans //语言
timezone: Asia/Shanghai //时区
# Deployment
deploy:
type: git
repository: https://github.com/bruce0312/bruce0312.github.io //刚才前期准备的仓库
branch: master
设置完成后,保存。
- hexo部署
$ hexo generate | $ hexo g$ hexo deploy | $ hexo d
在部署的时候,会让你输入github的账号密码,如果不想输入,也可以自己先配置一下。1
2git config user.emial github_email
git config user.name github_name
其中遇到一个坑,在deploy的时候提示我 ERROR Deployer not found: git;
这个问题需要安装hexo-deployer-git来解决,命令为:$ npm install hexo-deployer-git --save
好了,到这里部署成功后,blog基本搭建完成了,可以去yourname.github.io中查看的你成果啦~
1 | hexo 常用的命令 |
安装next主题
1 | cd blog/ |
下载完成后, $ vi _config.yml 修改hexo的配置文件中的theme字段,修改为theme: next后保存,运行$ hexo s 就可以重新加载在本地预览了~next主题自带四种风格的样式,可以进入/blog/themes/next中打开_config.yml配置文件,在Schemes中可以修改,笔者用的是Pisces啦,感觉还不错。其他的自定义配置都可以在这个配置文件中修改,感兴趣的可以自己去折腾哈!
PS.Github账号创建ssh密钥
Q: 为什么要使用ssh密钥?
A: 使用ssh密钥来和github通信更加方便快捷安全,省去输入账号密码的时间。
a.生成本地电脑上的SSH Key
首先要检查本地电脑上是否存在SSH key$ ls -al ~/.ssh 如果没有存在,会显示No such file or directory;如果已经存在,会显示id_rsa和id_rsa.pub两个文件。
如果我们没有生成过SSH key,那么我们需要先生成本机的SSH key1
2
3 ssh-keygen -t rsa -C "your_email@example.com"
-t 秘钥类型
-C Comment 这里可以填写你自己的github邮箱账号,主要是为了记录密钥的用途
- 生成成功后,终端中会显示:
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/xxx/.ssh/id_rsa): //提示你密钥保存的路径,直接默认ENTER即可。 - 回车后提示:
Created directory ‘/Users/xxx/.ssh’.
Enter passphrase (empty for no passphrase): //提示输入 passphrase,每次与 GitHub 通信都会要求输入 passphrase,以避免某些「失误」,这里我怕麻烦直接ENTER了,因为输了以后,每次通信都需要输入passphrase。
- 回车后提示:
Your identification has been saved in /Users/xxx/.ssh/id_rsa.
Your public key has been saved in /Users/xxx/.ssh/id_rsa.pub.
The key fingerprint is:
xxxxxx your_email@example.com
The key’s randomart image is:(后面图形省略)
此时,将id_rsa.pub中的密钥信息copy出来,方法有多种,比如最方便的如:1
pbcopy < ~/.ssh/id_rsa.pub
或者用cat命令查看,手动copy。
b.在github中设置Deploy Key
接下来,去github中设置你的deploy key,进入刚才准备好的yourname.github.io仓库,进入Settings - > Deploy keys - > Add deploy key
title:一般写用途
Key:粘贴刚才复制的秘钥信息
Allow write access:true
点击Add Key就可以保存成功了。
测试key能否正常使用:1
ssh -T git@github.com
如果看到如下的提示,就说明配置成功了。
Thanks For Watching!