Hexo的搭建与部署

Author Avatar
Klein 4月 01, 2018

很早以前就想过要搭建自己的博客。

前言

许多技术大牛在他们的博客例如新浪博客、CSDN、博客园等分享他们的技术、人生感悟、日常生活等等……从那时起我就非常憧憬有自己的博客,起初只是想在新浪博客上写自己的博客,上了大学又觉得新浪博客、CSDN、博客园又实在太丑了,难以接受。而且我发现自己不仅仅是想通过文字表达自己的想法,我更想要一个属于自己的、自定义的博客网站,于是便有了这个博客。(内心吐槽:既然是自定义的博客那为什么不自己撸一个呢?内心回答:这不是懒嘛!)。

环境配置

  1. 安装node

  2. 安装Git

安装Hexo

  1. 在电脑任意磁盘新建文件夹任意名字的文件夹,然后进入该文件夹。

  2. 鼠标右键点击Git Base Here,执行如下命令安装Hexo:

    1
    npm install -g hexo
  3. 执行init命令初始化hexo

    1
    hexo init

顺便解释一下目录结构:

1
2
3
4
5
6
7
8
.
├── _config.yml 网站的配置信息,你可以在此配置大部分的参数。
├── package.json 项目所需模块项目的配置信息
├── scaffolds 模版文件夹。当你新建文章时,Hexo会根据 scaffold 来建立文件
├── source 资源文件夹是存放用户资源的地方。
| ├── _drafts
| └── _posts
└── themes 主题文件夹

调试

  1. 启动本地服务,进行文章预览调试:

    1
    hexo s
  2. 在浏览器输入localhost:4000,查看是否成功

部署

部署到GitHub

配置 github

  1. 创建Repository

Repository name 为 yourgithubname.github.io

配置 Git 个人信息

  1. 设置 Git 的username和email(非第一次可忽略)
1
2
git config --global user.name "your github username"
git config --global user.email "your github email"
  1. 生成秘钥
1
ssh-keygen -t rss -C "your github email"

配置 Deployment

打开_config.yml文件,找到 Deployment,做以下修改:

1
2
3
4
deploy:
type: git
repo: git@github.com:your github username/your github username.github.io.git
branch: master

使用

新建文章:

1
hexo new "new article name"

这条命令相当于hexo new post "new article name"。文章默认以post布局方式生成。生成的文件可在hexo目录下的\hexo\source_posts\new article name.md找到。这时就可以打开编辑器编辑文章,文章编辑好后,便是生成、部署命令:

1
2
hexo g #生成
hexo d #部署

部署成功后访问你的地址:https://yourgithubname,github.io,即可以看到生成的文章。

这里踩了个坑。

在执行hexo d之前需要安装一个扩展:

1
npm install hexo-deploy-git --save

如果没有,会有如下报错:

1
deloyer not found:git

部署到Coding

还没搞。等搞完了再补充。

主题

之前就一直想安装indigo的。但是就在我装Hexo的时候,意外发现了另一款主题:material,两款主题都是我非常喜欢的Material Design(原质化设计)风格/设计规范,这让我犹豫了一天,indigo的主页不如material那么炫酷,而且颜色更鲜艳,我虽然觉得material的主页也不错,但是我个人更喜欢简约朴素一点的色调。而material的文章阅读页面感觉又不如indigo,indigo的右侧有一个TOC的目录列表,个人重度依赖,所以无论是看indigo的博客还是SegmentFault,那里的目录列表深得我心,虽然material的也有,但是被隐藏到了左侧菜单栏按钮下的按钮下,而且样式不如indigo的好看,而且material文章的图片不能像indigo一样点击看大图,这就很难受了。身患选择困难症的在犹豫了一晚上后,还是暂时选择了material。这时我忽然有个想法:把material的主页和indigo的阅读页结合在一起做一个属于自己的主题!诶嘿嘿,又给自己挖了个坑呢,想想就觉得 兴奋 害怕呢!

扩展插件

还没装,先列个列表记下。

域名解析

还没搞。等搞完了再补充。

思路:分别针对国外的访客和国内的访客指向不同的服务器。
1、国内用户:codding
2、国外用户: github

a.第一步购买域名:随便在哪个网站买一个就好了,我是在阿里云购买的6-wz.cn, DNS也是顺道在那买的。
b.第二步添加CNAME:在项目的source文件夹下新建一个名为CNAME的文件,在里面添加你购买的域名,比如我添加的是6-wz.cn,只能添加一个。
c.到DNS中添加一条CNAME记录,解析到yourgithubname.github.io即可。
d.接着再次部署一下,用你购买的域名打开,就可以看到你的博客了。

Hexo常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 清除缓存文件 (db.json) 和已生成的静态文件 (public)。
hexo clean

# hexo 生成
hexo g

#hexo 部署
hexo d

#hexo 启动本地部署
hexo s

#hexo 生成并部署
hexo g -d

#生成新文章
hexo new "new article name"

Hexo常用流

1
2
3
4
5
6
7
8
9
#生成新文章
hexo new "new article name"
#我写啊写

# 清除缓存文件(可省略)
hexo clean

#hexo 生成并部署
hexo g -d