[Web]用Hexo搭建博客的坑

官方文档

Hexo 中文文档(详细介绍了安装,配置):
文档 | Hexo

NexT 中文文档 (详细介绍了第三方插件,主题设置):
主题配置 - NexT 使用文档

主配置

编辑_config.yml文件。yml语法要求非常严格,一定要在等号后加空格,否则会报error。

菜单语言设置

_config.yml中设置,即可把第一语言调节为中文。具体样式可以在/HexoProject/themes/hexo-theme-next/languages里查看/修改。

1
2
3
language: 
- zh-Hans
- en

MathJax

装上LaTex插件后发现很多公式下标都识别错误了,搜了半天得到了官方解释:
MathJax TeX and LaTeX Support

但是官方提供的方法似乎没有效果,又看到MathJax的Git仓库上的issue:
Subscript notation issue #329

恍然大悟,原来这些公式插件都是等Markdown引擎渲染好后才渲染MathBlock的,这样MathBlock中的下划线和反斜杠就会出问题。于是有些地方需要进行转义

  1. begin和end中的 \\ 要转成 \\\\
  2. 给括号的转义也要变成\\{
  3. 给下标的转义要变成\_(每个下划线都要变)

解决之。

代码高亮

默认的主题是白色的。在NexT配置文件下设置
highlight_theme: night bright

默认的代码字体不等宽。在NexT配置文件下设置

1
2
3
codes:
external: true
family: monospace

侧边栏头像

在NexT配置里设置
avatar: /images/avatar.jpeg
为想要的图像文件

发布和CNAME

_config.yml中添加如下字段

1
2
3
4
deploy:
type: git
repo: https://github.com/ChestnutHeng/chestnutheng.github.io
branch: master

repo为自己的仓库。键入hexo d即可发布。

如果想同时发布到coding.net,可以这样写:

1
2
3
4
5
deploy:
type: git
repo:
coding: https://chestnutheng@git.coding.net/ChestnutHeng/ChestnutHeng.git,coding-pages
github: https://github.com/ChestnutHeng/chestnutheng.github.io,master

逗号后面是对应仓库的分支名。

如果要在仓库下加CNAME一起发布,只需把CNAME放到/source下,就会自己复制过去。
如果遇到403错误,请把用户名加在https://后。

对国内外分流后访问速度变快了很多:

图片

分流情况:

图片

不使用主题的渲染

主题的使用会毁坏自己网页的CSS。可以设置来部分跳过渲染:

1
2
3
skip_render:
- gallery/**
- war/**

Hexo issue #1146

编辑主题的CSS

/themes/hexo-theme-next/source/css/_schemes/Mist下有很多样式文件,直接编辑即可。不妨先在页面中找到对应的样式再利用grep搜索样式文件。

写作配置项

每个md的标题必须有配置说明:

1
2
3
4
5
6
7
8
9
10
---
title: '标题'
date: 2015-08-11 23:55
updated: 2015-08-11 23:55
tags: [标签1, 标签2]
categories: // 分类
description: // 主页显示的摘要, 为空主页会加载失败
type: "categories" // 目录页,标签页才加
comments: false // 是否评论
---