HEXO框架撰写博文简单教程

2026-05-10 15:15:0828 阅读量

HEXO框架撰写博文简单教程


之前写在GitHub Pages上,发表于 2017-02-09

前言

过了个年假回来,已经将原本不怎么会的Markdown语法彻底忘掉,这个还好,毕竟资料还算丰富,查阅起来也算方便。但是连HEXO框架发布博文的方式彻底忘掉,连hexo这个关键词都忘得一干二净就比较蛋疼了,毕竟这意味着博文写好了不知道往哪儿存,也不知道如何本地预览、远程发布,这就麻烦了。所以趁这次重学的机会,一并写作文字以备后观,也算是分享学习吧。

HEXO简介

Hexo是一个开源的静态博客生成器,用node.js开发,作者是台湾大学生Tommy351(Tommy Chen,https://zespia.tw/)。

为什么是静态博客

很多人选择在虚拟主机或vps上面搭建动态博客。但是这些主机商通常“免费的不稳定,稳定的不免费”。前一段时间,我观察了我的个人博客友链上面的几个站点,一部分在十几天之后就销声匿迹了。独立博客如此麻烦的维护工作,能不能减轻一些呢?正如阮一峰前辈所说,blogger分为三个阶段。最开始,是门户博客。之后,是独立博客。最后,觉得独立博客自己管理起来费劲,便找个别人来管的空间,自己负责写就好。如果我们能够找到这样的空间,在自己保留最大控制权前提下,由别人托管,会省去不少事情。

HEXO框架撰写博文简单教程

静态博客编译之后是纯html页面,优点就是支持它的环境十分好找,例如github、gitcafe、七牛云存储等站点都支持静态页面托管,自然是我们的首选了。

为什么是HEXO

常用方案有:

  • WorkPress:一般需要独立VPS,对MarkDown不友好,体量太大于个人用户不便
  • GitHubPages + Jekell:免费,稍微有点麻烦
  • GitHubPages + Hexo:免费,使用简单,使用者众多

综上选择了HEXO,再列出HEXO的特点:

  • 安装配置Git、Node.js较简单
  • 支持Markdown文档
  • 配置好后只需专心写Markdown文档,一键生成静态页
  • 静态页支持一键切换主题
  • 一键本地预览、一键远程发布
  • 平台移植性好,兼容Windows、Mac、Linux

0.准备工作预览

  • git
  • node.js
  • github
  • markdown编辑器*
  • 域名*

markdown编辑器是非必须的,只要你熟悉语法,随便一个编辑器来写都不是问题。
域名也是非必须的,gitcafe pages服务提供免费的二级域名。注册域名不是本文重点,这里略过。

1.创建Github仓库

注册Github、创建其仓库较为简单,且不是本文重点,这里略过。但提一点,创建仓库时Repository名必须与Github用户名一致(如有Upper case应全写作lower case),这样这个仓库才能使用Github提供的GitHubPages功能。

2.本地环境准备

安装Git

安装Git不必修改默认配置,一路next即可。这里不再赘述,仅提供链接。
p.s. 为图省事儿,本文只做Windows下安装简要说明。

安装Node.js

Node.js推荐使用LTS(Long Term Support)的版本,这个版本字面意思是提供长久支持,一般是18个月,就像Ubuntu的LTS的版本。除此之外,还有一层意思是一个对老版本支持较好的一个系列,就像MariaDB之于MySQL(MySQL被Michael Widenius卖给了Sun Microsystems,而后者与年被Oracle收购,为规避闭源风险,社区新建一个分支就是MariaDB(Michael Widenius的女儿的名字)了),又像jQuery1.9后分了两个版本。
安装Node.js也不必修改默认配置,一路next即可。这里不再赘述,仅提供链接。

安装HEXO框架

在CMD中输入命令:npm install hexo-cli -g
p.s. HEXO官网有很多详细文档可以借鉴。

创建本地博客环境

用CMD定位到博客本来打算的目录,如D:\Workspace\Blog\
在CMD中输入命令:hexo init soyadokio.github.io
p.s. SoyaDokio是我的用户名,所以这里写作soyadokio

配置主题
  1. 进入官网主题页面选择主题,也可以进入官方Github的主题页选择主题(这两处的主题几乎都是广大HEXO爱好者自制并免费分享的)。
  2. CMD中切入D:\Workspace\Blog\soyadokio.github.io\目录,输入切换主题命令:git clone <repository> themes/<theme-name>,比如我在Github的主题页看中了第一款主题:Ada,点进去发现readme里有其作者放的预览图以及安装、更新、卸载方法,这里只提安装,其命令为:git clone https://github.com/gaoryrt/hexo-theme-pln.git themes/Ada
  3. 修改D:\Workspace\Blog\soyadokio.github.io\目录下的_config.yml文件(建议事先备份,以免改花),将键theme的值改为<theme-name>,比如刚才举例主题是Ada,这里就写theme: Ada(冒号后记得留一个空格)。
  4. 修改该主题的配置文件,路径为:D:\Workspace\Blog\soyadokio.github.io\themes\<theme-name>\_config.yml(其文件名与博客配置文件名相同,勿混淆),具体修改参照每个主题官方Github页面的readme自行配置。

p.s. theme: false时禁用主题

配置博客基本信息

还是修改刚才博客目录下的_config.yml文件,详情参考官方教程,这里只列出必须配置的几项。

参数描述举例
title网站标题SoyaDokio’s Blog
description网站描述<需要SEO的必备,否则随意>
author您的名字SoyaDokio
language网站使用的语言zh-Hans
deploy部署部分的设置<详见下文>

deploy配置说明

deploy:
  type: git # 使用git方式提交
  repo: <repository url> # 存放博客的仓库地址
  branch: [branch] # 分支名称。如果您使用的是 GitHub 或 GitCafe 的话,程序会尝试自动检测。
  message: [message]

比如我的:

deploy:
  type: git
  repo: https://github.com/SoyaDokio/soyadokio.github.io.git
  branch: master

p.s. 官方简中教程不能更详细,配置文件具体改法不再详述。

使用博客

撰写博文

撰写博文并保存格式为md的Markdown文档,存放在D:\Workspace\Blog\soyadokio.github.io\source\_posts\目录(或其子目录,即自定义分类)下。
p.s. 默认有篇HelloWorld的文档

本地部署预览

在CMD中切换到D:\Workspace\Blog\soyadokio.github.io\目录下,输入命令:

hexo clean # 清除已生成文件及缓存
hexo generate # 生成静态页面,简写做hexo g
hexo server # 启动本地WEB服务器,简写做hexo s

然后按照提示在浏览器中访问http://localhost:4000/即可(我这里访问要卡半天,不知何故)。需要停止时只需在命令行输入Ctrl+C强停即可。

p.s. 有时本地部署过于频繁(强停)易导致端口占用,只需换个端口即可,命令:hexo server -p <port>

安装自动部署发布工具

这里使用到了hexo-deployer-git,安装命令:

npm install hexo-deployer-git --save
发布博文

若是在本地预览无误,或是觉得不必预览,在CMD中切换到D:\Workspace\Blog\soyadokio.github.io\目录下,输入命令:

hexo deploy # 启动本地WEB服务器,简写做hexo d

p.s. 第一次部署会要求输入Github用户名密码

每次部署的步骤,可按以下三步来进行:

hexo clean
hexo generate
hexo deploy

其它

创建分类页面

在CMD中切换到D:\Workspace\Blog\soyadokio.github.io\目录下,输入命令以创建分类页(必须使用如下命令创建):

hexo new page categories

然后根据提示找到index.md文档(我的在D:\Blog\soyadokio.github.io\source\categories\index.md),编辑之:

# ---
title: All tags
date: 2016-11-25 15:20:40
# 若将页面的类型设置为 categories,主题将自动为这个页面显示所有分类
# 若将页面的类型设置为 tags,主题将自动为这个页面显示标签云
type: "categories"
comments: false
# ---
注意事项
  1. 关于第三方服务的 ”duoshuo_info“
    在配置该项的时候,user_id 键对应的值不要修改,也就是保持为 0,原因未知,改后页面空白异常。
  2. 特殊字符导致报错
    如添加新博客的时候报错了,而且提示的是 js 中某些地方报错,那么很可能是 md 文件中存在特殊字符(不是正常显示的字符,不是说特殊符号,能正常显示的都不是这里说的特殊字符),把特殊字符删除即可
  3. HEXO命令的常见报错
    参考博文:HEXO+Github,搭建属于自己的博客
  4. 使用HEXO,如果换了电脑怎么找回记录、更新博客?
    知乎上已有详细解答。我觉得高赞第一利用Github的分支来管理的方案很好,不过本地其实也有比较好的方案:用OneDrive等网盘将目录<github-username>.github.io目录随时同步。
  5. HEXO一些常用命令:
hexo new "postName" #新建文章
hexo new page "pageName" #新建页面
hexo generate #生成静态页面至public目录
hexo server #开启预览访问端口(默认端口4000,'ctrl + c'关闭server)
hexo deploy #将.deploy目录部署到GitHub
hexo help  #查看帮助
hexo version  #查看Hexo的版本
  1. 绑定独立域名
    详情参见这篇百度经验

本文地址:https:///news/9_530.html/news/9_5940.html