前言:
最近在学习数据结构的排序算法的时候想尝试写博客,于是在网上翻阅了许多写博客网站,比如CSDN、简书、github等等,相比较之后发现还是在github上搭建自己的博客挺有趣的,翻阅了无数的资料,这其中遇到了很多困难,但最终还是成功了,所以接下来给大家分享一下如何在mac笔记本上搭建自己的博客。
过程:
博客的搭建大致分为以下几个步骤:
- 配置环境
- 安装Hexo
- 如何将hexo与github page联系起来
- 保留CNAME、README.md等文件
- 修改hexo的主题
- 写博客
配置环境
安装Node.js(必须)
用来生成静态页面的,去官网直接下载最新版本,默认安装即可。

安装Git(必须)
用来把本地的hexo内容提交到github上去,去官网直接下载最新版本,默认安装即可。
注册github帐号且配置环境(必须)
github是一个利用Git进行版本控制、专门用于存放软件代码与内容的共享虚拟主机服务,很多人都把它称作程序员的同性交友网站,具体为啥这么叫我也不知道。(建议大家看英文的网站,不要看中文的)
注册完以后在你的帐号下新建一个仓库(New repository)

以上步骤完成后可用在命令行检查自己是否安装成功,顺便介绍一下如何使用mac的命令行。
1 | node -v //查看安装的Node版本 |
以下是我的Node和Git版本:
安装Hexo
Node和Git都安装好后,首先创建一个文件夹,如blog,用户存放hexo的配置文件,然后进入blog里安装Hexo。
1 | mkdir blog //创建一个blog文件夹 |
在安装hexo这一步的时候总是不断报错,在这里花了好长的时间才安装好,具体的命令我也忘了。。。。
- 查看hexo版本
1 | hexo -v |

- 执行init命令初始化hexo,命令:
1 | hexo init |
hexo会自动下载一些文件到这个目录,包括node_modules,目录c结构如下图:

- 生成静态页面
1 | hexo g |
生成静态文件到public文件夹,没有public文件夹就会自动创建,如果有了就会覆盖public内容。public文件夹的内容是要提交到github上的。

- 启动本地服务,进行文章预览调试,命令:
1 | hexo server |
浏览器输入 http://0.0.0.0:4000/ 就可以看到很丑的默认初始页了

如何将hexo与github page联系起来
分为三步:
配置SSH key
设置Git的user name和email
配置deployment
1、配置SSH key
mac 系统开始就已经为我们安装了ssh,如果没有安装,首先安装打开终端输入查看ssh版本:
1 | ssh -v |

这个表明ssh已经安装
如果没有安装,在终端输入以下命令:
1 | ssh-keygen -t rsa -C "youremail@example.com" |
然后连续3次回车,最终会生成一个文件在用户目录下

然后打开用户目录,找到.ssh\id_rsa.pub文件,记事本打开并复制里面的内容,打开你的github主页,进入个人设置 -> SSH and GPG keys -> New SSH key:
这里我是用终端来操作的,命令如下:
1 | cd .ssh //进入.ssh文件夹 |

将复制的内容粘贴到key那里,title随便填,保存

测试一下是否成功
1 | ssh -T git@github.com //注意邮箱地址不用改 |

看到这个信息说明SSH已配置成功!
2.设置Git的user name和email
1 | git config --global user.name "xiaolei19991030x" // 你的github用户名,非昵称 |
3.设置deployment
配置blog/_config.yml中有关deploy的部分

正确写法:
1 | deploy: |
注意:repository这种形式的是配置了SSH Key之后的,如果没有配置则使用Https形式的地址,冒号后面一定要空一格不然会报错的!!!
1 | repository: https://github.com/username/username.github.io.git |
为了能够使Hexo部署到GitHub上,需要安装一个插件:
1 | npm install hexo-deployer-git --save |
然后输入以下命令:
1 | hexo clean |
这时打开你的在浏览器上看输入https://yourgithubname.github.io/就可以看啦,当然如果看到你想到的效果,这可能是github需要一定的时间部署,等一会儿看有没有变成你想要的样子。
自己的github的page,显示如下
同时,你的github上的项目,代码已经更新。
保留CNAME、README.md等文件
提交之后网页上一看,发现以前其它代码都没了,此时不要慌,一些非md文件可以把他们放到source文件夹下,这里的所有文件都会原样复制(除了md文件)到public目录。
由于hexo默认会把所有md文件都转换成html,包括README.md,所有需要每次生成之后、上传之前,手动将README.md复制到public目录,并删除README.html。
修改hexo的主题
在 Hexo 中有两份主要的配置文件,其名称都是 _config.yml。 其中,一份位于站点根目录下,主要包含 Hexo 本身的配置;另一份位于主题目录下,这份配置由主题作者提供,主要用于配置主题相关的选项。
为了描述方便,在以下说明中,将前者称为 站点配置文件, 后者称为 主题配置文件.
以我的为例:

开始更换主题,hexo默认的主题是landscape,这里我更换的是yilia主题。
1、clone主题代码
首先进入blog文件夹
1 | cd blog |
在终端的根目录blog下执行:
1 | git clone https://github.com/litten/hexo-theme-yilia.git themes/yilia |
2、修改配置文件
修改根目录下的_config.yml文件:
1 | theme: yilia //默认为landscape |
3、修改themes/yilia/_config.yml文件:
1 | # Header |
4、运行
1 | hexo clean //清空之前主题 |
这是我更换主题过后的最原始的博客页面:

写博客
1 | hexo new '博客文章名字' |
运行测试
1 | hexo s -g //生成静态文件,启动本地服务器 |
最后附上我的博客地址:https://xiaolei19991030x.github.io
到这里基本的博客的搭建就已经结束了,后续再继续更新啦,下次见!!!

