Closed oeyoews closed 11 months ago
极大的可能就是遇到了异常解析
目前markdown的解析就有bug
或者直接清空,使用一个新的plugin 进行测试
<body>
<h1>Hello, TiddlyWiki!</h1>
</body>
NOTE: 即使使用html注释掉也不行 , 遇到body的闭合标签就解析失败了
这个body 的闭合标签如果被打包进插件库, 会导致解析问题, 从而导致插件库失效;(上次遇到的也是类似的问题, 不过具体记不住了, 不过上次是直接library/index.html 界面有问题,直接修改就修好了, 这次是界面是正常的, 翻了一遍gh-pages分支的历史纪录, 发现 先是 index.html 的最后一部分的 tw js代码确实, 后来手动加上之后, 界面就出现了解析问题(这次才和第一次遇到的异常一样), 我看到这次是提交了copy-code 插件, 刚开始以为是 codeblock.js 导致的bug, 后来才发现 是parser的bug(上次遇到的parser bug 还是markdown的, 现在还没修好), 也是闭合标签的问题(markdown 不能出现闭合标签, 否则也会解析错误)
copy-code 是为了给每个代码块添加一个复制代码的按钮, 所以自然在readme中写所有highlight 支持的代码块类型, html类型中有个body标签, 就是它导致的问题, 换个标签都不会出现问题
复现步骤, 在你的任意一个插件readme中写上 <body></body>
标签, 你插件的主页应该就会看到上面图片中的样子
仍然是确实pluginlibrary 的js核心代码
那段代码确实,果然还是是codeblock.js 导致的(shit)
同时遇到两个bug, 一个bug花一个小时(我就知道插件库的bug找起来肯定费时间)
tw几乎处处都依赖codeblock.js
如果不构建插件库, 这样的bug我永远都不会发现
tw依靠手动指定文件类型 (字段 type), 这里依赖codeblock.js 识别文件类型
出现bug的原因有两点:
这两个bug相互影响我调试的过程,刚开始我还以为只有一个bug,谁知是两个,前后总共耗时3小时(一个拖了20天的bug, 本来就知道肯定耗费时间, 回滚太耗费事件了 上次遇到的插件库bug是上面的第一点, 很好修, 看一眼插件库的主页就大概知道问题了, 今天打开中文教程的时候又看到的本地插件库调试这几个字, 上次没看明白,也没需求, 这次仔细看了下怎么用, 刚好用来调试插件库的bug, 就不用git 回滚了, 但还是依靠gh-pages的历史提交记录)
总体来说,bug不太好找, 每一个线索都不好找(还好之前将 tiddlers的文件夹单独放在了一个仓库)