前言
这一天的清晨,百无聊赖中不小心点了之前收藏的一篇文章Mac上搭建基于GitHub的Hexo博客,我应该感谢这位大哥,虽然我不认识你,但是你的文章让我与你有了读者与作者之间的关系,这篇文章在一年前就看过了,当时就很有兴趣的去尝试搭建自己的博客,当时因为是刚接触,整个思路不是很清晰,所以搭到一半因为某些原因就放弃了。今天不小心看到了之前收藏的这篇文章,让我又燃起了搭建自己博客的兴致。我在网上看了几篇不错的文章,照着步骤去实现,果然功夫不负有心人,我完成了。
相关的技术点及安装
nvm:
Node Version Manager 是一个开源的Node.js版本管理Bash工具,可方便的在Bash环境下下载、更新、管理多个版本并存的Node.js,我的电脑已经安装过了,安装方法就不描述了,给个nvm 库路径,自己根据描述文档进行安装。
Node.js
是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。(百度百科)
安装
使用nvm安装最新的Node.js
nvm install node
注意:nvm安装的版本可能并不是Node官方推荐的稳定版本,建议参考官方版本,比如当前稳定版本是 12.5.0
nvm install 12.5.0
Git(分布式版本控制系统)
是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
因为我的是Mac,自带了Git工具,需要安装的可以去Git官网下载安装,附带一份Git入门教程,有助于学习Git的使用
Github
是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。 使用方法参考廖雪峰的官方网站
Hexo
Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
安装
$ npm install hexo-cli -g
$ npm install hexo-deployer-git --save
第一句是安装hexo,第二句是安装hexo部署到git page的deployer,两个都需要安装。如果安装失败就在指令前面加 sudo使用最高权限安装
初始化博客项目
在电脑上选定路径建一个文件夹,放博客的文件目录,在终端先cd 到指定的文件夹,比如在根目录的blog文件夹
$ cd blog
然后在执行hexo init 在当前目录下生成一套标准的Hexo博客项目模板
$ hexo init
生成网站
接下来需要把这套网站的源码中的配置文件、博客文档、主题模板等进行组合构建,生成服务器能识别的标准HTML网站目录,使用如下命令:
$ hexo g
启动本地服务器
启动本地服务器后即可通过 localhost:4000查看网站运行效果了,命令如下:
$ hexo s
发布博客
创建github.io仓库
在自己的Github账号下创建一个仓库,点击 New repository ,仓库名必须为 userName.github.io ,其userName 是你的用户名,例如我的用户名是Jarvis-Mr , 那么仓库命名为:Jarvis-Mr.github.io,
注意: 好像是必须要选Public,我一开始去勾选了Private创建的仓库,发布博客的时候是失败的,然后我把仓库删了,再从新创建了Public的仓库就可以了,具体原因我没去找,或者有谁知道的请麻烦可以告知,谢谢!
配置SSH密码
配置Github的SSH密钥可以让本地git项目与远程的github建立联系,让我们在本地写了代码之后直接通过git操作就可以实现本地代码库与Github代码库同步
(1)、查看是否存在SSH秘钥(keys),在终端输入命令
$ ls -al ~/.ssh
$ No such file or directory
如上所示是本地没有生成SSH Key的
(2)、生成SSH Key
$ ssh-keygen -t rsa -C"your_email"
//your_email:这是github注册时填的邮箱
(3)、添加SSH Key
$ ssh-add ~/.ssh/id_rsa
(4)、查看SSH Key
$ cat /Users/UserName/.ssh/id_rsa.pub
//UserName :电脑用户名
(5)、将查看到的秘钥复制粘贴到github SSH Keys,添加秘钥
(6)、测试看是否设置成功
$ ssh -T git@github.com
Hi XXXX You've successfully authenticated, but GitHub does not provide shell access.
将本地的Hexo文件更新到GitHub仓库中
(1)、进入刚建的仓库 userName.github.io
(2)、点击SSH,然后复制SSH地址,粘贴到博客配置文件 _config.yml (博客根目录下的),如下所示
deploy:
type: git
repo: https://github.com/userName/userName.github.io.git
branch: master
(3)、终端在进入到博客根目录下执行hexo g 生成网站,然后执行以下命令发布博客到GitHub上:
$ hexo d
//或者在生成网站的同时进行发布
$ hexo g -d
注意: 如果hexo d 报 ERROR Deployer not found: git 错误提示,那么就是你的deployer没有安装成功,你需要执行如下命令再安装一次:
npm install --save hexo-deployer-git
(4)、现在就可以在浏览器输入 https://userName.github.io访问自己的博客网站了
选择主题
主题文件可以在Hexo官方主题中下载,以我选中的BlueLake为例,根据主题安装指导,下载项目到博客项目下的thems目录中,并在博客根目录配置文件_config.yml中指定使用该主题:
theme: BlueLake
修改好后再次执行 hexo g 生成网站,然后执行hexo s (开启本地服务器)或者hexo d (发布到github上)
在这里基本大功告成了。