用戶: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.js 和 MediaWiki:Common.css 引入兩個 HTML 類,分別只在可視化編輯和原始碼編輯下顯示,命名為 visual-show
和 source-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();
});
/* 默认隐藏 visual-show 类,适用于没有开启 JavaScript 的情况,此时可视化编辑器不会加载 */
.visual-show {
display: none;
}