博客搭建导航

目录跳转异常

一级标题跳转异常

  网页中点击一级标题无法正常跳转。这种情况偶尔会出现,bug 原因未知。

文章内标题跳转异常

  问题描述:我们知道在超链接后面添加 #标题内容 可以跳转到网页指定标题,但是如果标题包含数字和字母时,虽然仍然可以跳转到指定网页,但是无法正常跳转到指定标题下。这种情况偶尔会出现,bug 原因未知。

1
2
3
4
5
标题为纯中文正常跳转:[数学导航](./20240210a.html#协方差)

标题含数字不可正常跳转:[文章导航总览](./20240221a.html#2024年2月)

标题含英文不可正常跳转:[博客搭建导航](./20240221c.html#bug汇总)

标题为纯中文正常跳转:数学导航

标题含数字不可正常跳转:文章导航总览

标题含英文不可正常跳转:博客搭建导航

公式

  hexo在渲染公式时出现了如下错误:

独立公式渲染错误

公式不分行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$$
\begin{aligned}
\rho_{XY}
&= \frac{\sum_{i=1}^n \left[
\frac{\left( x_i - \overline{x} \right)}
{\overline{x}} \cdot
\frac{\left(y_i - \overline{y} \right)}
{\overline{y}} \right]
}
{n} \\
&= \frac{Cov \left( X,Y \right)}
{\overline{x} \cdot \overline{y}} \\
\end{aligned}
$$

公式不渲染

1
2
3
4
5
6
7
8
9
10
11
12
$$
C =(c_{ij})_{n \times n}
=\begin{pmatrix}
c_{11} & c_{12} & \ldots & c_{1n} \\
c_{21} & c_{22} & \ldots & c_{2n} \\
\cdot & \cdot & & \cdot \\
\cdot & \cdot & & \cdot \\
\cdot & \cdot & & \cdot \\
\cdot & \cdot & & \cdot \\
c_{n1} & c_{n2} & \ldots & c_{nn}
\end{pmatrix}
$$

嵌入公式渲染错误

公式渲染范围错误

1
$X = ( X_{1}, X_{2}, \ldots, X_{n})^{T}$ 为 $n$

  不是所有公式渲染错误。而且独立公式渲染错误嵌入公式渲染错误不同时出现,会出现一种。当增加或者减少 $ 和中文汉字之间的空格后,这两种错误都出现过。

解决方法

  参考教程:Hexo显示Latex公式最新解决方案

公式渲染错误解决方法

卸载hexo-math:

1
npm un hexo-math

卸载hexo-renderer-marked:

1
npm un hexo-renderer-marked

安装hexo-renderer-pandoc渲染器:

1
npm i hexo-renderer-pandoc

安装后一定要重启 VSCode 软件,然后重新生成网页,发现错误没变😂,在终端中还出现了新的错误:

1
pandoc exited with code null.

这个显示没有 pandoc,所以我们要在本地安装 pandoc。在pandoc官网中下载并安装 pandoc。我安装的是 3.1.9 版本的,安装好以后不用额外操作。安装后一定要重启VSCode,输入命令:

1
pandoc -v

显示结果如下,说明安装正确:

1
pandoc.exe 3.1.9

然后重新生成网页后,公式渲染正常。OK!

  偶尔还是有渲染失败,不要灰心,重启VSCode,重新生成一遍。OK!pandoc永远的神!

总结

  默认的公式渲染器 hexo-math 和 hexo-renderer-marked 不好用,hexo-renderer-pandoc 渲染器好用。

移动端公式渲染错误

  参数 equation 会对公式自动编号,电脑端显示正常,手机端显示异常,并可能导致手机端的网页严重发热。原因是因为编号会自动在公式所在行的最右侧,而手机端长公式无法显示完全,导致原本网页渲染的宽度和公式编号的渲染宽度相互冲突。所以解决办法是不使用公式自动编号。

1
2
3
4
5
$$
\begin{equation}
\mathrm{Cov}(a \cdot X,b \cdot Y) = a \cdot b \cdot \mathrm{Cov}(X,Y),\quad(a,b\text{是常数})
\end{equation}
$$

1
2
3
$$
\mathrm{Cov}(a \cdot X,b \cdot Y) = a \cdot b \cdot \mathrm{Cov}(X,Y),\quad(a,b\text{是常数})
$$

文章渲染错误

  生成的网页传到云端服务器,或启用本地服务,特定网页渲染可能出现异常。原网页为:Markdown语法(二):Butterfly外挂标签,异常内容为butterfly的tab分栏标签:

butterfly的tab分栏标签异常

解决方法

  有时能生成正常的网页,此时你要单独备份正常的网页。将正常的网页替换掉错误的网页。云端服务器可以,本地服务器需要额外添加参数,只使用静态文件启动本地服务:

1
hexo s -s

  上述方法已经舍弃,因为操作麻烦,修改也很不人性化。改变这种现状的方法是如下。

修改 bug

  启动本地服务后,进入浏览器网址:http://localhost:4000/ ,键入 F12,依次修补 bug。

markdown 插入 Html 元素

  Hexo 容易重复渲染造成错误。解决办法:引入 raw 标签:

1
2
3
{% raw %}
Html 元素
{% endraw %}

在该标签内,所有元素会保留不再渲染,并保留 Html 元素。