操作系统:macOSHighSierra(黑苹果)
| 参考网站 | |
|---|---|
| 使用hexo搭建github博客 | hexo+git搭建博客一步一个坑 |
创建GitHub仓库
先在GitHub创建一个仓库Newrepository
仓库名字:用户名.github.io
并且需要勾选InitializethisrepositorywithaREADME(虽然我没有做过这步)
创建完之后,在仓库的Settings→GitHubPages→Customdomain绑定你的域名,将会在Code那边生成一个CNAME文件,它的内容就是你所绑定的域名
PS.中文域名和转码后的中文域名不共通!如果你用了中文域名,那么你绑定的域名只能是中文域名、不能用转码的!
电脑安装Git和Node.js
下载Git客户端:https://git-scm.com/download/mac
下载Node.js:http://nodejs.org/zh-cn/
如果你不确定是否安装成功,可用下面的命令查看(也可用于查看版本)
node-v #查看Node.js版本
git--version #查看Git版本
安装Hexo
首先,在电脑里找个地方创建文件夹,随便找地方,只要你记得住路径就好
(路径:硬盘\用户名\blog)
PS.最好是建在用户名下面,比较方便点
用命令行进入文件夹
ruby
cd/users/用户名/blog
如果是直接在用户名下面创建文件夹直接:cdblog就可进入
这时候,你终端前面就会变成
电脑名称:blog用户名表示已进入你创建的blog文件夹
输入npminstallhexo-g开始安装Hexo
输入hexo-v检查hexo是否安装成功
版本号成功显示,输入hexoinit初始化该文件夹(这里会比较久,可以去看看别的,过会再来,可能有10~30分钟)
一段时间后,看到显示“StartbloggingwithHexo!”就说明初始化好了
输入npminstall安装所需要的组件
安装好后,使用下面命令
hexog #generate生成静态文件
hexos #server启动服务器。默认情况下,访问网址为:http://localhost:4000/
一般写完想看看有没有什么问题,用hexog部署之后,再用hexos启动服务器,在本地查阅一遍
连接Hexo和Git
重新打开终端(这里我只会返回系统文件夹,有点笨就不写了)
设置你的用户名与邮件地址
ruby
gitconfig--globaluser.name"你的GitHub用户名"
gitconfig--globaluser.email你的GitHub邮箱
使用ssh-keygen生成私钥和公钥
ruby
ssh-keygen-trsa
首先会出现/users/用户名/.ssh/id_rsa这串代码,敲个回车就好
然后下面是XXXX(y/n)?选y(确定)
还会让你设置一个密码,会在后面每次上传博客的时候用到,请务必记住密码,随你设置,纯数字也行
然后会给你生成两个秘钥文件id_rsa和id_rsa.pub
在GitHub添加SSHkeys
登录GitHub→点击个人资料Settings→SSHandGPGkeys→NewSSHkey
title随便写个,然后将id_rsa.pub的内容复制粘贴进去
保存之后在终端输入ssh-Tgit@github.com
如果SSH文件夹里没有公钥的话,会在这里提示你是否创建一个公钥,确认就好,然后输入你刚刚设置的密码,创建一个公钥(如果有多个博客最好分开备份一下,因为会串道)
测试SSH是否成功,等待反馈,如果反馈的是你的用户名就说明成功了
到此,就成功了一大半了
然后我们要去修改一下Hexo根目录下面的_config.yml文件
里面有个Deployment更改成自己的
ruby
# Deployment
# # Docs:https://hexo.io/docs/deployment.html
deploy:
type:git
repository:git@github.com:用户名/用户名.github.io.git
branch:master
HexoBlog部署到git我们需要安装npminstallhexo-deployer-git--save插件,在blog目录下运行一下命令进行安装
Hexo一些命令
hexon<title> #创建文章
hexonpage<title> #创建页面
hexoclean #清除缓存文件(db.json)和已生成的静态文件(public)
hexog #generate生成静态文件
hexos #server启动服务器。在本地预览效果,默认情况下,访问网址为:http://localhost:4000/
hexod #deploy部署网站同步到github。部署网站前,需要预先生成静态文件
hexoclean&&hexog&&hexod #清除缓存&&生成文件&&部署到网站
上传到GitHub失败
提示错误pushdeclinedduetoemailprivacyrestrictions到GitHub网站,点击setting再点击Emails看看下面的Emailpreferences第二项Blockcommandlinepushesthatexposemyemail是否打勾了,把打勾取消掉就好
后记
折腾起来还是很简单的,就是一开始各种不懂命令行的意义,所以搞混也很正常
CNAME
突然想起来还有这个坑
经常会重新部署之后绑定的域名就上不去了,是因为CNAME文件被删除啦!
那么要怎么办呢,我也试过插件,但是后来发现,直接丢到你本地Hexo博客的source文件夹里/users/用户名/blog/source/就好了,每次都会给你重新部署到public里/users/用户名/blog/source/public/