用戶:WhitePhosphorus/failcodes

維基百科,自由的百科全書

這些是白磷寫的因種種原因無法投入使用的代碼,留在這裏備用。

AF檢測Wikipedia:協作計劃/消息訂閱中添加不合法的用戶名

(action == "edit")
& (article_prefixedtext == "Wikipedia:协作计划/消息订阅")
& (rmwhitespace(added_lines) !== "")
& (!("\"description\": " in added_lines) | count("\n", added_lines) > 1)
& !(added_lines irlike "\"title\":[ \t]*\"user([ _]*talk)?:")
  • 本來想用new_content_model == "MassMessageListContent"判斷,這樣普適性大一些。然而做了batch test好像只有改內容模型時才會有這個參數Orz。
  • 為什麼失敗呢?往MMS名單裏加東西時,不會看到過濾器的提示,又能直接繞過警告。阻止倒是能攔下,但沒有任何提示也看不到自己的編輯,這種效果與設置AF的目的背道而馳。

只在可視化編輯/原始碼編輯模式下顯示的內容

由於現時一些提示語只針對原始碼編輯(例如這個過濾器警告),可能會給可視化編輯使用者帶來困惑,現在此提案修改 MediaWiki:Common.jsMediaWiki:Common.css 引入兩個 HTML 類,分別只在可視化編輯和原始碼編輯下顯示,命名為 visual-showsource-show,以方便過濾器警告語以及編輯提示等的製作。

具體編輯如下:MediaWiki:Common.js 增加

mw.hook( 've.activationComplete' ).add( function () {
	// 可视化编辑器已加载完成
	var surface = ve.init.target.getSurface();
	console.log(surface.getMode());
	if ( surface.getMode() === 'visual' ) {
		console.log('v');
        // 可视化模式
        $('.source-show').hide();
        $('.visual-show').show();
    } else if ( surface.getMode() === 'source' ) {
    	console.log('s');
        // 可视化编辑器的源代码模式
        $('.source-show').show();
        $('.visual-show').hide();
    }
});
mw.hook( 've.deactivationComplete' ).add( function () {
	console.log('d');
	// 可视化编辑器切换到源代码编辑
    $('.source-show').show();
    $('.visual-show').hide();
});

MediaWiki:Common.css 增加

/* 默认隐藏 visual-show 类,适用于没有开启 JavaScript 的情况,此时可视化编辑器不会加载 */
.visual-show {
    display: none;
}

以上。 --碸中嘌呤的白磷萃取 打譜 2020年2月14日 (五) 11:28 (UTC)

然而編輯提示之類的加載是在 ve.activationComplete 後頭,所以沒法用。 --碸中嘌呤的白磷萃取 打譜 2020年2月14日 (五) 11:28 (UTC)