- 写在前面:
这是比较简单的环境搭建的过程,基本属于“无脑下一步”类型,好好按照下面写的就可以(在一天之内)完成属于自己的静态博客的嘴贱环境搭建过程啦~ - 写在前面2:
学生党…没有好好整理自己笔记本里面的文档啊、应用啊什么的习惯,而且一学期下来(被)上了各种不同的课,安装了一大堆应用,生成了一大堆不知道保存在哪的工程文件(其实是垃圾),所以大概重装系统的频率是一学期一次。然而有一些(配置过程比较麻烦)的应用又是必须的,每次清理系统之后都需要爬各种大神的帖子,在各种不同的安装方法之间比较,通常要翻3 4个贴才能配置好所需的环境(就比如这次的个人博客的搭建过程……)。所以这次,决定开个自己的小空间,记录一下配置过程中踩的各种坑~
环境搭建
- Hexo基于node.js,搭建过程中需要在git.bash中使用npm和git命令,因此需要先在本地安装Node.js和Git,下载链接如下:
nodejs.org/zh-cn
git-scm.com/downloads
git_阿里云镜像
直接选择页面上推荐的版本下载,一路安装就好,直至按照默认配置完成上面两个软件的安装。 - 新版本的node.js在安装时可选附加组件的安装
- 安装完成之后,按Win+R输入cmd或者在任务栏左下角”田牌图标“处右键,选择”power shell管理员“,在打开的cmd窗口或power shell窗口中依次输入:
1 | node -v |
连接Github
- 未注册过GitHub的新用户直接选择sign up,输入注册邮箱、用户密码、用户名即可获得免费账户x1(注意,注册邮箱需要在国内能直接登录,因为注册过程需要在邮箱中接收GitHub发送过来的验证码);
- 已经注册过的用户,直接选择sign in登录就好。
- 随便在一个什么地方(推荐在C盘根目录下新建一个文件夹,以后这个文件夹就是创建和修改博客的地方,我自己的文件夹名称是”hexo-blogs“)单击右键 -> 选择”Git Bash Here“,按照如下命令设置用户名和邮箱:
1
2git config --global user.name "注册时输入的GitHub用户名"
git config --global user.email "注册时输入的邮箱"创建SSH密钥:
- 依旧是在Git Bash终端中输入:回车开始执行命令之后,终端会给出密钥的存储位置的提示,直接一路回车按照默认选择就好。
1
ssh-keygen -t rsa -C "注册时输入的邮箱"
添加密钥
- 从资源管理器进入“C:\Users\用户名.ssh”目录(这一步需要勾选资源管理器中的“显示隐藏项目”),右键单击“id_rsa.pub”选择用记事本打开,全选并复制里面的内容。
- 登录GitHub,单击右上角的用户头像,进入Settings页面(注意不是进入我们这个GitHub pages所在repo的settings页面),选择左边侧栏中的”SSH and GPG keys“,点击”New SSH key“。
- title随便填一些能代表本次登录的主机的信息就好(如果你要在≥2台机器上部署你的博客的话,请记得把两台主机的信息填写清楚),将之前复制的”id_rsa.pub“粘贴之Key中,点击”Add SSH key“完成添加。
验证连接
- 在Git Bash中输入:出现”Are you sure……“,输入yes之后,回车确认,等待程序执行。
1
ssh -T git@github.com
最后一行显示“*Hi xxx! You’ve successfully authenticated, but GitHub does not provide shell access.*”就代表连接成功。
创建GitHub Pages仓库
- 在GitHub的个人主页右上角选择“**+ -> New repository**”:
- “Repository name”中输入
用户名.github.io
- 选定仓库的类型为Public
- 一定要勾选上“Initialize this repository with a README”,不勾选这一项的话,等到生成网页时可能会出现错误。如果出错的话,直接把这个仓库删掉,从头来过就好
- 全部填好后点击”Create repository”创建
创建成功后默认启用HTTPS,那么我们的个人博客地址就是https://用户名.github.io
在本地安装Hexo程序
- 回到我们在第二步连接GitHub时建立的专门为本次博客准备的文件夹中,右键 -> Git Bash Here。
安装Hexo:
- 使用npm命令安装Hexo程序:
1
npm install -g hexo-cli
耐心地等待至安装完成就好,安装过程(根据网络连接的情况)真心比较缓慢……
Hexo的初始化和本地预览:
初始化并安装所需组件:
1
2hexo init #初始化hexo
npm install #安装所需组件上述两个命令执行完成之后,一次输入以下两个命令,启动本地服务器进行预览:
1
2hexo g #生成页面
hexo s #启动预览在浏览器中输入
http://localhost:4000
,出现hexo的默认页面,就代表了本地博客安装成功~上述命令执行完之后,我们的Hexo博客相关的文件夹的目录结构如下:
1
2
3
4
5
6
7
8_config.yml #网站的配置信息
package.json #应用程序的信息
scaffolds #模板文件夹
source #存放用户构建的资源,新建立的Markdown文档
-> _drafts(这个文件夹一般是没有的)
-> _posts
themes #存放主题的文件夹
public #网站文件部署Hexo到GitHub Pages
在本地博客测试成功之后,就需要上传到GitHub进行部署,使我们创建的页面(被GitHub编译之后)能够在网络上进行访问。
首先安装hexo-deployer-git:
npm install hexo-deployer-git --save
然后修改_config.yml文件末尾的Deployment部分:
1
2
3
4deploy:
type: git
repository: git@github.com:用户名/用户名.github.io.git
branch: master完成后在Git Bash中运行命令:
1
hexo d #部署
将网站部署到GitHub Pages。
这时在浏览器中访问我们的GitHub域名
https://用户名.github.io
就可以看到我们部署的Hexo网站了。
绑定域名
嘤嘤嘤 这一部分由于我还没有购买域名,并且近期暂时没有购买域名的打算,所以要等到我决定购买域名之后再更新~
开始使用
安装markdown编辑器
- 由于我们要发布在GitHub Pages上面的文章都属于静态博客,所以需要用markdown格式对文档进行编辑,没有一款用起来顺手的编辑器自然会对写作过程造成不小的阻碍,那么下面就是
Typora
这款编辑器的安装过程~
(先推荐一个markdown新手写作指南) - Typora的官网(想打开的快一点的话,可能需要*梯子*):Typora
- 不想从官网跳转到下载页面的话,下面是下载链接:
Windows
OS X Beta
Linux_terminal
发布文章
- 从资源管理器进入我们为博客专门准备的文件夹hexo-blogs,右键选择“Git Bash Here”,开始创建我们的第一篇博客:
1
hexo new "这是一个测试——我的第一篇博客"
- 之后,在hexo-blogs/source文件夹中会出现一个“这是一个测试——我的第一篇博客.md”文件,使用markdown编辑器打开该文件就可以开始创作了。
- 每次对 *.md文件进行编辑之后,如确定无误,可用如下两条命令将文章渲染并部署在GitHub Pages上发布:
如果使用Typora这个编辑器的话,可以点击左下角时时预览写好的文档的效果
1
2hexo g #生成页面
hexo d #部署发布至此,最简化的GitHub Pages配置已经完成了
- 剩余的小折腾(其实也是比较费心思的折腾)在我参考的几篇博文中已经写的很清楚了(没错,这篇是参考了两三片帖子的查重率70%左右的博文),下面是参考的原文链接:
使用 Hexo+GitHub 搭建个人免费博客教程(小白向)
Hexo+GithubPages&CodingPages搭建自己的个人博客 - 最后是我自己的小破站 /w_w
小破站
解决GitHub-clone速度慢的问题
第一步:直接把网址对应的IP放进hosts文件,这样就省去了DNS解析的时间,
步骤如下:
1、查找域名对应的ip地址,并修改hosts文件
nslookup github.global.ssl.fastly.Net
nslookup github.com在这里插入图片描述
将下列内容加入 /etc/hosts文件中
151.101.76.249 http://global-ssl.fastly.net
192.30.255.113 http://github.com #此处112还是113根据自己的情况调整?
2、刷新DNS缓存
linux: sudo /etc/init.d/networking restart
windows:ipconfig /flushdns
mac:sudo killall -HUP mDNSResponder第二步:https://www.jianshu.com/p/fe5612c1bdd0
克隆时只拷贝最后一次commit:
git clone –depth=1 https://……