小书童
发布时间

博客搭建之Hexo

作者

Hexo简介

另外Hexo有许多社区提供的:

  • plugins(插件):支持给生成的站点扩展其他能力(例如:评论、文章分类、内容加密、搜索等);
  • themes(主题):支持使用开源主题或者自定义主题来定制页面布局、风格等;

Hexo安装

1. 环境依赖:

  • nodejs(>12.0)
  • git(部署时需要用到)

2. 安装hexo-cli

安装hexo命令工具到全局环境,安装后可以在shell窗口运行hexo命令。

npm install -g hexo-cli
# or
yarn global add hexo-cli

Hexo使用

hexo init demo-folder # 初始化文件夹
cd demo-folder				# 进入文件夹
npm install						# 安装依赖

文件夹的目录:

├── _config.yml			# 配置信息
├── package.json
├── scaffolds				# 模版
├── source					# 资源
|   ├── _drafts				# 草稿
|   └── _posts				# 文章
└── themes					# 主题

部署(先跑起来再回头看配置)

1. 安装 hexo-deployer-git

npm install hexo-deployer-git --save

2. 配置_config.yml

# 发布后的网址
url: http://krdxst.gitee.io/wenju-blog/
# 首页配置
root: /wenju-blog/
# 部署配置
deploy:
  - type: git
    repo: git@github.com:wenjuGao/wenju-blog.git # github
    branch: gh-pages
  - type: git
    repo: git@gitee.com:krdxst/wenju-blog.git # gitee
    branch: ge-pages

3. github配置(访问速度可能会慢)

  1. 新建仓库

  2. 设置Pages

  3. 部署

npm run deploy

注意:

  1. 新建仓库时仓库名需要和用户名保持一致不然可能会发布失败(发布之后可以修改);
  2. root会影响资源加载路径;
  3. 该部分推送可以使用ssh(公钥推送)和https协议推送,shh需要配置公钥,https首次推送时需要提供github/gitee账号密码;

4. gitee配置

  1. 新建仓库

  2. 设置Pages

  3. 部署

npm run deploy

发布后需要手动回到设置Pages页面点击更新。


Hexo配置

详细配置见官方文档

以下枚举下常用配置:

参数描述
title网站标题
subtitle网站副标题
description网站描述
keywords网站的关键词。支持多个关键词
author作者名称
language语言(多语言是会使用到)zh-CN
url网址
root网站根目录
theme主题名称(自定义主题时会用到)
theme_config主题配置
deploy部署配置

Hexo命令

详细命令见官方文档

以下枚举下常用命令:

1. new:创建一个新文章(新建一个markdown文件)

# hexo new [layout] --path [path] --replace [file] --slug [router-name]  <title>
hexo new page  "我的文章"
hexo new page --path about/me "关于我"
hexo new page --slug me-new "文章内容"
参数描述
-p, --path自定义新文章的路径
-r, --replace如果存在同名文章,将其替换
-s, --slug文章的 Slug,作为新文章的文件名和发布后的 URL

2. generate:生成静态文件(将markdown文件生产静态的html文件)

source目录下*posts文件夹之外,开头命名为 * (下划线)的文件、文件夹和隐藏的文件将会被忽略。Markdown 和 HTML 文件会被解析并放到 public 文件夹,而其他文件(图片、字体等其他资源)会被拷贝过去。

hexo generate
# or
hexo g
参数描述
-d, --deploy文件生成后立即部署网站
-w, --watch监视文件变动
-f, --force强制重新生成文件(使用该参数的效果接近 hexo clean && hexo generate)
-c, --concurrency最大同时生成文件的数量,默认无限制

3. publish:发表草稿

hexo publish [layout] filename

4. server:启动本地服务器(开发)

hexo server
参数描述
-p, --port重设端口,默认端口4000
-s, --static只使用静态文件
-l, --log启动日记记录,使用覆盖记录格式

5. deploy:部署

hexo deploy
# or
hexo d
参数描述
-g, --generate部署之前预先生成静态文件