Hexo,一个快速、简洁且高效的博客框架,Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。只需一条指令即可部署到 GitHub Pages, Heroku 或其他网站。Hexo 支持 GitHub Flavored Markdown 的所有功能,甚至可以整合 Octopress 的大多数插件。Hexo 拥有强大的插件系统,安装插件可以让 Hexo 支持 Jade, CoffeeScript。
[TOC]
一、环境准备
安装nvm
安装nodejs
安装git
申请github账号
- 新建仓库 name.github.io(name与账号同名)
- 配置ssh本地免密码推送
nvm安装备忘
nvm全名node.js version management,顾名思义是一个nodejs的版本管理工具。通过它可以安装和切换不同版本的nodejs。
1 | https://github.com/coreybutler/nvm-windows/releases |
1 | 乱码(exit status 145):安装路径不能有空格和中文,且必须在根目录下 |
二、安装hexo
1、切换npm源
npm config set registry https://registry.npm.taobao.org
2、安装hexo
npm install -g hexo
3、设置windows的path路径
找到刚刚npm安装完成的hexo路径,有如下的文件:
- hexo
- hexo.cmd
右击 电脑_>属性->高级系统设置->环境变量(N)…->系统变量(S)-> 双击path添加路径hexo命令的路径地址如:我的地址为:D:\runtime\nodejs\node_data\node_global
# 测试,是否成功。执行这条命令不报commond not found即可
hexo -v
4、初始化hexo
mkdir hexo_test
cd hexo_test
hexo init
5、安装hexo依赖包
npm install
6、生成、启动服务
hexo generate
hexo server# Debug方式启动本地服务
hexo s –debug
7、查看hexo是否安装成功
三、完整搭建过程【github + 独立域名】
1、本地初始化hexo环境
1 | mkdir hexo_blog |
2、github配置
新建仓库
登陆github,单击+号创建新仓库,比较重要两点是:
Repository name必须以github.io结尾;
前缀必须与Owner一致,owner.github.io
举例:我的https://github.com/fbli对应的仓库名称为fbli.github.io
本地免密码提交git设置
默认情况下,每次推送hexo动态生成的静态页面到刚刚创建的github仓库时需要输入用户名/密码,但是可以通过本地生成密钥的方式来实现免密码推送,且更安全。只要将本地生成的公钥保存到github即可,具体实现步骤如下:
本地生成rsa
1 | 输入如下命令,一路回车即可 |
windows默认会再c:/Users/Administrator/.ssh/文件夹中生成三个文件(Administrator是你的账户名)
- known_hosts
- id_rsa # 私钥
- id_rsa.pub # 公钥 需要保存至github
github保存ssh key
单击头像->settings->SSH keys and GPG keys->SSH keys_单击[new SSH keys] 添加id_rsa.pub公钥的文本内容
3、hexo配置_config.yml
比较关键的是# Deployment那处需要跟自己的github新创建的repository对应起来。其他更详细的配置可以参照官网API
1 | # Site |
4、域名绑定
1、 新建CNAME文件,放到hexo_blog\source\下,内容为不带www的域名如:ezsay.cn
2、 配置域名解析
CNAME www fbli.github.io
CNAME @ fbli.github.io
问题:能转向github,但是显示404。初次发布后,停10分钟再试,githubPages需要一定的时间
5、发布到git上
1 | 发布到git上 |
6、访问跟刚才仓库名一致的域名即可看到自己的博客了
7、个性化-更换主题
yilia主题在github上搜索hexo themes排名第二[201705]有如下特点:
优点:
- 看着自然舒服
- 没有花里胡哨的效果
- 文章的tag效果漂亮
缺点:
- 无站内全文搜索
- 无文章目录导航
- 菜单单调没法加图标
- 字体中规中矩不够骚
- 【所有文章】背景字体配搭模糊不清
- 友情链接很丑
- more处理的感觉有点别扭
- markdown的列表与上面一行的距离太长,效果很差
1 | 更换主题前必须clean |
四、Hexo常用命令汇总
1 | hexo new "postName" #新建文章 |
Hexo命令简写
1 | hexo n == hexo new |
博客搭建软件环境版本
环境 | 版本 |
---|---|
node | v6.10.2 |
npm | 3.10.10 |
hexo | 3.3.1 |
git | 2.10.2.windows.1 |
os | win10 |
yilia | 未知 |
更详细的配置信息
1 | hexo: 3.3.1 |
后记:踩过的坑
1、hexo g 生成不了
git clone的默认主题文件夹名需要改成跟主题设置那一致否则命令报错生成不了。如:hexo-theme-yilia变更为yilia
2、hexo d 发布不成功
配置了ssh,但是发布不成功,尝试本地随意找个文件夹用命令方式git clone一下自己刚刚创建的仓库fbli.github.io 成功后,再尝试hexo d发布
3、单击【所有文章】提示缺失模块 TODO
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content –save
3、在根目录_config.yml里添加配置:……
按提示操作后,发现并未解决
最后直接用yilia主题作者博客备份的hexo配置的_config.yml改了一下才好的
附录
常用网址备忘
nodejs https://nodejs.org/en/ http://nodejs.cn/
github pages https://pages.github.com/
hexo https://hexo.io/
hexo API https://hexo.io/zh-cn/docs/
主题
https://hexo.io/themes/
正在使用的主题
https://github.com/litten/hexo-theme-yilia
http://litten.me/
github加星最多的主题 github.com 搜索【hexo theme】
http://theme-next.iissnan.com/getting-started.html
Markdown编辑器
markdown推荐编辑器(支持mac windows linux) https://www.typora.io](https://www.typora.io/)