关于 hexo 对文章渲染解析{{}}的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
xavierniu

关于 hexo 对文章渲染解析{{}}的问题

  •  1
     
  •   xavierniu 2018 年 11 月 21 日 via iPad 4153 次点击
    这是一个创建于 2712 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家有没有在用 hexo 的时候遇到在正文中对“{{任何内容}}”解析不正常的问题,我因为经常写数学公式,所以经常会碰到这种问题, 目前唯一的解决办法就是 escape bracket,需要在每一对花括号加{% raw %}这种方式,一旦公式增多一个一个加又太麻烦,大家有什么解决方案? 最近在考虑用 hugo 替换基于 nodejs 的 hexo,但是 hugo 的主题基本上没有想 next 那么完善的,不是缺这个就是少那个…

    第 1 条附言    2018 年 11 月 22 日

    产生错误 正确执行:

    第 2 条附言    2018 年 11 月 22 日
    问题已经解决,参见#16
    22 条回复    2018-11-23 09:26:58 +08:00
    MonoLogueChi
        1
    MonoLogueChi  
       2018 年 11 月 21 日 via Android
    用的什么渲染组件,装了哪些插件,主题用的是什么,这些都用影响到
    xavierniu
        2
    xavierniu  
    OP
       2018 年 11 月 21 日 via iPhone
    @MonoLogueChi hexo-renderer-pandoc
    这个好像是跟 hexo 有关
    stebest
        3
    stebest  
       2018 年 11 月 21 日
    hexo 不是有 mathjax 插件写公式么
    mathzhaoliang
        4
    mathzhaoliang  
       2018 年 11 月 21 日
    hexo 默认的 markdown 渲染器是 hexo-renderer-marked,会先按照 markdown 语法解析,然后才是 latex,所以会有冲突。换成 hexo-renderer-pandoc,然后安装 pandoc 就行。
    rabbbit
        5
    rabbbit  
       2018 年 11 月 21 日
    试试这个,记得装之前备份,因为要卸掉默认的渲染器
    https://github.com/CHENXCHEN/hexo-renderer-markdown-it-plus
    xavierniu
        6
    xavierniu  
    OP
       2018 年 11 月 22 日 via iPhone
    @stebest 数学公式没问题 但是遇到这样的$\sqrt{{x^2}+{y^2}}$ 再使用 hexo g 就会出现解析错误 原因是 hexo 会把{{*}}当作变量解析…
    xavierniu
        7
    xavierniu  
    OP
       2018 年 11 月 22 日 via iPhone
    @mathzhaoliang 冲突问题已经通过 pandoc 解决了 可以参见上一条回复
    xavierniu
        8
    xavierniu  
    OP
       2018 年 11 月 22 日 via iPhone
    @rabbbit 好滴 我试试
    mathzhaoliang
        9
    mathzhaoliang  
       2018 年 11 月 22 日
    @niuxuewei 你是想输出什么?内层的 {} 表示求小数部分吗?
    xavierniu
        10
    xavierniu  
    OP
       2018 年 11 月 22 日 via iPad
    @mathzhaoliang 我想输出数学公式用 latex 语法 比如 $\sqrt{{x^2}+{y^2}}$ 这是根号下 x 方+y 方 你可以试试把这个代码加在你的正文里 然后用 hexo g 生成就会报错
    xavierniu
        11
    xavierniu  
    OP
       2018 年 11 月 22 日
    xavierniu
        12
    xavierniu  
    OP
       2018 年 11 月 22 日
    @mathzhaoliang 如果去掉把{{}}消去 就可以解决这个问题![]( http://res.niuxuewei.com/2018-11-22-011816.png)
    或者加入 escape bracket 类似这样![]( http://res.niuxuewei.com/2018-11-22-011952.png)
    mathzhaoliang
        13
    mathzhaoliang  
       2018 年 11 月 22 日
    @niuxuewei 所以不是 hexo 的问题,是你的输入不对。
    FEDT
        14
    FEDT  
       2018 年 11 月 22 日 via iPhone
    遇到过。。没想到现在还没解决
    xavierniu
        15
    xavierniu  
    OP
       2018 年 11 月 22 日 via iPhone
    @FEDT 这应该是 hexo 底层设计问题 想换成 hugo 生态圈太糟糕了 愁人…
    no1xsyzy
        16
    no1xsyzy  
       2018 年 11 月 22 日   1
    没接触过,但试试这个?
    $\sqrt{ {x^2}+{y^2} }$
    no1xsyzy
        17
    no1xsyzy  
       2018 年 11 月 22 日
    @no1xsyzy
    $\sqrt{ {x^2}+{y^2} }$
    把{{和}}中间加个空格,math 模式下空格是自动忽略的
    xavierniu
        18
    xavierniu  
    OP
       2018 年 11 月 22 日
    @no1xsyzy 卧槽 真的可行 谢谢!!!!
    xavierniu
        19
    xavierniu  
    OP
       2018 年 11 月 22 日
    @no1xsyzy 我测试只需要破坏前面的{{就行,后面的}}可以保留,像这样$\sqrt{ {x^2}+{y^2}}$,回头可以写一个 py 脚本自动化解决这个问题
    stebest
        20
    stebest  
       2018 年 11 月 22 日
    @niuxuewei 是你装了什么插件吧,我写的没问题
    no1xsyzy
        21
    no1xsyzy  
       2018 年 11 月 23 日
    @niuxuewei 因为 codecogs 那个在线渲染的编辑器 \left{ 会自动加空格,而且如果没有空格写 pandoc 的时候 atom 卡 80 列换行会很奇怪,所以习惯了内容复杂的话大括号内侧加空格,很高兴这竟然能帮到你。
    话说我觉得还是两边都加空格好看,对称。
    xavierniu
        22
    xavierniu  
    OP
       2018 年 11 月 23 日 via iPad
    @no1xsyzy 哈哈哈哈我想的是每次我不加 等到部署的时候用 python 逐个解决
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2728 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 81ms UTC 06:31 PVG 14:31 LAX 23:31 JFK 02:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86