Увага: Після публікування слід очистити кеш браузера, щоб побачити зміни.

  • Firefox / Safari: тримайте Shift, коли натискаєте Оновити, або натисніть Ctrl-F5 чи Ctrl-Shift-R (⌘-R на Apple Mac)
  • Google Chrome: натисніть Ctrl-Shift-R (⌘-Shift-R на Apple Mac)
  • Internet Explorer / Edge: тримайте Ctrl, коли натискаєте Оновити, або натисніть Ctrl-F5
  • Opera: натисніть Ctrl-F5
new mw.Api().get({
    action: 'query',
    generator: 'search',
    gsrsearch: 'insource:"<references/>"',
    // gsrsearch: 'insource:igshid',
    // gsrsearch: 'insource:/==Біографія ==/',
    meta: 'tokens',
    gsrlimit: 1000,
    prop: 'revisions',
    rvslots: '*',
    rvdir: 'older',
    rvprop: ['ids', 'content']
}).done(data => {
    const token = data.query.tokens.csrftoken;

    Object.keys(data.query.pages).forEach((pageid, i) => {
        const page = data.query.pages[pageid];
        const { title } = page;
        let text = page.revisions[0].slots.main['*'];
        
        // const text = content.replace(/==Біографія ==/g, "== Життєпис ==");
        text = text.replace(/<references\/>/gi, '{{reflist}}');
        text = text.replace(/<references \/>/gi, '{{reflist}}');
        text = text.replace(/(&|\?)(fbcl|igsh|g)id=[A-Za-z0-9_-]*[/]?/g, '');
        text = text.replace(/(&)?(utm_source|utm_campaign|utm_medium|utm_referrer|utm_term|utm_media|utm_content)=[A-Za-z0-9.()_\+%-]*[/]?/g, '');
        
        setTimeout(() => {
            new mw.Api().post({
                action: 'edit',
                bot: true,
                token,
                pageid,
                text,
                minor: true,
                summary: 'references -> reflist'
            }).done(() => console.log(`[${pageid}] ${title} updated`));
        }, i * 5000);
    });
});