社区文档构建进行中,欢迎编辑。社区答疑群(非官方):717421103,点点小课堂(腾讯会议):5696651544
优化版本差异-DiffTools
阅读
2024-03-11更新
最新编辑:Lu_23333
阅读:
更新日期:2024-03-11
最新编辑:Lu_23333
简单说明
版本:0.0.2
说明:优化版本差异:逐字显示更改,而不是整段标红。
左侧标明移除、右侧标明增加。
使用说明
需要在common.js页面引用进行全局加载,加载方法如下:
/*加载DiffTool 爱来自 Lu(39886146) */
try { mw.loader.load("/tools/MediaWiki:DiffTool.js?action=raw&ctype=text/javascript", "text/javascript");} catch(e) {}
要临时使用,可以按F12打开浏览器开发者工具的控制台,输入:
try { mw.loader.load("/tools/MediaWiki:DiffTool.js?action=raw&ctype=text/javascript&rand="+Math.random(), "text/javascript");} catch(e) {}
这里的JS加载时增加了随机数rand,可以绕开缓存。这种增加随机数绕缓存的方法会增加Wiki服务器负载,应仅用于测试。
实现细节
依赖diff.js
逐行遍历class为diff的table。
仅当行内有3、4列时,表格内有diff文本。3列分两种情况,删除一行/增加一行。可以从第1/3列是否带colspan=2区分。
确定修改先后的文本位置后,使用diff.js计算diff,循环增加span。
代码依赖GPT 和 diff.js Demo写成……欢迎优化(注意,tools中的:DiffTool.js已被实装,需另开测试)。
作者
更新日志
2023-05-12: V0.0.1 预览版;
2023-05-13: V0.0.2 预览版:修复了一些bug,优化了颜色显示,仅在目标页面加载依赖项;
2024-03-11: V0.0.3 预览版:修复了一些bug,现在过长的单行文本可以正常换行了;