以前用lofter各种不爽,一直想搭个自己的博客,在这将过程记下来,以防忘记。

博客安装

安装Xcode

直接从App Store上下载。

安装node.js

Hexo是基于node.js的,点击进入node.js官网下载安装。

安装git

git官网下载安装包。这是为了使用git指令。

安装hexo

因为安装包中有些内容在墙外,所以可以换淘宝源,或者用

1
npm install -g hexo-cli --no-optional

建站

初始化

进入你指定的目录,建立所需文件:

1
2
3
cd ~/Document/hexo
hexo init
npm install

添加文章

1
hexo new "Name"

其中Name是文章名。

生成静态页面

1
hexo generate

可缩写

1
hexo g

本地查看

启用服务器:

1
hexo sever

可缩写

1
hexo s

然后浏览器打开http://localhost:4000/

若提示ERROR Deployer not found: git ,请执行:

1
npm install hexo-deployer-git --save

部署生效

输入命令

1
hexo deploy

或者缩写来执行。

1
hexo d

以后每次执行可以依次输入下面命令:

1
2
hexo clean
hexo g -d

这时博客已部署到网上,在浏览器输入网址即可,例如:yoodu.github.io

博客配置

Github Pages

注册github账号,以username.github.io为名称创建New repository,便能使用Github Pages建立个人网站,可使用 300M 免费空间。

例如:我的username是yoodu,Repository name就是yoodu.github.io(也是网站链接);

170730_162306

添加SSH秘钥

用 SSH keys让本地 git 项目与远程的 GitHub 建立联系。

在终端(Terminal)输入:

1
ssh-keygen -t rsa -C "Github的注册邮箱地址"

一路Enter,秘钥生成后,得到两个文件id_rsaid_rsa.pub,用带格式的记事本打开id_rsa.pub,Ctrl + a复制里面的所有内容,然后进入https://github.com/settings/ssh,将复制的内容粘贴到Key的输入框,Title随便写,点击Add SSH key按钮即可。

配置 _config.yml 文件

在Hexo安装的目录中找到 _config.yml 文件
翻到最后的deploy 字样,改成如下格式:

1
2
3
4
deploy: 
type: git
repo: https://github.com/用户名/用户名.github.io.git
branch: master

repo从下图直接复制:https://github.com/yoodu/yoodu.github.io.git

170730_175623

注意:冒号后面有一个空格;

使用github可以不用写branch那一行。
如果要使用多个 deployer,可改成如下样式:

1
2
3
4
5
deploy:
- type: git
repo:
- type: heroku
repo:

绑定域名

购买域名

注册域名的时候要注意有些域名是有限制的,像之前.me域名是无法备案的,所以我也换了新域名 yodu.xyz 。

域名比价

Namesilo 购买注册流程

www.namesilo.com

DFB7CE3A-CB0B-4A7F-BD0A-1B8A1086B387

在 promotion code那里输入 1024 这个优惠码,并点 submit 即可优惠 1 USD

  • 在 Configuration Options 下第2行 Enter Name Servers,可自己设定域名解析服务器的地方。填入域名解析权要交给的主机商或者VPS服务商的NS服务器。比如,域名交给 Linode 解析,那么点击填入 ns1.linode.com, ns2.linode.com。
  • Auto-Renew 是自动续费的选项。如果你的域名打算长期使用,建议可以选择 Yes。
  • 域名注册年限,如果你的域名不是短期使用,那么建议一次性多注册几年而不是一年一年续,域名年限对于提升 Domain Authority(DA,域名权威值)有一定的帮助,这是影响 SEO 效果的N 多因素之一。

域名解析

1.使用国内的DNSPod解析域名,在域名注册商网站修改Namesevers DNS地址;

170805_095110

2.将域名与 GitHub Pages 的空间绑定

在终端输入ping自己的github地址,如:ping yoodu.github.io,查到对应的IP地址,我的是151.101.77.147(后来切换仓库,变为185.199.111.153)

170805_085837

在DNSPod后台添加两条记录(www、@),输入也就是域名要解析到的IP地址(就是上面查到的)。

170805_084623

然后说要等个1、2天才生效,不过我过一晚就生效了,哈哈!这么简约的域名,简直太爽了。

170805_093823

域名基础知识可以看这里建站基础:外贸网站和企业邮箱的域名解析

绑定方法

在Github的repo根目录下建立一个CNAME文件,里面写上域名即可。为避免clean需要重新创建,可以在hexo的本地source目录中建立CNAME文件,这样每次部署都会一起上传到Github。

支持HTTPS

在github仓库进入设置页

image-20190515103508291

翻到Github Pages,勾选Enforce HTTPS设置,就能支持HTTPS了,访问博客时就不会显示不安全了

image-20190515103407408

hexo使用

插入视频

优酷分享链接

Idina Menze和Caleb Hyles激情对唱Let It Go

云盘分享1

云盘分享2(from知乎耿小泰),这种方式safari会提示缺少插件

插入gif

本地查看OK,不过Github pages貌似不支持插入视频和音乐。

hexo错误处理

Error: Cannot find module ‘./build/Release/DTraceProviderBindings’

1
$ npm install hexo --no-optional

Deployer not found: git

HEXO更新到3.0之后,需要将原来_config.yml配置中的deploy下的“type”字段中的“github”改为“git”,然后执行:

1
npm install hexo-deployer-git --save

参考文章

20分钟教你使用hexo搭建github博客

在Mac下通过HEXO在Github上搭建博客

hexo你的博客

Namesilo 购买注册流程

建站基础:外贸网站和企业邮箱的域名解析

博客诞生记-问题处理

使用Hexo博客时一些错误整合

博客诞生记-问题处理

使用Hexo博客时一些错误整合