解决Hexo自动生成大纲紊乱问题

前几天做书单的时候,发现了一个 BUG ,我的 Hexo 使用 NexT 的主题,制作完书单后会自动在侧边栏生成一个大纲(目录),然而生成之后,第一个大类完美符合预期,然而第二、三、四大类则不能做到光标跟随展开,我还发现后面几类的符号和第一类不一样。。

上电报问了 NexT 主题贡献者,有人解答说,这是 Hexo 的 TOC ( Table Of Content ) 的 BUG ,对于不规范的Markdown的标题级数可能会出现紊乱,同时他强调,这可以说是BUG也可以说不是BUG,其实更多的是使用者没有规范 Markdown 的标题层级。对于一个(非常)规范(且 SEO 友好)的层级来说,一个页面应该只有一个 H1(#),通常是大标题(title),正文从 H2 开始。不过因为 H2 太大了我就选择 H3 开始,下一个紧接 H5,结果就出了BUG了。

那人强调了必须从 H1/2 开始,不能从 H3 开始,然后给了我两个示例,表示 H5 后面不能跟 H3,然而我对照了一下,正确的示例里也有 H5 紧跟 H3,而且我觉得这是合理的,因为一个大分类中的所有小分类做好了,自然就要切到下一个大分类了。

然后我仔细对照然后多次尝试发现,问题出在 H3 后面直接接上 H5 然后下面再次出现 H5. 当初我这么做是因为第一大类分了两小类,后面因为名目较少所以不分小类了,依然和第一大类的名目同层次,这样就出了BUG,于是我不得不给后面几个大类都加上小类。

综上,遇到Hexo的层次分类BUG,请确定层次都是连续的!也就是说,H2 后面不能直接跟 H4,同理,H3 后面不能直接跟 H5,以此类推