사용자:하늘/addArticleMenuItem-func.js: 두 판 사이의 차이

편집 요약 없음
편집 요약 없음
 
(같은 사용자의 중간 판 42개는 보이지 않습니다)
1번째 줄: 1번째 줄:
mw.loader.load('/index.php?title=사용자:하늘/page.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=사용자:하늘/moveCategory.js&action=raw&ctype=text/javascript');
 
if (mw.config.get('wgCanonicalNamespace') == 'Category') {
newDropdownItemTest = new newDropdownItem(document.querySelector('.content-tools .dropdown-item:last-child'));
newDropdownItemTest.AddItem(function () {
        mw.loader.load('/index.php?title=사용자:하늘/moveCategory.js&action=raw&ctype=text/javascript');
}, '분류 이동하기', '분류를 통째로 이동합니다. !클릭 주의!');
}


if (mw.config.get('wgCanonicalNamespace') == 'User' && mw.config.get('wgPageContentModel') == 'wikitext') {
if (mw.config.get('wgCanonicalNamespace') == 'User' && mw.config.get('wgPageContentModel') == 'wikitext') {
     newDropdownItemTest = new newDropdownItem(document.querySelector('.content-tools .dropdown-item:last-child'));
     window.extendedArticleButtons.AddItem('시리즈:한자사전으로 이동', '시리즈:리브레 한자사전으로 이동하기',
        () => {
            wgPageName = mw.config.get('wgPageName');
            mw.notification.autoHideSeconds = { 'short': 2 };
            const to = '시리즈:리브레 한자사전/' + wgPageName.split('/').pop(); //시리즈:리브레 한자사전/櫻


    newDropdownItemTest.AddItem(function () {
            var page1 = new Page(wgPageName);
        wgPageName = mw.config.get('wgPageName');
            page1.Moveto(to, '시리즈 이전').done(data => {
        mw.notification.autoHideSeconds = { 'short': 2 };
                mw.notify('이동 완료!');
        const to = '시리즈:리브레 한자사전/' + wgPageName.split('/').pop(); //시리즈:리브레 한자사전/櫻
                new mw.Api().postWithEditToken({
        new mw.Api().postWithToken('csrf', {
                    "action": "edit", "format": "json", "contentmodel": "wikitext",
            "action": "move",
                    "title": to.split('/').pop(), //櫻
            "format": "json",
                    "text": "#넘겨주기 [[" + to + "]]",  // #넘겨주기[[시리즈:리브레 한자사전/櫻]]
            "formatversion": "latest",
                }).done(data => {
            "utf8": 1,
                    console.log(data);
            "from": wgPageName,
                }).fail(data => { console.log(data); });
            "to": to,
                location.href = mw.config.values.wgServer + "/wiki/" + to;
            "reason": "시리즈 이전",
             }).fail(data => {
            "movetalk": 1,
                mw.notify('이동 실패');
            "noredirect": 1,
            "movesubpages": 1
        }).done(data => {
            mw.notify('이동 완료!');
            new mw.Api().postWithEditToken({
                "action": "edit", "format": "json", "contentmodel": "wikitext",
                "title": to.split('/').pop(), //櫻
                "text": "#넘겨주기 [[" + to + "]]",  // #넘겨주기[[시리즈:리브레 한자사전/櫻]]
             }).done(data => {
                 console.log(data);
                 console.log(data);
             }).fail(data => { console.log(data); });
             });
             location.href = mw.config.values.wgServer + "/wiki/" + to;
        });
        }).fail(data => {
 
             mw.notify('이동 실패');
    window.extendedArticleButtons.AddItem('본문으로 이전', '사용자 문서를 본문으로 이동합니다.',
             console.log(data);
        () => {
            OO.ui.confirm('사용자 문서를 본문으로 이동합니다.').always(b => {
                if (b) {
                    mw.loader.getScript('/index.php?title=사용자:하늘/page.js&action=raw&ctype=text/javascript').then(function (e) {
                        wgPageName = mw.config.get('wgPageName');
                        mw.notification.autoHideSeconds = { 'short': 2 };
                        const to = wgPageName.split('/').pop(); //사용자:이름/(문서) -> (문서)
                        var page1 = new Page(wgPageName);
                        page1.Moveto(to, '본문으로 이전');
                    });
                }
             });
        });
 
} else if (mw.config.get('wgPageContentModel') == 'wikitext' && mw.config.get('wgAction') == 'view') {
    window.extendedArticleButtons.AddItem('내 위키 링크', '',
        `https://novawiki.kro.kr/wiki/${mw.config.get('wgPageName')}`);
}
 
if (mw.config.get('wgPageContentModel') == 'wikitext') {
    window.extendedArticleButtons.AddItem('넘겨주기 생성', '이 문서로의 넘겨주기를 생성합니다.',
        () => {
             OO.ui.prompt("생성할 넘겨주기 이름을 입력하세요").then(str => {
                if (str && str !== '') {
                    new mw.Api().create(str, {}, `#넘겨주기 [[${mw.config.get('wgTitle')}]]`);
                    return;
                }
             });
            OO.ui.alert("넘겨주기 생성을 취소합니다.");
         });
         });
    }, '시리즈:한자사전으로 이동', '시리즈:리브레 한자사전으로 이동하기');
}
 
if (mw.config.get('wgPageContentModel') == 'wikitext') {


     newDropdownItemTest.AddItem(function () {
     let veLink = new URL(location);
        wgPageName = mw.config.get('wgPageName');
    veLink.search = new URLSearchParams({ 'title': mw.config.get('wgPageName'), 'veaction': 'edit' });
        mw.notification.autoHideSeconds = { 'short': 2 };
        const to = wgPageName.split('/').pop(); //시리즈:리브레 한자사전/櫻
        page1 = new page();
        page1.title = wgPageName;
        page1.Moveto(to);


     }, '본문으로 이전', '사용자 문서를 본문으로 이동합니다.');
     window.extendedArticleButtons.AddItem('시각 편집기', '시각 편집기를 엽니다.', veLink.toString());
}
}

2024년 1월 6일 (토) 18:16 기준 최신판

mw.loader.load('/index.php?title=사용자:하늘/moveCategory.js&action=raw&ctype=text/javascript');

if (mw.config.get('wgCanonicalNamespace') == 'User' && mw.config.get('wgPageContentModel') == 'wikitext') {
    window.extendedArticleButtons.AddItem('시리즈:한자사전으로 이동', '시리즈:리브레 한자사전으로 이동하기', 
        () => {
            wgPageName = mw.config.get('wgPageName');
            mw.notification.autoHideSeconds = { 'short': 2 };
            const to = '시리즈:리브레 한자사전/' + wgPageName.split('/').pop(); //시리즈:리브레 한자사전/櫻

            var page1 = new Page(wgPageName);
            page1.Moveto(to, '시리즈 이전').done(data => {
                mw.notify('이동 완료!');
                new mw.Api().postWithEditToken({
                    "action": "edit", "format": "json", "contentmodel": "wikitext",
                    "title": to.split('/').pop(), //櫻
                    "text": "#넘겨주기 [[" + to + "]]",  // #넘겨주기[[시리즈:리브레 한자사전/櫻]]
                }).done(data => {
                    console.log(data);
                }).fail(data => { console.log(data); });
                location.href = mw.config.values.wgServer + "/wiki/" + to;
            }).fail(data => {
                mw.notify('이동 실패');
                console.log(data);
            });
        });

    window.extendedArticleButtons.AddItem('본문으로 이전', '사용자 문서를 본문으로 이동합니다.', 
        () => {
            OO.ui.confirm('사용자 문서를 본문으로 이동합니다.').always(b => {
                if (b) {
                    mw.loader.getScript('/index.php?title=사용자:하늘/page.js&action=raw&ctype=text/javascript').then(function (e) {
                        wgPageName = mw.config.get('wgPageName');
                        mw.notification.autoHideSeconds = { 'short': 2 };
                        const to = wgPageName.split('/').pop(); //사용자:이름/(문서) -> (문서)
                        var page1 = new Page(wgPageName);
                        page1.Moveto(to, '본문으로 이전');
                    });
                }
            });
        });

} else if (mw.config.get('wgPageContentModel') == 'wikitext' && mw.config.get('wgAction') == 'view') {
    window.extendedArticleButtons.AddItem('내 위키 링크', '', 
        `https://novawiki.kro.kr/wiki/${mw.config.get('wgPageName')}`);
}

if (mw.config.get('wgPageContentModel') == 'wikitext') {
    window.extendedArticleButtons.AddItem('넘겨주기 생성', '이 문서로의 넘겨주기를 생성합니다.',
        () => {
            OO.ui.prompt("생성할 넘겨주기 이름을 입력하세요").then(str => {
                if (str && str !== '') {
                    new mw.Api().create(str, {}, `#넘겨주기 [[${mw.config.get('wgTitle')}]]`);
                    return;
                }
            });
            OO.ui.alert("넘겨주기 생성을 취소합니다.");
        });
}

if (mw.config.get('wgPageContentModel') == 'wikitext') {

    let veLink = new URL(location);
    veLink.search = new URLSearchParams({ 'title': mw.config.get('wgPageName'), 'veaction': 'edit' });

    window.extendedArticleButtons.AddItem('시각 편집기', '시각 편집기를 엽니다.', veLink.toString());
}