一、搭建hexo

1、安装git

下载地址

安装好后,用git --version 来查看一下版本

2、安装nodejs

下载地址

安装完后,打开命令行

1
2
node -v
npm -v

检查一下有没有安装成功

3、安装hexo

1.桌面,右键打开git bash,打开命令提示符

2.切换至国内高速NPM镜像源是一个不错的选择。例如使用淘宝NPM镜像

1
npm config set registry https://registry.npmmirror.com

3.输入以下命令并回车,这个命令是在你的系统上全局安装hexo的命令。

1
npm install -g hexo-cli

4.查看hexo是否安装成功

1
hexo -version

4、下载做好的网站提示未找到hexo模板

1
rm -rf node_modules && npm install --force

从GitHub下载下来的模板

5、初始化你的博客

1.在你要存放的文件夹中,输入初始化命令,后面是网站名(随便取)

1
hexo init cxyo

2.进入刚刚你创建的文件夹里,安装必要的依赖包

1
2
cd cxyo
npm install

新建完成后,指定文件夹目录下有:

  • node_modules: 依赖包

  • public:存放生成的页面

  • scaffolds:生成文章的一些模板

  • source:用来存放你的文章

  • themes:主题

  • _config.yml: 博客的配置文件

6、清除缓存

1
hexo c

7、生成静态文件

1
hexo g

8、启动hexo服务器

1
hexo server

9、部署网站到git

1
hexo d

二、github page

1、创建仓库

注册完登录后,在GitHub.com中看到一个New repository,新建仓库。

创建一个和你用户名相同的仓库,后面加.github.io,只有这样,将来要部署到GitHub page的时候,才会被识别,也就是xxxx.github.io,其中xxx就是你注册GitHub的用户名。

2、生成SHH

回到你的git bash中,

1
2
git config --global user.name "yourname"
git config --global user.email "youremail"

这里的yourname输入你的GitHub用户名,youremail输入你GitHub的邮箱。这样GitHub才能知道你是不是对应它的账户。

可以用以下两条,检查一下你有没有输对

1
2
git config user.name
git config user.email

然后创建SSH,一路回车

1
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中,查看是否成功

1
ssh -T git@github.com

3、将hexo部署到github

这一步,我们就可以将hexo和GitHub关联起来,也就是将hexo生成的文章部署到GitHub上,打开站点配置文件 _config.yml,翻到最后,修改为
YourgithubName就是你的GitHub账户

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

这个时候需要先安装deploy-git ,也就是部署的命令,这样你才能用命令部署到GitHub。

1
npm install hexo-deployer-git --save

然后

1
2
3
hexo clean
hexo generate
hexo deploy

其中 hexo clean清除了你之前生成的东西,也可以不加。

hexo generate 顾名思义,生成静态文章,可以用 hexo g缩写

hexo deploy 部署文章,可以用hexo d缩写

注意deploy时可能要你输入username和password。

过一会儿就可以在http://yourname.github.io 这个网站看到你的博客了!!

4、设置个人域名

在域名控制台中,点解析进去,添加解析。

其中,192.30.252.153 和 192.30.252.154 是GitHub的服务器地址。

登录GitHub,进入之前创建的仓库,点击settings,设置Custom domain,输入你的域名cxyo.cn

拉到最下面

然后在你的博客文件source中创建一个名为CNAME文件,不要后缀。写上你的域名。

最后,在gitbash中,输入

1
2
3
hexo clean
hexo g
hexo d

过不了多久,再打开你的浏览器,输入你自己的域名,就可以看到搭建的网站啦!

接下来你就可以正式开始写文章了。

1
hexo new newpapername

然后在source/_post中打开markdown文件,就可以开始编辑了。当你写完的时候,再

1
2
3
hexo clean
hexo g
hexo d

就可以看到更新了。

5、发布文章

三、更换主题

1、下载主题

1
git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly

2、应用主题

修改hexo根目录下的_config.yml,把主题改成butterfly

3、安装插件

1
npm install hexo-renderer-pug hexo-renderer-stylus --save

为了减少升级主题后带来的不便,请使用以下方法(建议,可以不做)。

在 hexo 的根目录创建一个文件 _config.butterfly.yml,并把主题目录的 _config.yml 内容复製到 _config.butterfly.yml 去。( 注意: 复製的是主题的 _config.yml ,而不是 hexo 的 _config.yml)

注意: 不要把主题目录的 _config.yml 删掉

注意: 以后只需要在 _config.butterfly.yml进行配置就行。

如果使用了 _config.butterfly.yml, 配置主题的 _config.yml 将不会有效果。

Hexo会自动合併主题中的_config.yml和 _config.butterfly.yml里的配置,如果存在同名配置,会使用_config.butterfly.yml的配置,其优先度较高。

四、基本配置

在文件根目录下的_config.yml,就是整个hexo框架的配置文件了。可以在里面修改大部分的配置。详细可参考官方的配置描述。

网站

参数 描述
title 网站标题
subtitle 网站副标题
description 网站描述
author 您的名字
language 网站使用的语言
timezone 网站时区。Hexo 默认使用您电脑的时区。时区列表。比如说:America/New_York, Japan, 和 UTC

其中,description主要用于SEO,告诉搜索引擎一个关于您站点的简单描述,通常建议在其中包含您网站的关键词。author参数用于主题显示文章的作者。

网址

参数 描述
url 网址
root 网站根目录
permalink 文章的 永久链接 格式
permalink_defaults 永久链接中各部分的默认值

在这里,你需要把url改成你的网站域名。

permalink,也就是你生成某个文章时的那个链接格式。

比如我新建一个文章叫temp.md,那么这个时候他自动生成的地址就是http://yoursite.com/2018/09/05/temp

以下是官方给出的示例,关于链接的变量还有很多,需要的可以去官网上查找 永久链接

参数 结果
:year/:month/:day/:title/ 2013/07/14/hello-world
:year-:month-:day-:title.html 2013-07-14-hello-world.html
:category/:title foo/bar/hello-world

再往下翻,中间这些都默认就好了。

1
2
3
4
5
6
7
8
theme: landscape

# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo: <repository url>
branch: [branch]

theme就是选择什么主题,也就是在theme这个文件夹下,在官网上有很多个主题,默认给你安装的是lanscape这个主题。当你需要更换主题时,在官网上下载,把主题的文件放在theme文件夹下,再修改这个参数就可以了。

接下来这个deploy就是网站的部署的,repo就是仓库(Repository)的简写。branch选择仓库的哪个分支。这个在之前进行github page部署的时候已经修改过了,不再赘述。而这个在后面进行双平台部署的时候会再次用到。

Front-matter

Front-matter 是文件最上方以 --- 分隔的区域,用于指定个别文件的变量,举例来说:

1
2
3
title: Hello World
date: 2013/7/13 20:46:25
---

下是预先定义的参数,您可在模板中使用这些参数值并加以利用。

参数 描述
layout 布局
title 标题
date 建立日期
updated 更新日期
comments 开启文章的评论功能
tags 标签(不适用于分页)
categories 分类(不适用于分页)
permalink 覆盖文章网址

其中,分类和标签需要区别一下,分类具有顺序性和层次性,也就是说 Foo, Bar 不等于 Bar, Foo;而标签没有顺序和层次。

1
2
3
4
5
categories:
- Diary
tags:
- PS3
- Games

layout(布局)

当你每一次使用代码

1
hexo new paper

它其实默认使用的是post这个布局,也就是在source文件夹下的_post里面。

Hexo 有三种默认布局:postpagedraft,它们分别对应不同的路径,而您自定义的其他布局和 post 相同,都将储存到 source/_posts 文件夹。

布局 路径
post source/_posts
page source
draft source/_drafts

而new这个命令其实是:

1
hexo new [layout] <title>

只不过这个layout默认是post罢了。

page

如果你想另起一页,那么可以使用

1
hexo new page board

系统会自动给你在source文件夹下创建一个board文件夹,以及board文件夹中的index.md,这样你访问的board对应的链接就是http://xxx.xxx/board

draft

draft是草稿的意思,也就是你如果想写文章,又不希望被看到,那么可以

1
hexo new draft newpage

这样会在source/_draft中新建一个newpage.md文件,如果你的草稿文件写的过程中,想要预览一下,那么可以使用

1
hexo server --draft

在本地端口中开启服务预览。

如果你的草稿文件写完了,想要发表到post中,

1
hexo publish draft newpage

就会自动把newpage.md发送到post中。