文章前言
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
文章概述
本篇文章记录,用github和hexo结合,搭建免费个人博客。
关键词简介
Hexo
Hexo 是一个基于 Nodejs 的静态博客网站生成器,作者是来自台湾的 Tommy Chen(https://zespia.tw/)。
博客搭建步骤
1、创建Github项目
github->create new respository->项目名称:xxx(用户名).github.io
2、安装 Git
3、安装 Nodejs(最好选择官方推荐版本进行下载安装)
4、安装 Hexo
hexo官网首页复制安装命令,打开git bash命令行工具,输入以下命令安装hexo:
1 | $ npm install hexo-cli -g |
5、初始化本地博客
输入创建命令创建并初始化本地博客:
1 | $ hexo init 用户名.github.io // 建议和创建仓库时使用同一个 |
6、安装Next博客主题
注:经过上面步骤创建完本地博客之后,基本的博客系统就已经搭建好了,自带了 landscape 主题。
默认的主题此处不做介绍,这里我们使用Next主题,Next是 iissnan 在 GitHub 上开源的一个 Hexo 主题,主打简洁。
命令行工具定位到xxx.github.io本地目录,执行以下命令安装next主题:
1 | $ git clone https://github.com/iissnan/hexo-theme-next themes/next |
下载好了next主题到themes目录下,做好备份,接下来我们就直接配置_config.yml主题文件。
7、修改配置文件相关配置,本地预览配置效果
注: 这里修改博客根目录xxx.github.io目录和主题目录themes/next目录下的_config.yml配置文件,一定注意,==属性和值之间一定要有一个空格==。
【站点配置文件】(博客根目录下的_config.yml)基本项修改
基础的配置,也就是必须要改动的配置如下:
1 | title: xxx # 博客的名字,也称站点名称 |
站点配置文件详细配置示例
1 | # Hexo Configuration |
到这里,我们的博客基本可以在本地预览了,下面来看看效果:
输入以下命令,启动本地预览服务1
$ hexo server
根据命令行提示,在浏览器输入预览地址(http://localhost:4000/),查看效果。
【Next主题配置】
Next主题配置文件“,位于 xxx.github.io/themes/next 目录下,文件名为 _config.yml。
详细配置见next官网,一下是基本的配置:
1 | # Set default keywords (Use a comma to separate) |
提示:创建如分类、标签等索引,必须使用创建命令进行创建,否则报404,分类和
标签索引是由主题根据文章的头属性设置来自动维护。
8、MarkDown写博客文章注意
写*.md格式的博客文章,需要在文章头加类似如下设置,next主题才会自动对文章进行分类:
1 | --- |
9、本地运行预览服务,查看效果
git bash定位到xxx.github.io文件夹根目录,输入以下命令启动本地预览服务器:
1 | $ hexo s |
在浏览器中输入以下地址,查看效果:
10、生成博客并部署到远程GitHubPage上
安装hexo自动部署工具
使用如下命令进行安装
1 | $ npm install hexo-deployer-git --save |
发布到GitHubPages
方法一:依次执行如下命令来发布博客:
1 | $ hexo clean #清除缓存 网页正常情况下可以忽略此条命令 |
方法二:也可一行命令完成发布:
1 | $ hexo clean && hexo g && hexo d |
不同电脑上更新博客问题
我的方法是:将xxx.github.io文件夹内更改的文件备份到github上,在另一台电脑上下载更改的配置文件,
按以上步骤配置好本地博客环境,将下载的文件覆盖到xxx.github.io文件夹中即可。
将域名绑定到github pages 博客上
- 在xxx.github.io仓库根目录下添加一个CNAM文件,没有后缀名,里面内容为你的域名(如:test.com),不需要添加http/www等前缀。
ping xxx.github.io记录下IP地址:
1 | $ ping username.github.io |
- 阿里云购买域名解析如下:

解析属性设置:
- 方法一:记录类型选CNAME类型,添加两个主机记录分别是@和www,记录值填写博客地址(推荐)。
- 方法二:记录类型选A类型,添加两个主机记录分别是@和www,记录值填写上一步ping出来的博客ip地址。
hexo部署博客常用命令
- 创建新的索引页面
案例1:创建分类页面
1 | $ hexo new page categories |
案例2:创建标签页面1
$ hexo new page "tags"
More info: Writing
- 启动本地预览服务
1 | $ hexo server |
More info: Server
- 生成静态网页文件
1 | $ hexo generate |
More info: Generating
- 部署到远程
1 | $ hexo deploy |
More info: Deployment
- 一行命令实现博客的部署:clean,generate,deploy
1 | $ hexo clean && hexo g && hexo d |
发布博客常见问题
用户名密码问题
问题描述:
执行如下命令:1
$ hexo d
报错
1 | //... |
原因:应该是用户名和密码没有的问题?
解决办法
修改配置文件:根目录下的_config.yml,修改deploy节点。
原来的配置为:
1 | deploy: |
修改为如下:
1 | deploy: |
