MediaWiki討論:Gadget-SpecialWikitext.js

由SunAfterRain在話題編輯請求 2024-01-29上作出的最新留言:9 個月前
界面依照頁面評級標準無需評級。

設計一個制度解決部分速刪模板掛不上去的頁面的刪除問題

編輯
目前討論狀態:

-- 五歲抬☎️·☘️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)回覆
返回 "Gadget-SpecialWikitext.js" 頁面。