尝试在hexo上进行latex渲染遇到的坑

尝试在hexo上进行latex渲染遇到的坑

自顺利在hexo上安装插件渲染出思维导图后,我有点飘了,正好遇到在写文章时遇到一个地方要写上下标,于是就在想,能不能在hexo上渲染出latex呢?

在查阅了一些文章后,我信心满满的按照教程开始了安装,然而在白费了4个小时后,踩了无数个坑后,我彻底被弄怕了,到最后也没安装成功,老老实实用html方式写上下标。。。。

想象中

在查阅多篇文章后,我发现在hexo里进行latex通常有两种方式

  1. 安装hexo-math插件
    • 要更改配置文件
  2. 更换hexo渲染方式

我选择了自认为最稳妥的方式进行安装:更换渲染方式,想象中应该是一帆风顺,实在不行再用第一种方式改下配置文件,最多半小时搞定!完美!

实际上

the first turn

一开始根据https://cps.ninja/2019/03/16/hexo-with-latex/ 这篇教程进行了安装,虽然这篇教程也使用了插件。。

第一个问题

hexo-math插件安装了之后连hexo clean都执行不了,报错init命令找不到什么的,无奈,只能把这个插件又卸了。

第二个问题

卸载了插件后hexo clean能用了,但是hexo g报错echart.js里面有一个语法错误什么的,起初我以为这是使用的渲染引擎与主题不兼容导致的问题,但后面发现在安装hexo-math后使用hexo g失败后,即使把hexo-math卸掉,再次进行hexo g还是会出现一样的报错,让人悲伤。

最后使用了版本回退,hexo g重新能用后结束了第一回合

the second turn

在第二回合中参考的是这篇文章 http://shomy.top/2016/10/22/hexo-markdown-mathjax/,与之前的主要区别是更换了渲染引擎

惨败

Pandoc貌似与markdown有一些语法不兼容,安装Pandoc后执行hexo g文章全部报错渲染失败,无奈,只能又把引擎卸了


在上面两个回合后,已经消耗了3个多小时,我已经萌生退意,但我还是不甘心啊,想了想还是觉得要把hexo-math插件装上,这样成功的可能性大一点,看报错感觉可能是npm或者hexo版本太低导致的,于是更新了一波版本,重新安装了hexo-math摩拳擦掌再次尝试了hexo g,结果还是一模一样的报错,在我放弃挣扎准备跑路清理现场时,发现即使版本回退再次使用hexo g还是会有一样的报错!天塌了!!!!!

万能补救方案

  1. 版本回退(确保博客文件是能用的)

  2. 删除node_modules重新进行安装,清理环境

    1. 【安装xcode,可选,但如果后面出问题了可能是因为这步没做】,注意别开代理
      • xcode-select --install
      • 如果上一步失败,可以先执行sudo rm -rf $(xcode-select -print-path)删除xcode后再进行上一步
    2. 先开启代理,以免由于超时安装失败 proxy
    3. rm -rf node_modules && npm install --force
    4. 【手动安装sass】sudo rm -rf node_modules && npm rebuild node-sass && npm i

    第三步和第四步要先执行哪个忘记了,执行第四步是因为再执行完第三步之后使用hexo会报错找不到sass


上一篇
使用defaultdict的注意点 使用defaultdict的注意点
使用defaultdict的注意点总结 前提: 下面提到的dict都是在要为value里添加数据时才会添加key,也就是说不会存在添加了key但value为空的情况 对于value是list的dict,通常对value(list)使用索引
2021-06-20
下一篇
【与二进制中最低位】相关的位运算小技巧 【与二进制中最低位】相关的位运算小技巧
【与二进制中最低位】相关的位运算小技巧 说明: 此文章中的n都为正数 假设n的二进制位是 (a10…0)2,其中a表示若干个高位,1 表示最低位的 1,0⋯0 表示后面的若干个 0。 通过位运算技巧可以更快速的求得: n的二进制中最
2021-05-30
目录