HEXO+Github,搭建属于自己的博客
在搭建之前,大家首先要知道,在你的Github存入和运行的只有纯静态的html以及CSS,JS和资源程序。HEXO的最终仅仅是可以辅助你将对应的MD(MARKDOWN)文件处理成html文件,然后将这些生成的文件部署(Deploy)到Github上。
也就是说如果我们需要更新博客,并不是直接在GITHUB上处理静态页面,而是首先在在本地撰写markdown文件,在本地将markdown 文件放入指定的目录中(一般是_post)中,而后启动HEXO 的generate生成MarkDown对应的HTML文件。生成HTML文件后使用HEXO的server命令在搭建本地运行环境localhost:4000,查看预览效果。确认效果后,使用HEXO的deploy命令发布到Github。
[TOC]
创建仓库
首先你要做的是前往github创建账号,流程很简单。按照页面指示完成就可以了。

创建账户完成后,你就可以前往GITHUB首页进行对应库的创建。

点击New repository 创建新库,注意Repository name 必须是 用户名.github.io。就是$Owner.github.io

创建完成后打开你库名对应的链接,我的就是http://mzenm.github.io,你替换成你自己的链接就好了。你可以看到网站已经有了,但是没有内容。现在就需要进行HEXO来大展伸手。但是在安装HEXO 之前还需要进行一些操作。
准备工作
软件安装和图床
必须要安装git.前往git下载网站,下载对应的Git版本,直接安装即可。
必须安装node ,请前往node网站,下载稳定版本node安装即可。
最好注册七牛云存储,个人账号可以有免费的500M空间来存入一些图片文件或者其他。暂时我正在使用七牛云作为 图床。
设置Github
SSH支持 安装好了git之后,我们就可以在任意文件目录右键git bash 打开bash窗口,bash命令基本与linux下完全相同。首先我们要做的就是添加SSH支持,不用在想Github push或pull时需要额外的输出账号和密码。
创建全局变量用户名和用户邮箱

账号就是你的github owner ,邮箱就是你的github邮箱。
生成SSH密钥
.查看是否已经有了ssh密钥:
1$ cd ~/.ssh如果没有密钥则不会有此文件夹,有则备份删除.
生成密钥:
1$ ssh-keygen -t rsa -C “your.github.account@mail.com”按3个回车,密码为空。
12345//结果Your identification has been saved in ~/.ssh/id_rsa.Your public key has been saved in ~/.ssh/id_rsa.pub.The key fingerprint is:………………12#查看$ cd ~/.ssh && ls最后得到了两个文件:id_rsa和id_rsa.pub
检查ssh agent是否可用
1eval "$(ssh-agent -s)"显示
1Agent pid 13772可用
添加生成的 SSH key 到 ssh-agent。
1ssh-add ~/.ssh/id_rsa在Github中添加公钥


点击 Add SSH key 添加成功
测试SSH可用
1ssh git@github.com这句话出现就表示成功了
1Hi mzenm! You've successfully authenticated, but GitHub does not provide shell access.
前往hexo官方网站,准备安装HEXO

官方快速指引,如果以下任何命令出现问题,请重新按照官方标准指引操作

正式安装HEXO
安装hexo
任意目录打开git bash运行
1npm install hexo-cli -g初始化博客目录
前往你想要使用的任意目录,使用
123456hexo init 你想要的文件夹名称#以下是我的命令cd /ehexo init mzenmcd mzenm 创建一个标准的hexo目录,稍后的所有操作,都由此目录开始。然后使用
123hexo generate或hexo g命令,该命令的作用是将你自己写好的markdown文件,生成为标准的html文件。
html生成成功后,使用
123hexo serve或hexo s命令,启动一个本地的web服务器localhost:4000来查看这些生成的博客页面。

这就是默认生成的html页面。默认主题是landscape,我们可以去官网选择自己喜欢的主题安装。
更换主题
我们前往官网推荐的主题页面theme,选择自己喜欢的主体,点击进入其github主页面。在github主页的README信息中一般都会告诉你如何安装一个新主题。在这里我选择Anatole,预览页面。
前往我们本地的bolg文件夹,就是刚才我们Init创建的那个mzenm目录,运行命令
12cd /e/mzenmgit clone https://github.com/Ben02/hexo-theme-Anatole.git themes/anatole使用git clone对主题文件到/e/mzenm/themes/anatole,如果想要更新主题,直接到anatole目录下运行
1git pull即可。
很多主题的配置需要其他插件的支持,这种情况下,请根据主题作者在Github中的描述自行安装。
Anatole 主题配置 Document
根据文档信息配置完主题后,我们现在就要更换主题了。更换主题很简单,打开/e/mzenm/_config.yml文件 编辑Extension单元中的theme项为你clone的问题的目标文件名称 即themes目录下的文件夹名称,anatole,然后使用
1hexo g重新生成。生成的页面可以使用
1hexo s本地预览。
添加后台插件
前往Hexo官网插件中心,选择适合的插件进行安装后,进行操作,这里我选择安装hexo-admin这样就可以在本地后台直接编辑blog了,相当于给网站增加了一个后台功能。
进入mzenm目录,打开git bash运行
12npm install --save hexo-adminhexo server -d程序将自动安装hexo-admin插件,deploy到本地网站并打开本地网站的后台页面,打开管理后台.剩下你们懂得。
如果未设置deploy部署的目标路径,deploy将自动部署到本地。稍后我们会学习如何部署一个hexo到我们的github博客上去。
让我们开始写博客吧
如何开始写hexo博客呢?方式有多种多样:
- hexo_admin自行编辑
- hexo生成文件后使用markdown文件编辑器
- 使用markdown编辑器后粘贴到hexo_admin后台
使用hexo_admin编辑

因为我们已经使用了hexo_admin插件,我们可以直接前往管理后台管理页面,当然前提是server必须是开启状态的。
使用hexo生成文件
123hexo new "新博客名"成功后返回以下信息INFO Created: E:\mzenm\source\_posts\如何建立一个hexo博客.md然后使用typora或其他软件来编辑改文件,美观好用,支持多平台,就是文件管理做的很一般。
markdown基本的书写规范
Tips 好事情是大部分markdown软件都支持右键插入
#标示标题,几个#号就是几个标题-或*标示无序列表1.标示有序列表12>```java>1234567891011121314151617181920212223242526272829303132333435>>以上形式标示java代码块,其他代码块只需要将java换成php,shell之类的即可。>>`**ss**` 包裹标示加粗,`*`标示倾斜,``包裹标示主要提示。>>- [ ] 使用`- [ ]`标示,但必须放在头部>>`[连接名称](link)`标示超链接>>``标示图片>>`>`标示引用>>`---`标示的水平线>>`|_`先是组成表的一部分,请自行探索吧>>使用`<!-- more -->`可以提取前面的信息为提要>>使用`ctrl + /`在有些软件可以查看markdown的源码>>`$$ $$`双$$包裹的是数学公式。>>`--- --- `包裹的信息放在文档开始作为配置文件出现。## 终于到发布了 经过这么长时间的努力,我们的Mark文件都写好了,本地的样式看上也是美美哒,应该没有问题了吧。那么现在我们要做的就是发布到线上去。```shell$ hexo deploy#或$ hexo d
使用这个命令就可以将hexo发布到github上,前提你配置好了你的发布信息。
打开你本地博客文件的根目录,打开_config.yml文件就可以看到一下代码
|
|
其中Deployment就是配置发布到github的,但是在此之前我们先要安装一个hexo插件来帮助我们发布
|
|
从插件的命名我们就可以知道,这个插件本身就是用来发布到git的。
现在我们修改#Deployment
|
|
这种写法的好处是我们可以同时发布我们的网站到多个git库,比如github或者国内的git。当然这里还有其他人提供的解决方案
|
|
这样写结构更加清晰,但对多网站的发布支持不好。
保存yum文件。让我们开始发布。
如果我们刚刚更换过主题,最好清理原有的生成文件,然后在重新生成,预览后发布。
|
|
查看本地的blog样式和内容 本地路径,如果没有问题,就是用crtl+c命令关闭本地然后,
|
|
发布到Github库。
当然 如果你确定真的没有问题,我们可以在保持现有server的状态下,重新打开一个git bash,使用
|
|
直接发布到网站。现在去你的网站看看吧,哈哈。
注意,页面头部的yum设置莫名其妙喜欢出问题,大家最好还是在admin中处理一下吧!
域名解析可以参考小茗同学的GITHUB博客搭建
