本文介绍 hexo 博客的安装部署、常用命令、经验,以及可能会用上的参考链接,总之,参照本文,你就可以自己搭建免费的个人博客了。

环境准备

node

点击进入 Node.js 下载页面,建议下载长期维护版本,可以少踩坑。

cnpm

  • 淘宝 NPM 镜像官网
  • 推荐直接用以个命令安装使用,安装之后,以后的命令就可以将需要用到 npm 的地方直接用 cnpm 代替了,下载依赖的速度会快很多。
    1
    npm install -g cnpm --registry=https://registry.npm.taobao.org

安装 hexo

1
cnpm i hexo-cli -g

参考官网 hexo 教程初始化一个 demo

官方文档

hexo 常用命令

进入项目所在目录

  1. 用 hexo 命令之前,需要先下载依赖

    1
    cnpm i
  2. 编译

    1
    hexo g
  3. 启动本地服务,用于查看博客效果

    1
    hexo s
  4. 部署

    1
    hexo d
  5. 清除缓存文件 (db.json) 和已生成的静态文件 (public)

    1
    hexo clean

主题依赖及相关设置

主题用到的依赖安装

1
2
3
4
5
npm install hexo-renderer-less --save
npm install hexo-generator-feed --save
npm install hexo-generator-json-content --save
npm install hexo-helper-qrcode --save
npm install hexo-deployer-git --save

开启【标签】页

对应左侧菜单【标签】,如果不设置,点击会提示无法找到页面

1
hexo new page tags

修改 根目录/source/tags/index.md 的元数据

1
2
3
layout: tags
comments: false
---

开启【分类】页

对应左侧菜单【分类】,如果不设置,点击会提示无法找到页面

1
hexo new page categories

修改 根目录/source/categories/index.md 的元数据

1
2
3
layout: categories
comments: false
---

设置

  1. 博客全局设置,参见根目录下的文件:_config.yml
  2. 主题设置,参见:themes/_config.yml

利用 gitee pages 制作静态网站

只需要将静态文件上传至目录 thems/source/ 即可。该目录下的文件会被当成静态资源文件直接上传,上传之后可直接访问。

遇到的问题

Local hexo not found

1
2
3
C:\workspace\elsafly>hexo g
ERROR Local hexo not found in C:\workspace\elsafly
ERROR Try running: 'npm install hexo --save'

删除目录 node_modules,重新下载依赖

1
cnpm i

经验

主题左则邮箱设置

主题模板设置:themes/_config.yml -> email 项,如果空着,即不设置的话,左则菜单【主页】这两个字前面会有一个换行,所以,建议设置一下。

评论系统

开通之后,很久都没人评价,然后自己度娘了一下几篇博文,没有搜索到,自己又没有做推广,所以我后来都关闭了。

统计

一开始没加任何统计,在 2019年3月6日,添加了不蒜子的访问统计。

推广

可结合自己的域名来做博客推广。

hexo seo 设置

参考
根目录文件:_config.yml

1
2
3
4
5
6
7
title: your title
subtitle: your subtitle
description: your description
keywords: your keywords # 该项没有默认配置,官网的配置文档也没有提到,实际上,这是需要的,不设置的话,在站长工具里查出来的值是 undefined,不利于网站被各大搜索引擎收录。
author: your name
email: your email
url: your site url

显示摘要

在文章内容添加一行

1
<!-- more -->

在该行前面的即为摘要,后面的内容,需要点击【阅读更多】进入文章页面才能看到。

如果不添加 more,要视配置文件的 excerpt_render 项(在 themes 下,主题目录下的 _config.yml 文件中定义的)

- 在 excerpt_render 为 false 的情况下,则会根据配置项 excerpt_length 的值,会在主页截取前面的字符当成摘要,这种效果不是很好,不建议。
- 在 excerpt_render 为 true 的情况下,会在主页直接渲染整篇文章,也不推荐。

我的做法是,excerpt_render 设置为 true,每篇文章都添加 <!-- more -->,如果实在觉得标题就已经够清楚,不用再写摘要,那就写成这样(大笑的表情):

1
2
如题
<!-- more -->

参考

Hexo + gitee 免费个人博客搭建教程

  1. 参考链接
  2. 推荐一个主题的文档
  3. 主题安装
  4. 主题配置

Node.js 安装配置

  1. 安装教程
  2. Node.js安装包及源码下载地址
  3. Hexo 命令行
  4. Hexo 命令行

接入评论系统,可能会用到的链接

  1. 畅言
  2. 畅言 index
  3. 在Hexo中使用畅言评论系统
  4. 在hexo中添加畅言热评文章边栏

支持数学公式

在Hexo中渲染MathJax数学公式