操作系统: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/