hexo github 搭建博客

这里主要分享,基于hexo和github搭建博客的过程,避免采坑。

hexo

源码地址: https://github.com/hexojs/hexo

安装

$ npm install hexo-cli -g

常用命令

详见:https://hexo.io/docs/commands

hexo init # 初始化项目
hexo g # hexo generate 的缩写 构建静态文件
hexo s # hexo server 的缩写 启动服务
hexo help # 查看帮助
hexo version # 查看版本
hexo new [layout] <title> # 创建文章
hexo d # deploy 配合发布脚本发布项目

部分配置

_config.yml中部分配置

# Site
title:                  # 博客名称
subtitle:               # 博客子标题
description:            # 作者描述
keywords:               # 站点关键词,用于搜索优化
author:                 # 博主名
language: zh-CN         # 站点语言
timezone: Asia/Shanghai # 时区

# Directory
public_dir: ./ # 如果当前项目直接提交github,可以考虑改成这样,让index.html直接在根目录

服务启动

正常来说,配置校验成功后输出如下

INFO Validating config
INFO ==================================
  ███╗   ██╗███████╗██╗  ██╗████████╗
  ████╗  ██║██╔════╝╚██╗██╔╝╚══██╔══╝
  ██╔██╗ ██║█████╗   ╚███╔╝    ██║
  ██║╚██╗██║██╔══╝   ██╔██╗    ██║
  ██║ ╚████║███████╗██╔╝ ██╗   ██║
  ╚═╝  ╚═══╝╚══════╝╚═╝  ╚═╝   ╚═╝
========================================
NexT version 8.9.0
Documentation: https://theme-next.js.org
========================================
INFO Start processing
INFO Hexo is running at http://localhost:4000/ . Press Ctrl+C to stop.

缓存清理

使用过程中,有时候发现文章回退了内容,但是生成的还是之前的内容。主要是因为db.json数据问题,删除此文件重新进行操作即可。

主题设置

本文主要使用的hexo主题为hexo-theme-next

主题安装

主题地址

设置主题,修改_config.yml

theme: next

拷贝主题配置,由于我是新版,使用如下命令

cp node_modules/hexo-theme-next/_config.yml _config.next.yml

老版的拷贝方式如下:

cp themes/next/_config.yml _config.next.yml

切换Scheme

Scheme 是 NexT 提供的一种特性,借助于 Scheme,NexT 为你提供多种不同的外观。同时,几乎所有的配置都可以 在 Scheme 之间共用。目前 NexT 支持以下 Scheme:

  • Muse - 默认 Scheme,这是 NexT 最初的版本,黑白主调,大量留白
  • Mist - Muse 的紧凑版本,整洁有序的单栏外观
  • Pisces - 双栏 Scheme,小家碧玉似的清新
  • Gemini - 左侧网站信息及目录,块+片段结构布局

修改_config.next.yml,我目前使用Gemini

scheme: Gemini

菜单设置

修改_config.next.yml内容,||前面为对应路径,后面为设置的icon

menu:
  home: / || fa fa-home
  about: /about/ || fa fa-user
  tags: /tags/ || fa fa-tags
  categories: /categories/ || fa fa-th
  archives: /archives/ || fa fa-archive
  # schedule: /schedule/ || fa fa-calendar
  # sitemap: /sitemap.xml || fa fa-sitemap
  # commonweal: /404/ || fa fa-heartbeat

搜索插件

插件源码地址:https://github.com/wzpan/hexo-generator-search

安装

$ npm install hexo-generator-search --save

配置

_config.yml中加入

search:
  path: search.xml
  field: post
  content: true
  template: ./search.xml

修改_config.next.yml

local_search:
  enable: true

seo插件

插件源码地址:

安装

$ npm install hexo-generator-feed --save