使用github+hexo搭建自己的博客


安装hexo

安装nodejs

略,添加环境变量

1
2
F:\KavenRan\nodejs
F:\KavenRan\nodejs\node_global

安装npm模块

略,设置node_global路径

安装hexo

在CMD或shell中执行
$ npm install -g hexo
测试:hexo -v

创建工作空间
$ cd /f/KavenRan/hexo/

初始化:hexo init

1
2
3
4
5
6
7
8
$ ll
total 9
-rw-r--r-- 1 KavenRan 197121 1483 六月 23 06:50 _config.yml
drwxr-xr-x 1 KavenRan 197121 0 六月 23 06:53 node_modules/
-rw-r--r-- 1 KavenRan 197121 443 六月 23 06:50 package.json
drwxr-xr-x 1 KavenRan 197121 0 六月 23 06:50 scaffolds/
drwxr-xr-x 1 KavenRan 197121 0 六月 23 06:50 source/
drwxr-xr-x 1 KavenRan 197121 0 六月 23 06:50 themes/

$ hexo g # 生成
执行以上命令之后,hexo就会在public文件夹生成相关html文件,这些文件将来都是要提交到github去的:

$ hexo s # 启动服务
http://localhost:4000/


部署发布

现在只支持ssh方式部署,需要配置本地git-bash与github的验证。

SSH 代理设置

如果自己网络需要代理时需要ssh-https-tunnel才能通过ssh集成github,不需要代理的网络路过此步骤。
下载ssh-https-tunnel

1
2
$ curl http://zwitterion.org/software/ssh-https-tunnel/ssh-https-tunnel > ~/.ssh/ssh-https-tunnel
#上述地址无法访问时可在CSDN下载

修改ssh-https-tunnel

1
2
3
# Proxy details
my $host = "172.1.1.8";
my $port = 8080;

vi ~/.ssh/config

1
2
3
4
5
6
Host github github.com
User git
Hostname github.com
ProxyCommand ~/.ssh/ssh-https-tunnel %h %p
Port 22
IdentityFile ~/.ssh/id_rsa

配置github ssh key

在Git-bash或git-cmd中执行,将Hexo与Github page联系起来,设置Git的user name和email(如果是第一次的话)
git config --global --add user.name ranying
git config --global --add user.email ranying@xxxx

输入cd ~/.ssh,检查是否存在.ssh的文件夹
不存在新建:mkdir ~/.ssh

生成密钥
ssh-keygen -t rsa -C ranying@xxxx
最后得到了两个文件:id_rsa和id_rsa.pub

添加密钥到ssh-agent
eval "$(ssh-agent -s)"

再输入ssh-add ~/.ssh/id_rsa,添加生成的SSH key到ssh-agent
显示id_rsa.pub内容:
cat id_rsa.pub

登录Github,点击头像下的settings -> SSH and GPG keys,添加ssh

新建一个new ssh key,将id_rsa.pub文件里的内容复制上去

输入ssh -T git@github.com,测试添加ssh是否成功。如果看到Hi后面是你的用户名,就说明成功了

1
2
3
4
5
6
7
$ ssh -T git@github.com
The authenticity of host 'github.com (52.74.223.119)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes
Warning: Permanently added 'github.com,52.74.223.119' (RSA) to the list of known hosts.
Hi ranying666! You've successfully authenticated, but GitHub does not provide shell access.

部署测试

在hexo项目根路径下找到_config.yml,修改:

1
2
3
4
5
6
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repository: git@github.com:ranying666/ranying666.github.io.git
branch: master

部署前安装一个扩展:
npm install hexo-deployer-git --save
CMD中执行生成及部署:
hexo d -g
看到信息说明成功:INFO Deploy done: git


使用文档

https://hexo.io/zh-cn/docs/writing.html

主题修改

官方Themes: https://hexo.io/themes/
下载主题:https://github.com/litten/hexo-theme-yilia

添加相册

相册部署:部署说明

写作文章

hexo new title

资源文件

修改config.yml 文件中的 post_asset_folder 选项设为 true 来打开。

hexo new [layout] title 命令同时生成同名资源文件目录,引入资源文件方式:

文章截断

如果文章太长可以在需要截断的地方加上标签:

<!--more-->

常用命令

hexo clean :清空

hexo generate(g):生成静态文件

hexo deploy(d):部署

hexo start(s): 启动本地服务器,可访问localhost:4000预览


文章作者: KavenRan
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 KavenRan !
 上一篇
PostgreSQL9.6数据类型梳理 PostgreSQL9.6数据类型梳理
数据类型指定要在表字段中存储哪种类型的数据。 在创建表时,对于每列必须使用数据类型。PotgreSQL中主要有三种类型的数据类型。 此外,用户还可以使用CREATE TYPE SQL命令创建自己的自定义数据类型。 以下是PostgreSQL
2017-07-06
下一篇 
Docker常用指令集 Docker常用指令集
创建镜像docker build -t hub.com/gitcloudstat/gitcloudstat:1.0.0 . 推送镜像docker push hub.com/gitcloudstat/gitcloudstat:1.0.0 查看
2017-06-30
  目录