MediaWiki讨论:Gadget-SpecialWikitext.js

页面内容不支持其他语言。
维基百科,自由的百科全书
界面依照页面品质评定标准无需评级。

设计一个制度解决部分速删模板挂不上去的页面的删除问题

目前讨论状态:

-- 五岁抬☎️·☘️2021年5月8日 (六) 19:10 (UTC)[回复]

参见Wikipedia:互助客栈/求助/存档/2021年4月#请帮忙删除 User:Tranve/工坊/workshop.json,像 JSON 和 Module: 名字空间的页面,速删模板挂不上去。希望可以在方针制度层面解决这个问题。--Tranve () 2021年4月5日 (一) 13:07 (UTC)[回复]

引入能够在特殊页面挂模板的模组

已通过:
公示期已过,且已逾时超过一日(49小时28分钟),在公示期将结束至此刻(2021年5月7日 (五) 13:45 (UTC))未出现新的异议,期间反对者的论述已由支持者回应,且反方无进一步论述,因此提案通过-- 五岁抬☎️·☘️2021年5月7日 (五) 13:45 (UTC)[回复]
下列讨论已经关闭,请勿修改。如有任何意见,请在合适的讨论页提出,而非再次编辑本讨论。

为了解决模板挂不上去或者TW不支持的问题,因此提议引入以下模组

  • Module挂模板问题
    引入en:Module:Module wikitext并提出编辑请求以编辑相关高风险模板与界面让中文维基支持
  • json或css或js挂模板问题
    已开发完毕,待社群共识后才会提请编辑请求,见图

此法如果引入成功,完全可以直接在原页面申请速删,不存在上方提到的任何疑虑!如果这个建起来,提删过程会“跟提删条目一模一样”,不会陷管理员于不义。对应要提删的页面会有提删模板,不会让管理员的删除操作欠缺提删模板,不存在上方提到的任何疑虑!—- 五岁抬☎️·☘️2021年4月26日 (一) 18:51 (UTC)[回复]

没有什么不好的。--安忆Talk 2021年4月27日 (二) 11:47 (UTC)[回复]
  • 非常感谢帮忙!能在原页面挂速删模板,这样就可以解决管理员删去页面后,其他管理员无法复检删除操作的问题,否则其他管理员就无法确定管理员是否滥权,在没有提删的情况下,直接删了页面,这是属于严重滥权,因此在页面能留下速删模板是非常重要的,这件事不能马虎。此外,既然技术上解决了问题,就没必要改方针了。--虫虫飞♡♡→♡℃留言 2021年4月27日 (二) 12:15 (UTC)[回复]

项目 办理状况 需编辑的页面 页面patch 效果预览
Module 已完成测试 Module:Module wikitext (已布署) Module:沙盒/a2569875/ModuleWikitextDemo
Module:Documentation Module:Documentation/sandbox
MediaWiki:Scribunto-doc-page-does-not-exist User:A25...-does-not-exist
(需要语言变种微调)
JS、CSS 已完成测试 Module:Special wikitext (已布署) 留言WP:TG1) 、 互连群图床
MediaWiki:Clearyourcache User:A25...yourcache
(需要语言变种微调)
JSON 等待工单phab:T235798布署 phab:T235798 gerrit:r/c/543934
  • 本地已经准备完毕的部分(Module、JS、CSS)可考虑先行公示并布署。-- 五岁抬☎️·☘️2021年4月27日 (二) 15:33 (UTC)[回复]
  • 说明phab:T235798要解决的问题是,目前JSON可以用技术手段挂模板,且页面中也确实能够显示挂上模板后的速删分类
    (见测试图留言WP:TG1) 、 互连群图床),然而页面分类的数据库暂时无法更新资料
    所以虽然模板能挂了,但还是需要手动提醒/或找一个管理员,告知页面需要删除,
    这样@蟲蟲飛您会不会又无法接受了? 当然,这个问题可以修复,只是phab:T235798不明原因搁置中(目前看起来是代码合并冲突、需要更新),可能需要一点时间,当phab:T235798布署完毕后就会完全没有这问题了。 在这之前,有以下(&)建议
    ※目前的(&)建议是,在phab:T235798工单完工之前,先把没问题的JS、CSS、Module 公示通过在本地布署因为JSON挂模板工能本地需要修改的地方与JS、CSS、Module相同,当phab供单完工后,将会立即生效,而在JSON全域布署前,JSON先暂时维持原本的提删方式(模板挂,但页面分类的数据库暂时不会正常更新,看要不要方针注明一下,不是技术限制,而是phab工单工作中...最近课业繁忙,比较没有时间去提供后台php代码,可能无法像之前专题空间那像迅速完成,而已经OK的JS、CSS、Module我觉得可以先行布署))。-- 五岁抬☎️·☘️2021年4月28日 (三) 11:41 (UTC)[回复]
  • (※)注意:页面能挂速删模板就好了,就算不能挂模板,走去找管理员留言提删,安忆那个编辑差异的小工具很好用,可以很容易就在删除日志中注明提删的原由,复检的管理员也能轻易了解删除操作的管理员有没有滥权,有没有在没提删的情况下删去页面。没有提删,直接删去页面属于严重滥权,因此删除操作的处理一定要很审慎。此外,方针没必要改,这些操作属于技术性问题,与方针无关,而且现行方针已经很清楚。--虫虫飞♡♡→♡℃留言 2021年4月28日 (三) 12:00 (UTC)[回复]

公示期讨论:技术案

  • 如果提删模板不能放在目标页面,就不能放在子页面或者讨论页,因为复检的管理员如果看到被删的页面没提删模板,没有人会检查所有子页面及讨论页,然后就容易误会管理员在没有提删的情况下直接删去页面。--虫虫飞♡♡→♡℃留言 2021年4月28日 (三) 12:30 (UTC)[回复]
注:此处原有文字,因为过多重复内容,已由五岁抬☎️·☘️)于2021年4月30日 (五) 16:15 (UTC)删除,尚祈见谅。若有异议请至互助客栈或向管理员反映。[回复]
@蟲蟲飛上面的技术如果公示通过了CSS,JS,Module 才可以在原页面挂模板,JSON也可以在原页面挂模板,phab:T235798没好只是页面分类暂时不会归档。—- 五岁抬☎️·☘️2021年4月28日 (三) 12:53 (UTC)[回复]
(!)意见:宇帆TG主群的留言我看了,您误会了我的意思,我没有反对您技术修订的提案,但前提是提删的页面须保留提删模板。--虫虫飞♡♡→♡℃留言 2021年5月1日 (六) 02:14 (UTC)[回复]
(:)回应关于这一点,没有问题,此案确实能让需要删除的页面拥有提删模板,包括但不限于速删、DRV、AFD或其他需要模板的提删过程(如合并、移动、迁移至其他维基计划或其他维护模板),故显然不会有管理员执行操作时,缺乏模板标记的问题,惟须注意的是,由于模板挂法要符合特定页面内容模型,故会需要一些特殊语法,建议在技术案通过后也同步在方针页注记相应内容模型挂模板的语法。—- 五岁抬☎️·☘️2021年5月1日 (六) 08:45 (UTC)[回复]
※注:根据Special:Diff/65395602 公示截止时间为2021年5月5日 (三) 20:17 (UTC+8),公示已结束(3年前)(更新)-- 五岁抬☎️·☘️2021年5月5日 (三) 10:00 (UTC)[回复]

  • 通过:公示期已过,且已逾时超过一日(3年前),在公示期将结束至此刻(2021年5月6日 (四) 12:55 (UTC))未出现新的异议,期间反对者的论述已由支持者回应,且反方无进一步论述,因此提案通过,将开始准备布署事宜。-- 五岁抬☎️·☘️2021年5月6日 (四) 12:55 (UTC)[回复]

本讨论已关闭,请勿修改。如有任何意见,请在合适的讨论页提出,而非再次编辑本讨论。

技术案阶段二:页面预览功能

下列讨论已经关闭,请勿修改。如有任何意见,请在合适的讨论页提出,而非再次编辑本讨论。

可以在检阅已删版本时完成预览:“即使页面已删除,提删模板仍然清晰可见,能轻松地让其他复检删除页面”
本小工具源代码在MediaWiki:Gadget-SpecialWikitext.js,具有以下功能:
  1. 编辑JS、JSON、CSS的预览时显示 _addText 的模板
  2. 相同原理提供WP:模板样式 _addText 模板显示功能
  3. JS、JSON、CSS页面历史版本检视的 _addText 的模板预览 : 如需复查的项目为页面历史版本,本工具提供页面历史版本内容显示支援 (可能无法处理历史版本删除的状况)
    历史版本删除的检阅已完成开发,并由Antigng复查功能正常运作-- 五岁抬☎️·☘️2021年5月10日 (一) 04:37 (UTC)[回复]
  4. 已删JS、JSON、CSS内容的 _addText 的模板预览
已经完成所需测试,转交站内讨论是否设定为站内预设启用的小工具。
注1:正式布署前,所有人都可以透过在special:myPage/common.js加入importScript('MediaWiki:Gadget-SpecialWikitext.js');来预览这个功能。
注1.1:若要在手机网页板上测试本脚本,改成加入mw.loader.load('https://zh.wikipedia.org/w/index.php?title=MediaWiki:Gadget-SpecialWikitext.js&action=raw&ctype=text/javascript')
注2:这个功能只会在JS、JSON、CSS中有定义_addText时且 ①预览JS、JSON、CSS以及 ②阅读WP:模板样式CSS页时启用,其余页面或时机不会作用。
注3:已针对以下皮肤进行测试:Vector、Minerva、现代、MonoBook及Timeless。
注4:
注:此处原有文字,因为lua预览功能已实装,已由a2569875(留言)于antigng确认有效后删除,尚祈见谅。若有异议请至互助客栈或向管理员反映。
以上,请讨论-- 五岁抬☎️·☘️2021年5月8日 (六) 14:53 (UTC)[回复]
(+)支持:同意这个小工具应全站布署,方便所有管理员能复检已删页面。--虫虫飞♡♡→♡℃留言 2021年5月10日 (一) 05:52 (UTC)[回复]

  1. (►)移动User:A2569875/SpecialWikitext.jsMediaWiki:Gadget-SpecialWikitext.js
    不留重新导向,理由WP:CSD#O1+WP:CSD#G10同此移动日志
  2. 参考当时布署伪名字空间脚本的方式Special:Diff/64296528,于MediaWiki:Gadgets-definition做出以下修改:
    现行条文

    browser ... appear

    提议条文

    browser ...

    *SpecialWikitext[ResourceLoader|default|dependencies=ext.gadget.site-lib,mediawiki.api|hidden|targets=desktop,mobile|type=general]|SpecialWikitext.js

    appear

    • ※注:其中|dependencies=ext.gadget.site-lib,mediawiki.api中的mediawiki.api是必要的,原理同MediaWiki:Gadget-AdvancedSiteNotices.js(全站跑马灯公告小工具),而AdvancedSiteNotices.js之所以使用mediawiki.util是因为其除了使用AJAX Parse API外,还有些别的判断(如mw.util.addCSS),而本次议案仅用了Parse API,因此仅dependence了mediawiki.api即可。
    以上段落确切加入时间:──以上未签名的留言由a2569875讨论贡献)于2021年5月11日 (二) 07:26 (UTC)加入。
    技术相关讨论
以上-- 五岁抬☎️·☘️2021年5月17日 (一) 06:08 (UTC)[回复]
(?)疑问:请问本小工具可以将模板中的分类添加到对应页面吗?如果不能添加的话,那管理员还是不能快速地发现要速删的 JSON 和过滤 CSS 页面。--Tranve () 2021年5月22日 (六) 06:23 (UTC)[回复]
@Tranve请按部就班谢谢。这个小工具本身就只有显示预览和已删复查功能,“而且上面也只讨论预览、已删复查功能”(公示本来就不能公示没有讨论过的部分),本案是先解决“删后无法复查问题”,先解决“方便删后复查”,先解决掉虫虫飞最担心的“管理员担心所谓“被陷害的问题””,小工具本来就不应该是一个大杂烩功能,徒增维护困难,且页面预览功能和分类归档功能运作方式差异甚远,完全不建议整合在同一小工具中,且上述讨论也未有讨论与页面分类相关事宜。JSON分类小工具也已经在开发User:A2569875/JSONCAT.js。另,仍建议按部就班,先解决“显示”、“方便删后复查”,一直提议新东西根本就无法定稿。此外,引述“此案的情况已经比以前进步了因为条目删除的时候页面上的确有模板存在 -- U:Antigng”,然后“如果没有此案,页面删去后是看不到删除模板的”,一样会“管理员担心所谓“被陷害的问题””,建议先把这个布署好在继续,先求有再求好,不然一直改、一直改、一直改永远都不会好!。且JSON分类小工具也已经在开发User:A2569875/JSONCAT.js,请稍安勿躁。“而且上面也只讨论预览、已删复查功能”,“JSON分类解决根本还没讨论”,“在共识外”,所以“无法公示”,需要“再开一案”。-- 五岁抬☎️·☘️2021年5月22日 (六) 07:33 (UTC)[回复]
再重申一次,本动议,子议案,本来就只是为了解决以下问题,且也建议先解决这些问题,让流程能跑。 没分类并不会影响流程,见U:Antigng的留言。
  1. 页面预览无法看到提删模板
  2. 已删页面看不到提删模板,有可能发生U:虫虫飞说的“管理员陷入不必要的争议”、“陷管理员于不义”
以上就是本案的需要性与重要性。解决以上问题能让提删流程先开始正常运作。U:Antigng也说,这样就已经进步了。而不是一直原地踏步。Antigng的意见也很重要,请仔细阅读,如果你看不到,我可以帮你在下方贴好贴满,但考虑到客栈的长度已经被这些烂事搞到长度大爆炸,就只能请阁下自行去查阅存档,下方只做节录。-- 五岁抬☎️·☘️2021年5月22日 (六) 10:49 (UTC)[回复]
@A2569875我没有提议一定要整合在一个小工具中,我只是想问一问添加分类的问题怎么解决。既然您已经回复了,那就没有问题了。至于您指出的我的问题,我以后会注意的。另外,您 ping 我我会收到提醒,大可不必去讨论页留言。--Tranve () 2021年5月23日 (日) 04:54 (UTC)[回复]
关于JSON问题,可前往下一章节继续讨论。-- 五岁抬☎️·☘️2021年5月24日 (一) 06:31 (UTC)[回复]


本讨论已关闭,请勿修改。如有任何意见,请在合适的讨论页提出,而非再次编辑本讨论。

编辑请求 2021-05-26

请求已处理。--安忆Talk 2021年5月26日 (三) 12:22 (UTC)[回复]

  1. @AnYiLin避免wikitext过长导致HTTP 414 Error URI Too Long的风险
  2. 置顶模板移至他页以缩短本脚本的长度。-- 五岁抬☎️·☘️2021年5月26日 (三) 08:55 (UTC)[回复]

编辑请求 2021-06-08

请求已处理。--安忆Talk 2021年6月8日 (二) 10:00 (UTC)[回复]

修改方案已公示7天Special:Diff/65985013修改方案,原始议案:

小BUG:语言调成非中文会无法显示模板

编辑请求 2022-03-04

请求已处理。--安忆Talk 2022年4月7日 (四) 06:34 (UTC)[回复]

var $preview_selector = $('.previewnote .mw-message-box-warning > p > b a');
Maintenance: fix obsolete warningbox class, see phab:T300314
L397,相关页面改了之后这边再改,先放着。-- Stang 2022年3月4日 (五) 22:15 (UTC)[回复]
上线了,可以合并了。 Stang 2022年3月23日 (三) 17:36 (UTC)[回复]
合了。@A2569875 Stang 2022年3月31日 (四) 18:34 (UTC)[回复]
已复查,确认能正常运作( ✓ )附议此修订。-- [雪菲🐉蛋糕🎂] >[娜娜奇🐰鲜果茶☕](☎️·☘️2022年4月3日 (日) 04:59 (UTC)[回复]

编辑请求 2022-05-23

请求已处理。--安忆Talk 2022年5月31日 (二) 03:43 (UTC)[回复]

@@ -174,7 +174,7 @@
 			if ($elementExist('#mw-_addText-preview-loading'))$('#mw-_addText-preview-loading').html(parsedWikitext);
 			else if ($elementExist('.diff-currentversion-title'))$html_obj.insertAfter('.diff-currentversion-title');
 			else if ($elementExist('.previewnote'))$html_obj.insertAfter('.previewnote');
-			else if ($elementExist('#mw-undelete-revision'))$html_obj.insertAfter('#mw-undelete-revision');
+			else if ($elementExist('.mw-undelete-revision'))$html_obj.insertAfter('.mw-undelete-revision');
 			else if ($elementExist('#mw-content-text'))$html_obj.insertBefore('#mw-content-text');
 		}
 		//如果網頁物件存在,則改動其html內容
@@ -443,7 +443,7 @@
 				}
 			}
 			//模式4 : 已刪頁面預覽
-			else if ($elementExist('#mw-undelete-revision'))
+			else if ($elementExist('.mw-undelete-revision'))
 			{//已刪內容頁面是特殊頁面,無法用常規方式判斷頁面內容模型
 				if (!$needPreview())return; //沒有預覽必要時,直接停止程式,不繼續判斷,以節省效能
 				if ($elementExist(['.mw-highlight', 'pre', '.mw-json']))//確認正在預覽已刪內容

gerrit:786436。请在group2升级1.39.0-wmf.13后合并。-- Stang 2022年5月23日 (一) 23:19 (UTC)[回复]

编辑请求 2023-12-12

请求已处理

根据讨论Wikipedia:互助客栈/其他#Gadget-SpecialWikitext需要mw.hook.fire,在API回传HTML时需跑一遍mw.hook('wikipage.content').fire(对应的jQuery节点)否则,折叠功能会失效。-- 宇帆-娜娜奇🐰鲜果茶☕在维基百寻求休闲是否搞错了什么☎️·☘️2023年12月12日 (二) 14:44 (UTC)[回复]

Special:Diff/80091966/80100473。--安忆Talk 2023年12月13日 (三) 10:00 (UTC)[回复]

MediaWiki:Gadget-SpecialWikitext之API回传的HTML可能需要mw.hook.fire

(原讨论为:Wikipedia:互助客栈/其他#蓝桌图书馆预览插件
最后加一句mw.hook('wikipage.content').fire($('#mw-content-text'));。--安忆Talk 2023年12月12日 (二) 12:44 (UTC)[回复]
(?)疑问@AnYiLin所谓的“最后”是指哪个位置呢?是最后一行?还是拿到API解析完wikitext的HTML加入的当下?-- 宇帆-娜娜奇🐰鲜果茶☕在维基百寻求休闲是否搞错了什么☎️·☘️2023年12月12日 (二) 12:48 (UTC)[回复]
内容被填充进页面之后,以解决当前不能折叠模板的问题。--安忆Talk 2023年12月12日 (二) 12:50 (UTC)[回复]

编辑请求 2024-01-29

请求已处理

加上variant参数避免-{}-裸露。-- 宇帆-娜娜奇🐰鲜果茶☕在维基百寻求休闲是否搞错了什么☎️·☘️2024年1月29日 (一) 12:58 (UTC)[回复]

@A2569875Special:Diff/80709164这种情况是预期的吗?你是要把这种-{}-处理掉吗?--安忆Talk 2024年1月29日 (一) 13:18 (UTC)[回复]
我是看到这个认为他可以处理api请求时的-{}-,因为他送的wikitext就含有-{}-([2]),但渲染出来后没有-{}-。如果是界面文字带进来的(举的例子)目前好像还无解。-- 宇帆-娜娜奇🐰鲜果茶☕在维基百寻求休闲是否搞错了什么☎️·☘️2024年1月29日 (一) 13:31 (UTC)[回复]
还是其实是uselang:要拿掉换成variant:Module:Class/definition.json目前好像还是无效?但为什么NoteTA小工具不会裸露-{}-?-- 宇帆-娜娜奇🐰鲜果茶☕在维基百寻求休闲是否搞错了什么☎️·☘️2024年1月29日 (一) 13:37 (UTC)[回复]
我在别的地方试过了,两个参数都加上也会保留-{}-。所以我在那边直接把"-{}-"替换成""了…--安忆Talk 2024年1月29日 (一) 13:44 (UTC)[回复]
如果可以的话,可以请@SunAfterRain指导下。--安忆Talk 2024年1月29日 (一) 13:46 (UTC)[回复]
怎么会突然想处理呢,明明我之前讲老半天您都不想处理。 囧rz……
简单来说,某些命名空间不支援繁简转换,所以加variant依然没用。
我自己的做法我也说过了,先用 action=expandtemplates&title=wgPageName&text=addText 展开所有模板,再用 action=parse&text=expandedWikitext&contentmodel=wikitext&variant=variant 解析(为什么要先展开再解析的理由很简单,让FULLPAGENAME解析正确)。--SunAfterRain 2024年1月29日 (一) 16:08 (UTC)[回复]