跳转到内容

User:Kurgenera/unref.js

维基百科,自由的百科全书
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google ChromeFirefoxMicrosoft EdgeSafari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
// 小型维护模板添加器框架
$(function() {
    // 确保页面已加载 MediaWiki API 库
    if (!window.mw || !mw.loader.getState('mediawiki.api')) {
        return;
    }

    // 1. 配置:请修改以下两行
    var TEMPLATE_TO_ADD = '{{Unreferenced}}'; // <-- 修改成你要添加的模板,例如 {{Unreferenced}} 或 {{Cleanup}}
    var EDIT_SUMMARY = '使用简易脚本添加 ' + TEMPLATE_TO_ADD + ' 维护模板'; 

    // 2. 限制:确保只在文章命名空间运行 (Namespace ID 0)
    if (mw.config.get('wgNamespaceNumber') !== 0) {
        return;
    }

    // 3. 创建界面按钮 (将按钮添加到“动作”菜单栏)
    mw.util.addPortletLink(
        'p-cactions',            // 目标菜单栏ID
        '#',                     // 链接目标
        '添加 ' + TEMPLATE_TO_ADD.replace(/\{\{|\}\}/g, ''), // 链接文本,例如“添加 Unreferenced”
        'ca-quick-maint',        // 链接ID
        '快速将维护模板添加到条目顶部',
        null,                    // 访问键
        '#ca-viewsource'         // 插入到“查看源代码”之前
    );
    
    // 4. 绑定点击事件和 API 调用
    $('#ca-quick-maint a').on('click', function(e) {
        e.preventDefault();
        
        if (!confirm('确定要将 ' + TEMPLATE_TO_ADD + ' 模板添加到当前条目顶部吗?')) {
            return;
        }

        // 使用 MediaWiki API 提交编辑
        new mw.Api().postWithToken('csrf', {
            action: 'edit',
            title: mw.config.get('wgPageName'),
            prependtext: TEMPLATE_TO_ADD + '\n', // 将模板添加到当前内容的开头
            summary: EDIT_SUMMARY,
            nocreate: true // 确保只编辑现有页面
        }).then(function() {
            alert('维护模板添加成功!页面即将刷新。');
            window.location.reload(); // 刷新页面查看结果
        }, function(error) {
            alert('编辑失败,请检查控制台获取更多信息: ' + error);
        });
    });
});