Sublime插件OmniMarkupPreviewer的崩溃处理

Posted by Donggu Ho on 2017-02-18

当更新了一些插件之后发现OmniMarkupPreviewer的预览爆炸了,表现为预览时一切正常情况下出现类似以下的报错

404 error on preview … “buffer_id(29) is not valid (closed or unsupported file format)……”

查看了一下 Github 的相关 Issues 得知是 OmniMarkupPreviewer 的 strikeout 扩展出现了错误。 strikeout 是识别 markdown 的划去语法的,即这样的效果。如果不需要这项功能的话,可以直接在设定中删去该功能扩展;如果需要的话,则需要对该模块的代码进行一点修改。

方法一: 删去功能

  • 打开 Preferences - Package Settings - OmniMarkupPreviewer 中的 Settings - DefaultSettings - User

  • Settings - Default 中的内容全部复制到 Settings - User 中,关闭 Settings - Default

  • 删去 Settings - User 最后一行中的"strikeout"

1
"extensions": ["tables", "strikeout", "fenced_code", "codehilite", "toc"]  #删掉strikeout

方法二: 修改代码(彻底解决)

  • 打开 mdx_strikeout.py

    • Windows 路径

      C:\Users\%username%\AppData\Roaming\Sublime Text 3\Packages\OmniMarkupPreviewer\OmniMarkupLib\Renderers\libs\mdx_strikeout.py

    • Mac 路径

      /Users//Library/Application Support/Sublime Text 3/Packages/OmniMarkupPreviewer/OmniMarkupLib/Renderers/libs/mdx_strikeout.py

  • 将底部的 makeExtension() 函数改成如下

1
2
def makeExtension(*args, **kwargs):
return StrikeoutExtension(*args, **kwargs)