User: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;
}