###HEXO简介
####Hexo是快速、简洁且高效的博客框架:
1、超快速度:Node.js 所带来的超快生成速度,让上百个页面在几秒内瞬间完成渲染。
2、一键部署:只需一条指令即可部署到 GitHub Pages, Heroku 或其他平台。
3、支持 Markdown:Hexo 支持 GitHub Flavored Markdown 的所有功能,甚至可以整合 Octopress 的大多数插件。
4、插件和可扩展性:强大的 API 带来无限的可能,与数种模板引擎(EJS,Pug,Nunjucks)
和工具(Babel,PostCSS,Less/Sass)轻易集成
###Hexo搭建
Github Pages可以被认为是用户编写的、托管在github上的静态网页。使用Github Pages可以为你提供一个免费的服务器,免去了自己搭建服务器和写数据库的麻烦。此外还可以绑定自己的域名,下面就是介绍hexo部署到Github Pages的搭建及自己安装出现问题总结。
####1、安装Git
Git是目前世界上最先进的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。也就是用来管理你的hexo博客文章,上传到GitHub的工具。Git非常强大,我觉得建议每个人都去了解一下。廖雪峰老师的Git教程写的非常好,大家可以了解一下。Git教程
windows:到git官网上下载,Download git,下载后会有一个Git Bash的命令行工具,以后就用这个工具来使用git。
linux:对linux来说实在是太简单了,因为最早的git就是在linux上编写的只需要一行代码:sudo apt-get install git
安装好后,用git –version 来查看一下版本
git version 2.28.0.windows.1
####2、安装Node.js
Hexo是基于nodeJS编写的,所以需要安装一下nodeJs和里面的npm工具。
windows:nodejs选择LTS版本就行了。
linux:
sudo apt-get install nodejs
sudo apt-get install npm
安装完后,打开命令行用下面命令检查是否安装成功
node -v
npm -v
git安装完后可以直接用git bash的命令代替cmd
git bash的位置为git的安装根目录下,也可在git安装成功后直接到相应的路径下右键选择git bash,省去cd命令到相应的路径
####3、安装Hexo
创建一个文件夹blog,然后cd到这个文件夹下(或者在这个文件夹下直接右键git bash打开)。
输入命令
npm install -g hexo-cli
hexo -v
查看一下版本
至此就全部安装完了。接下来初始化一下hexo
hexo init myblog
这个myblog可以自己取什么名字都行,然后
cd myblog
//进入这个myblog文件夹
npm install
新建完成后,指定文件夹目录下有:
- node_modules: 依赖包
- public:存放生成的页面
- scaffolds:生成文章的一些模板
- source:用来存放你的文章
- themes:主题
- _config.yml: 博客的配置文件**
打开hexo的服务
hexo g
hexo server
在浏览器输入localhost:4000就可以看到你生成的博客了。
使用ctrl+c可以把服务关掉。
####4、GitHub创建个人仓库
首先,你先要有一个GitHub账户,去注册一个吧。
注册完登录后,在GitHub.com中看到一个New repository,新建仓库
创建一个和你用户名相同的仓库(很重要),后面加.github.io,只有这样,将来要部署到GitHub page的时候,才会被识别,也就是xxxx.github.io,其中xxx就是你注册GitHub的用户名。我这里是已经建过了
####5、生成SSH添加到GitHub
回到你的git bash中,
git config --global user.name "yourname"
git config --global user.email "youremail"
yourname没有双引号。
这里的yourname输入你的GitHub用户名,youremail输入你GitHub的邮箱。这样GitHub才能知道你是不是对应它的账户。
可以用以下两条,检查一下你有没有输对
git config user.name
git config user.email
然后创建SSH,执行下面命令
ssh-keygen -t rsa -C "youremail"
一路回车
这个时候它会告诉你已经生成了.ssh的文件夹。在你的电脑中找到这个文件夹。
ssh,简单来讲,就是一个秘钥,其中,id_rsa是你这台电脑的私人秘钥,不能给别人看的,id_rsa.pub 是公共秘钥,可以随便给别人看。把这个公钥放在GitHub上,这样当你链接GitHub自己的账户时,它就会根据公钥匹配你的私钥,当能够相互匹配时,才能够顺利的通过git上传你的文件到GitHub上。
而后在GitHub的setting中,找到SSH keys的设置选项,点击New SSH key
把你的id_rsa.pub里面的信息复制进去。
在gitbash中,查看是否成功
ssh -T git@github.com
####6、将hexo部署到GitHub
这一步,我们就可以将hexo和GitHub关联起来,也就是将hexo生成的文章部署到GitHub上,打开站点配置文件 _config.yml,翻到最后,修改为
YourgithubName就是你的GitHub账户
deploy:
type: git
repo: https://github.com/YourgithubName/YourgithubName.github.io.git
branch: master
这个时候需要先安装deploy-git ,也就是部署的命令,这样你才能用命令部署到GitHub。
npm install hexo-deployer-git --save
然后
hexo clean
hexo generate
hexo deploy
其中 hexo clean清除了你之前生成的东西,也可以不加。
hexo generate 顾名思义,生成静态文章,可以用 hexo g缩写
hexo deploy 部署文章,可以用hexo d缩写
注意deploy时可能要你输入username和password。
过一会儿就可以在http://yourname.github.io 这个网站看到你的博客了!!
####7、设置个人域名
现在你的个人网站的地址是 yourname.github.io,如果觉得这个网址逼格不太够,这就需要你设置个人域名了。但是需要花钱。
注册一个阿里云账户,在阿里云上买一个域名,我买的是 yangz.host,各个后缀的价格不太一样,比如最广泛的.com就比较贵,我的这个.host很便宜,看个人喜好咯。
你需要先去进行实名,实名认证时上传扫描件不然认证很大可能一直失败,然后在域名控制台中,看到你购买的域名,购买完别忘解析。
点解析进去,添加解析。
其中,192.30.252.153 和 192.30.252.154 是GitHub的服务器地址。
注意,解析线路选择默认,不要像我一样选境外。这个境外是后面来做国内外分流用的,在后面的博客中会讲到。记得现在选择默认!!
解析完,登录GitHub,进入之前创建的仓库,点击settings
GitHub Pages下Custom domain 设置Custom domain,输入你的域名yangz.host
最后,在gitbash中,输入
hexo clean
hexo g
hexo d
过不了多久,再打开你的浏览器,输入你自己的域名,就可以看到搭建的网站啦!
接下来你就可以正式开始写文章了。
hexo new newpapername
然后在source/_post中打开markdown文件,就可以开始编辑了。当你写完的时候,再
hexo clean
hexo g
hexo d
就可以看到更新了。
####8、gitLub项目访问打不开的常见问题
1、http和https的原因,这个看gitLub的Setting下GitHub Pages可以看到你的项目访问地址;
2、搭建时明确提示的gitLub的仓库创建和你用户名必须相同的原因,若确实不一致只能在gitLub的Setting–>Options下重新命名;
3、若提示无法访问网站,本地电脑可能需要注册域名访问C:\Windows\System32\drivers\etc\hosts文件结尾加上
...
...
185.199.108.153 yourName.github.io
185.199.108.153 yourhost(你的域名)
4、404无法访问网站时检查根目录下的_config.yml文件是否配置正确,注意变量:后要加空格。
deploy:
type: git
repo: http://github.com/wapchief/wapchief.github.io.git
branch: master