MediaWiki討論:Gadget-PreviewWithVariant.js
修改建議
編輯請求已處理
建議最後四項變體選項名不做wgULS轉換,如同其他頁面左上切換欄一樣以當地的簡繁顯示,感覺那樣更容易一眼區分。比如我習慣通過遠觀密集程度區分,而看到「台湾正体」總覺得看錯了。以上為個人建議。--YFdyh000(留言) 2013年3月26日 (二) 02:54 (UTC)
- 完成。--Jimmy Xu 查 · 論 · 編 2013年3月26日 (二) 05:27 (UTC)
編輯請求-支持實時預覽
編輯請求已處理
在//被按下時在表單傳送字串添加variant參數
的下面增加一行:
mw.config.set( 'wgUserLanguage', this.listVariant.options[this.listVariant.selectedIndex].value);
完成後去掉MediaWiki:Gadget-PreviewWithVariant/zh裡面的「(不適用於即時預覽功能)」。
備註:
- 因為doLivePreview裡面用了uselang: mw.config.get( 'wgUserLanguage' ),而doLivePreview在mediawiki.action.edit.preview裡面,好像很難觸及和替換(沒找到方法),所以只能用這個方法。
- 經測沒問題。如果有其他擴展在實時預覽後使用此參數(作本地化),可能受影響,但概率和影響不大。導航Popup沒問題。
- 以
mw.loader.getState('mediawiki.action.edit.preview')
檢查模塊狀態未成功,好像實時預覽選項啟用與否都是"registered"。--YFdyh000(留言) 2016年6月2日 (四) 00:49 (UTC)
- 該案完成,請測試正常後於小工具描述另提ep。--Jimmy Xu 論 2016年6月11日 (六) 04:23 (UTC)
有關按鈕樣式
編輯編輯按鈕已於七月十八日更新,不知道管理員能不能將這個的按鈕也變成新樣式的呢?--eflyjason (留言) 2017年7月19日 (三) 09:35 (UTC)
修正啟用OOUI後的功能
編輯請求已處理
啟用OOUI後,帶轉換的預覽功能未能對應上,使用User:Cwek/Gadget-PreviewWithVariant.js代替則可以修復。檢查過同mw但沒啟用OOUI的站點,功能不受影響。——路過圍觀的Sakamotosan 2017年8月30日 (三) 03:47 (UTC)
修正原始碼編輯下「以xxxx預覽」行內元素不對齊問題
編輯- 下列討論已經關閉,請勿修改。如有任何意見,請在合適的討論頁提出,而非再次編輯本討論。
.oo-ui-buttonElement-framed.oo-ui-labelElement > .oo-ui-buttonElement-button, .oo-ui-textInputWidget .oo-ui-inputWidget-input, .oo-ui-dropdownWidget-handle, button, textarea, select {
padding: 0.35em 1em;
box-sizing: border-box;
height: unset;
/* 新增 */
vertical-align: middle;
}
.oo-ui-buttonElement {
display: inline-block;
line-height: normal;
vertical-align: middle;
/* 新增 */
margin-top: unset !important;
}
——Scvoet Talk 2021年1月6日 (三) 07:15 (UTC)
- 以語言變體預覽貌似是小工具加的?用行內樣式會不會更好,不去動OOUI。--安憶Talk 2021年1月6日 (三) 07:28 (UTC)
- 是用行內樣式更好。--Scvoet Talk 2021年1月6日 (三) 07:37 (UTC)
- 本討論已關閉,請勿修改。如有任何意見,請在合適的討論頁提出,而非再次編輯本討論。
編輯請求 2021-06-16
編輯請求已處理。--安憶Talk 2021年6月16日 (三) 11:55 (UTC)
根據互助客棧公示結果,請求全部替換為User:Tranve/public/Gadget-PreviewWithVariant.js處內容。--Tranve (✉) 2021年6月16日 (三) 10:17 (UTC)
我重寫了Gadget-PreviewWithVariant.js小工具
編輯大家好!
(因為覺得原版小工具太醜)我重寫了 Gadget-PreviewWithVariant.js 小工具,原始碼位於 Tranve/public/PreviewWithVariant.js,歡迎各位試用並留下反饋!
希望這個小工具能對各位編者有所幫助,並能夠取代舊版小工具。--Tranve (✉) 2021年6月8日 (二) 04:47 (UTC)
- (~)補充:砍掉了即時預覽支持,因為技術上沒有比較好的實現方案。下一步的計劃是加入 2017 維基文本編輯器的支持。--Tranve (✉) 2021年6月8日 (二) 04:51 (UTC)
- (+)支持:更貼合MediaWiki的寫法、更現代的控制項和更清晰的上下文。(&)建議:oojs那幾個加載項只留oojs-ui應該就可以,user.options建議寫成mediawiki.user。當然,最後放進Mediawiki空間的話,可以不用管這個。--安憶Talk 2021年6月8日 (二) 05:00 (UTC)
- (+)支持--蟲蟲飛♡♡→♡℃※留言 2021年6月8日 (二) 05:11 (UTC)
- (+)支持,但有能支援2017編輯器的預覽嗎?--路西法人 • 留言 2021年6月9日 (三) 00:25 (UTC)
- @LuciferianThomas:Work in progress。等做完之後會單獨提案的。--Tranve (✉) 2021年6月9日 (三) 05:12 (UTC)
看了一下,大家都是以支持為主。我覺得這樣生硬地放在這裡公示不太好,所以寫了一個在舊版中顯示提示讓用戶替換至新版的小工具(附帶反饋功能),位於(節刪)。這樣直接換掉原來小工具代碼,權當公示,大家覺得怎麼樣?(當事人已否決,故划去)--Tranve (✉) 2021年6月9日 (三) 03:03 (UTC)- (:)回應@Tranve:由於待改目標頁MediaWiki:Gadget-PreviewWithVariant.js是介面保護,因此根據Wikipedia:保護方針#需進行公示「一些會輕微影響使用方式和外觀顯示的編輯」一樣要先公示7天才能佈署。-- [雪菲🐉蛋糕🎂] >梓< [娜娜奇🐰鮮果茶☕](☎️·☘️) 2021年6月9日 (三) 03:07 (UTC)
- 好的。如果這樣的話切換的腳本也沒有必要了。現從Wed, 09 Jun 2021 03:48:24 +0000 公示7日,公示期一過且無異議直接請求換成新腳本。--Tranve (✉) 2021年6月9日 (三) 03:48 (UTC)
- (:)回應@Tranve:由於待改目標頁MediaWiki:Gadget-PreviewWithVariant.js是介面保護,因此根據Wikipedia:保護方針#需進行公示「一些會輕微影響使用方式和外觀顯示的編輯」一樣要先公示7天才能佈署。-- [雪菲🐉蛋糕🎂] >梓< [娜娜奇🐰鮮果茶☕](☎️·☘️) 2021年6月9日 (三) 03:07 (UTC)
(-)反對,請勿砍掉即時預覽,為了外觀而令已有的功能失效,這非常不值得。--街燈電箱150號 開箱維修 抄錶 檢驗證明 2021年6月9日 (三) 04:59 (UTC)- @Cdip150:問題和外觀無關。是沒有很好的技術方案(好吧,是我沒有解釋清楚,界面布局和即時預覽沒有衝突)。站內現有小工具的實現魔改了一個全局變量(見此),這種做法絕對不應該提倡。至少在上游代碼做出改變之前我不想加。--Tranve (✉) 2021年6月9日 (三) 05:05 (UTC)
- 現行的版本,set過去卻沒有set回來,是需要改進的地方。--安憶Talk 2021年6月9日 (三) 05:21 (UTC)
- (:)回應:目前沒有辦法在即時預覽成功的時候取得通知執行代碼,而且應該改
wgUserVariant
而不是wgUserLanguage
,但是目前代碼改了無效果。更多信息見 phab:T284625。--Tranve (✉) 2021年6月9日 (三) 05:36 (UTC)
- (:)回應:目前沒有辦法在即時預覽成功的時候取得通知執行代碼,而且應該改
- 對啊是沒有跟即時預覽衝突,不過變了不能預覽轉換詞,要是不加的話我一定不支持直接把新腳本換上去。我想到的折衷方法是:衹對沒有啟用即時預覽的用家才調用新腳本,對啟用了的則仍調用舊腳本,新舊腳本並行直至有解決方案為止,那樣至少不會令即時預覽的用家變了無法使用轉換。--街燈電箱150號 開箱維修 抄錶 檢驗證明 2021年6月9日 (三) 06:32 (UTC)
- 好的,我考慮考慮。我想問一下,您經常使用即時預覽功能預覽轉換詞嗎?您知道的有這種需求的用戶多嗎?--Tranve (✉) 2021年6月9日 (三) 06:56 (UTC)
- 我自己有使用。即時預覽功能已經好多年了,應該積存一定數量的用戶,當初還有人直接請求增加支持。--街燈電箱150號 開箱維修 抄錶 檢驗證明 2021年6月9日 (三) 07:36 (UTC)
- @Cdip150:明白。感謝反饋!--Tranve (✉) 2021年6月9日 (三) 07:38 (UTC)
- 檢查繁簡轉換問題的時候,這個功能還是很有用的--百無一用是書生 (☎) 2021年6月10日 (四) 01:41 (UTC)
- 我自己有使用。即時預覽功能已經好多年了,應該積存一定數量的用戶,當初還有人直接請求增加支持。--街燈電箱150號 開箱維修 抄錶 檢驗證明 2021年6月9日 (三) 07:36 (UTC)
- 好的,我考慮考慮。我想問一下,您經常使用即時預覽功能預覽轉換詞嗎?您知道的有這種需求的用戶多嗎?--Tranve (✉) 2021年6月9日 (三) 06:56 (UTC)
- 現行的版本,set過去卻沒有set回來,是需要改進的地方。--安憶Talk 2021年6月9日 (三) 05:21 (UTC)
- @Cdip150:問題和外觀無關。是沒有很好的技術方案(好吧,是我沒有解釋清楚,界面布局和即時預覽沒有衝突)。站內現有小工具的實現魔改了一個全局變量(見此),這種做法絕對不應該提倡。至少在上游代碼做出改變之前我不想加。--Tranve (✉) 2021年6月9日 (三) 05:05 (UTC)
已添加。請查看原始碼。--Tranve (✉) 2021年6月9日 (三) 08:04 (UTC)
- 還有問題:用即時預覽編輯模板時,最下方的「使用此模板預覽頁面」那項的「顯示預覽」(即input[name=wpTemplateSandboxPreview]的那個按鈕)沒有效,無論選哪個變體都沒轉換。--街燈電箱150號 開箱維修 抄錶 檢驗證明 2021年6月9日 (三) 12:56 (UTC)
- (~)補充,User:Tranve/public/PreviewWithVariant.js#L-91:「input[name=wpTemplateSandboxPage]」←按鈕名字錯了?--街燈電箱150號 開箱維修 抄錶 檢驗證明 2021年6月9日 (三) 13:06 (UTC)
- @Cdip150:經測試問題已修復。請檢查。--Tranve (✉) 2021年6月9日 (三) 14:03 (UTC)
- 看來已沒有問題,謝謝。--街燈電箱150號 開箱維修 抄錶 檢驗證明 2021年6月10日 (四) 00:31 (UTC)
- @Cdip150:經測試問題已修復。請檢查。--Tranve (✉) 2021年6月9日 (三) 14:03 (UTC)
公示期已過,將儘快部署。--Tranve (✉) 2021年6月16日 (三) 10:13 (UTC)
- [1]、[2]、[3]。--Tranve (✉) 2021年6月16日 (三) 10:24 (UTC)
- 完成。--安憶Talk 2021年6月16日 (三) 12:00 (UTC)
- @AnYiLin:抱歉,剛發現小工具代碼第16行是用不到的 message,應刪除。煩請處理一下,謝謝!--Tranve (✉) 2021年6月16日 (三) 13:11 (UTC)
- 完成。--安憶Talk 2021年6月16日 (三) 12:00 (UTC)
2017 wikitext 編輯器的語言變體預覽小工具
編輯本小工具現已初步開發完成,處於 Beta 階段。原始碼位於 Tranve/public/NWEPreviewVariant_Beta.css 和 Tranve/public/NWEPreviewVariant_Beta.js。
現提供給本社群試用,歡迎大家在下方反饋和提出意見!--Tranve (✉) 2021年7月24日 (六) 15:42 (UTC)
- 試了試,挺好的,可以看出開發者看了好久又臭又長的ve文檔 捂臉。--安憶Talk 2021年7月25日 (日) 03:58 (UTC)
- @Tranve:可以把這個和MediaWiki:Gadget-PreviewWithVariant.js合併下嗎?--安憶Talk 2021年8月2日 (一) 10:00 (UTC)
- @AnYiLin:現在還沒有公示,只是徵求一下大家的意見和建議而已,所以我認為討論這個為時過早。--Tranve (✉) 2021年8月2日 (一) 10:27 (UTC)
- 一周沒有新留言了,應該可以公示了。--安憶Talk 2021年8月2日 (一) 10:36 (UTC)
- @AnYiLin:現在還沒有公示,只是徵求一下大家的意見和建議而已,所以我認為討論這個為時過早。--Tranve (✉) 2021年8月2日 (一) 10:27 (UTC)
- 剛看了一下,公示方針並沒有規定「如何公示」,只要七天無異議即可。鑑於小工具代碼不是放在這裡看看就行的,得要用,而用戶手動開啟小工具並試用的過程又略微繁瑣,我建議可以在站內小工具頁面中開闢一塊「Beta版」區域,專門用於測試出現大幅度變化或尚不穩定的小工具,也可作公示用,不知道大家看法如何?--Tranve (✉) 2021年8月2日 (一) 14:41 (UTC)
- 看起來可以,之後如果有其他測試版小工具要試用也比較簡單。--冥王歐西里斯(留言) 2021年8月6日 (五) 04:08 (UTC)
@AnYiLin:抱歉之前一段時間比較忙耽誤了這麼久,現在可以開始公示了。煩請您:
- 將這個小工具的代碼移入MediaWiki:Gadget-PreviewWithVariant2017.js和MediaWiki:Gadget-PreviewWithVariant2017.css,並添加合適的依賴項(已知
oojs-ui-core
為必需,不然會有bug); - 在小工具選項卡中最底部新建「Beta版」章節;
- 將這個小工具的簡介設置成「適用於2017 wikitext編輯器的預覽字詞轉換(更多信息)」。
現 公示7日,2021年8月26日 (四) 02:38 (UTC) 結束。
我希望這麼做可以給社群一個好的示範,以供大家效仿。謝謝!--Tranve (✉) 2021年8月19日 (四) 02:38 (UTC)
- (?)疑問:現在已經有一個「預覽字詞轉換」工具的設置項了,為什麼不直接把支持2017編輯器的版本合併進MediaWiki:Gadget-PreviewWithVariant.js?它們都是「預覽字詞轉換」工具。--安憶Talk 2021年8月19日 (四) 03:08 (UTC)
- @AnYiLin:正如我上方所說,試用/測試/公示版小工具當然需要和正式小工具分開。
如果您問的是公示結束後應該如何部署,我想也是分開來為妙。這是為了性能考慮,VE有一個函數可以實現惰性加載,如果用戶不常使用2017編輯器,可以省下一些網絡流量。--Tranve (✉) 2021年8月19日 (四) 04:06 (UTC)- 我預計現在已經開啟第一個「預覽字詞轉換」工具的用戶不會再特意去找第二個開啟,甚至根本不知道此討論和相關更改。而且小工具都是僅下載一次的,之後都在LocalStorage,您不用考慮什麼網絡流量;一些可以復用的代碼得到復用,反而會節約流量。既然都是「預覽字詞轉換」,我想應該放在一起,共同開啟,共同關閉。--安憶Talk 2021年8月19日 (四) 04:19 (UTC)
- 看樣子是我沒有解釋清楚……我的意思說,現在公示的時候分開來,到時候正式部署作為一個小工具部署,但是VE的部分可以檢測用戶是否使用VE,然後惰性加載(加載一個隱藏的小工具),對於最終用戶而言還是一個小工具。一言以蔽之:技術上是兩個,但用戶只會覺得有一個。這麼做是為了節省流量,我覺得如果這樣做能省下一點流量,而對客戶和伺服器又沒有妨害的話,何樂而不為呢?--Tranve (✉) 2021年8月19日 (四) 08:58 (UTC)
- 哦是這樣,那我沒其他問題了。--安憶Talk 2021年8月19日 (四) 09:23 (UTC)
- 看樣子是我沒有解釋清楚……我的意思說,現在公示的時候分開來,到時候正式部署作為一個小工具部署,但是VE的部分可以檢測用戶是否使用VE,然後惰性加載(加載一個隱藏的小工具),對於最終用戶而言還是一個小工具。一言以蔽之:技術上是兩個,但用戶只會覺得有一個。這麼做是為了節省流量,我覺得如果這樣做能省下一點流量,而對客戶和伺服器又沒有妨害的話,何樂而不為呢?--Tranve (✉) 2021年8月19日 (四) 08:58 (UTC)
- 我預計現在已經開啟第一個「預覽字詞轉換」工具的用戶不會再特意去找第二個開啟,甚至根本不知道此討論和相關更改。而且小工具都是僅下載一次的,之後都在LocalStorage,您不用考慮什麼網絡流量;一些可以復用的代碼得到復用,反而會節約流量。既然都是「預覽字詞轉換」,我想應該放在一起,共同開啟,共同關閉。--安憶Talk 2021年8月19日 (四) 04:19 (UTC)
- @AnYiLin:正如我上方所說,試用/測試/公示版小工具當然需要和正式小工具分開。
@AnYiLin:多謝理解,那麼請問能否儘快依照上方方式部署?--Tranve (✉) 2021年8月20日 (五) 01:27 (UTC)
- 等公示流程結束。--安憶Talk 2021年8月20日 (五) 01:34 (UTC)
- 很抱歉之前幾天忙。本來我的意思是說公示的時候加入Beta版方便大家試用的。現在公示期還剩一天,也沒必要這麼幹了……到時候直接正式部署吧。--Tranve (✉) 2021年8月25日 (三) 03:13 (UTC)
- 在原有流程基礎上,為MediaWiki:Gadget-PreviewWithVariant.js追加
mw.hook('ve.wikitextInteractive').add(function() { mw.loader.using('ext.visualEditor.desktopArticleTarget.init').then(function() { mw.libs.ve.addPlugin('ext.gadget.PreviewWithVariant2017') }) });
- 將Gadget-PreviewWithVariant2017設置為hidden,不進行第三點(設置簡介),可否?--安憶Talk 2021年8月25日 (三) 03:28 (UTC)
- PreviewWithVariant2017的依賴是ext.gadget.site-lib、oojs-ui和oojs-ui-core,如有不足,請補充。--安憶Talk 2021年8月25日 (三) 03:39 (UTC)
- 還有就是,是從您用戶空間下直接移動還是複製粘貼,移動是否保留重定向。--安憶Talk 2021年8月25日 (三) 03:42 (UTC)
- @AnYiLin:大體上這些做法我都認同。操作上,到時候用這個頁面的內容換掉MediaWiki:Gadget-PreviewWithVariant.js即可。至於您說的第三點,我建議複製粘貼,這兩個頁面的編輯記錄比較混亂,留著也沒用。其他的都沒有問題。--Tranve (✉) 2021年8月25日 (三) 09:39 (UTC)
- 在原有流程基礎上,為MediaWiki:Gadget-PreviewWithVariant.js追加
- 很抱歉之前幾天忙。本來我的意思是說公示的時候加入Beta版方便大家試用的。現在公示期還剩一天,也沒必要這麼幹了……到時候直接正式部署吧。--Tranve (✉) 2021年8月25日 (三) 03:13 (UTC)
公示結束。現在可以開始部署。--Tranve (✉) 2021年8月26日 (四) 02:48 (UTC)
補充:還需要更改MediaWiki:Gadget-PreviewWithVariant.js的簡介:
預覽字詞轉換:以用戶指定的語言變體顯示預覽(支持2010年和2017年wiki語法text編輯器)
因為wikitext的譯法最近好像統一了,所以就改一下。--Tranve (✉) 2021年8月26日 (四) 02:54 (UTC)
編輯請求 2021-12-14
編輯請求已處理
現因phab:T284625已修復並部署,請將第107行
mw.config.set( 'wgUserLanguage', checkbox.isSelected() ? variant : OLD_VARIANT );
修改為
mw.config.set( 'wgUserVariant', checkbox.isSelected() ? variant : OLD_VARIANT );
並移除105-106行。--Tranve (✉) 2021年12月14日 (二) 12:55 (UTC)
編輯請求 2021-12-16
編輯請求已處理
詳見User talk:Tranve#語言變體預覽小工具之改寫。--Lt2818(留言) 2021年12月16日 (四) 12:59 (UTC)
編輯請求 2021-12-19
編輯請求已處理。--安憶Talk 2021年12月21日 (二) 02:39 (UTC)
增加衛語句應對下拉菜單未選擇的情況,這可能在增加了新語言變種後發生。--Lt2818(留言) 2021年12月19日 (日) 03:37 (UTC)
編輯請求 2022-04-06
編輯請求已處理。--安憶Talk 2022年4月7日 (四) 06:27 (UTC)
現在模塊頁的wgUserVariant
變成了null
,做適應性調整。--Lt2818(留言) 2022年4月6日 (三) 05:59 (UTC)
編輯請求 2022-06-12
編輯請求已處理。--安憶Talk 2022年6月12日 (日) 05:01 (UTC)
維護更新:一、調整部分代碼的格式和命名使其符合格式要求,功能不變;二、添加一些注釋,方便他人閱讀;三、調整頁面頂部的jsdoc。
(注意我的帳戶改了名,或許可以解答一些疑惑)
然後我認為既然IIFE起到的是包裝作用,所以2017版本的加載功能也挪到裡面去了。根據我的判斷應該不會前面的代碼而導致不被執行。
編輯請求 2023-12-28
編輯請求已處理。--安憶Talk 2023年12月31日 (日) 08:34 (UTC)
兼容實時預覽(Realtime Preview),遷移至HanAssist。部署方案如下:
- 小工具定義移除
ext.gadget.site-lib
,添加ext.gadget.HanAssist
。 - 從[1]處複製小工具原始碼。