您似乎还未注册一个账号?我们强烈推荐您点击此处创建一个账户。|如果您在H萌娘上发现某些内容错误/空缺/不中立,请勇于按右上角编辑按钮!

Widget:TalkToc:修订间差异

H萌娘,万物皆可H的百科全书!
跳转到导航 跳转到搜索
imported>=海豚=
无编辑摘要
已还原Redayano讨论)的编辑至最后由BakeWater修订的版本
标签回退
 
(未显示4个用户的71个中间版本)
第1行: 第1行:
<noinclude>Only for [[Talk:讨论版]] & [[Talk:提问求助区]]</noinclude><includeonly><!--{if !isset($wgTalkToc) || !$wgTalkToc}--><!--{assign var="wgTalkToc" value=true scope="global"}--><script>
<noinclude>Only for Talk</noinclude><includeonly><!--{if !isset($wgTalkToc) || !$wgTalkToc}--><!--{assign var="wgTalkToc" value=true scope="global"}--><script>
window.RLQ = window.RLQ || [];
window.addEventListener('jquery-ready', function() {
window.RLQ.push(function() {
    if (location.hostname.includes("m.hmoegirl.info")) return;
     mw.hook('wikipage.content').add(function() {
     mw.loader.using(["oojs-ui"]).then(function() {
         if (!mw.config.get('talkTocLoaded')) {
         if (!mw.config.get('talkTocLoaded', false)) {
             mw.config.set('talkTocLoaded', window.setInterval(function() {
             mw.config.set('talkTocLoaded', true);
                 if (mw.config.get('talkTocStop')) return;
            if (!$('#talkTocBox')[0]) {
                if (!$('#talkTocBox')[0]) {
                 if (localStorage.getItem('widgetTalkToc') === 'disable') {
                    console.debug('widgetTalkToc', 'initing');
                    $('body').addClass('widgetTalkTocDisable');
                     var $toc = $('#toc'),
                    $('.toctitle').after('<' + 'div style="text-align: center;">[<' + 'a class="enableWidgetTalkToc">启用讨论页面整理工具<' + '/a>]<' + '/div>');
                        $tocBox, $level2, $li, $svdDcs, $title, $toggle, $tocText,
                    $('.enableWidgetTalkToc').on('click', function() {
                        appendToggleButton;
                        localStorage.setItem('widgetTalkToc', 'enable');
                        $(this).text('启用成功!刷新页面中……');
                        setTimeout(location.reload.bind(location), 150);
                     });
                    return;
                }
 
                $('body').addClass('widgetTalkTocEnable');
                var toclist = ['tocBox', 'talkTocBox', 'toc'],
                    bgcolor = $('body').css('background-color'),
                    $toc = $('#toc'),
                    titlereg = {},
                    $tocBox, $level2, $li, $svdDcs, $title, $toggle, $tocText,
                    appendToggleButton;


                 /* 预处理 */
                 /* 预处理 */
第83行: 第96行:


                 /* 业务处理*/
                 /* 业务处理*/
                //添加存档讨论串标题toggle按钮
                if ($svdDcs[0]) {
                    $toggle.append($('<' + 'a/>', {
                        text: '显示已被存档标题',
                        'class': 'toggleButton',
                        href: 'javascript:void(0);',
                        on: {
                            click: function() {
                                if ($svdDcs.hasClass('hiddenDiscussion')) {
                                    $svdDcs.removeClass('hiddenDiscussion');
                                    $(this).text('隐藏已被存档标题');
                                } else {
                                    $svdDcs.addClass('hiddenDiscussion');
                                    $(this).text('显示已被存档标题');
                                }
                            }
                        }
                    }));
                    $tocText.append("<" + "div class='tocText'>(有下划线标题是已被存档标题)<" + "/div>");
                }
                 //添加二三四五级标题toggle按钮和标题数量
                 //添加二三四五级标题toggle按钮和标题数量
                 appendToggleButton($level2, $toggle, '显示段落', '隐藏段落', function() {
                 appendToggleButton($level2, $toggle, '显示段落', '隐藏段落', function() {
第101行: 第134行:
                 containers.first().before('<' + 'div id="talkTocBox"><' + 'table><' + '/table><' + '/div>');
                 containers.first().before('<' + 'div id="talkTocBox"><' + 'table><' + '/table><' + '/div>');
                 var self = $('#talkTocBox table'),
                 var self = $('#talkTocBox table'),
                     a = $('<' + 'a/>').text('显示已存档讨论串标题');
                     a = $('<' + 'a/>').text('');
                 self.append('<' + 'caption/>').find('caption').append(mw.config.get('wgTitle') + '现有讨论串').append(' [').append(a).append(']<' + 'br>').append('(有下划线标题是已被存档讨论串标题)')
                 self.append('<' + 'caption/>').find('caption').append('<br/>').append('').append(a).append('')
                     .end().append('<' + 'tbody/>');
                     .end().append('<' + 'tbody/>');
                 containers.not('.savedDiscussion').each(function(i) {
                 containers.not('.savedDiscussion').each(function(i) {
第113行: 第146行:
                             if (!href) return;
                             if (!href) return;
                             var link = new mw.Uri(href);
                             var link = new mw.Uri(href);
                             if (link.host !== 'www.hmoegirl.com') this.userNameErrorReason = "link.host !== 'www.hmoegirl.com'";
                             if (link.host !== 'www.moegirl.com') this.userNameErrorReason = "link.host !== 'www.moegirl.com'";
                             else if (/^\/api\.php/i.test(link.path)) this.userNameErrorReason = "!!/^\\/api\\.php/i.test(link.path)";
                             else if (/^\/api\.php/i.test(link.path)) this.userNameErrorReason = "!!/^\\/api\\.php/i.test(link.path)";
                             else if (!link.query.title && /\.php$/i.test(link.path)) this.userNameErrorReason = "!!(!link.query.title && /\\.php$/i.test(link.path))";
                             else if (!link.query.title && /\.php$/i.test(link.path)) this.userNameErrorReason = "!!(!link.query.title && /\\.php$/i.test(link.path))";
第176行: 第209行:
                     if (i % 4 === 0) self.find('tbody:last').append('<' + 'tr/>');
                     if (i % 4 === 0) self.find('tbody:last').append('<' + 'tr/>');
                     self.find('tr:last').append('<' + 'td><' + 'a class="savedTitle" href="#' + $(this).find('.mw-headline:first').attr('id').replace(/"/g, "&quot;") + '">' + $(this).clone().find('.mw-headline:first').children('.mw-headline-number').remove().end().prepend(containers.index(this) + 1 + ' ').text() + '<' + '/a><' + '/td>');
                     self.find('tr:last').append('<' + 'td><' + 'a class="savedTitle" href="#' + $(this).find('.mw-headline:first').attr('id').replace(/"/g, "&quot;") + '">' + $(this).clone().find('.mw-headline:first').children('.mw-headline-number').remove().end().prepend(containers.index(this) + 1 + ' ').text() + '<' + '/a><' + '/td>');
                });
                a.on('click', function() {
                    self.find('tbody').not(':first').fadeToggle();
                    $(this).text($(this).text() === '显示已存档讨论串标题' ? '隐藏已存档讨论串标题' : '显示已存档讨论串标题');
                 });
                 });
                 self.find('tbody').not('.hr').each(function() {
                 self.find('tbody').not('.hr').each(function() {
第181行: 第218行:
                     that.append(("<" + "td>&#32;<" + "/td>").repeat(4 - that.find("td").length));
                     that.append(("<" + "td>&#32;<" + "/td>").repeat(4 - that.find("td").length));
                 });
                 });
                 $('#talkTocBox caption').append('<' + 'br>[').append($('<' + 'a/>').addClass('cbutton')).append(']');
                 $('#talkTocBox caption').append('').append($('<' + 'a/>').addClass('cbutton')).append('');
                 $('#tocText').append('<' + 'br>[').append($('<' + 'a/>').addClass('cbutton')).append(']');
                 $('#tocText').append('<' + 'br>').append($('<' + 'a/>').addClass('cbutton')).append('');
                 $('.cbutton').on('click', function() {
                 $('.cbutton').on('click', function() {
                     if (!localStorage.wgTocStyle || localStorage.wgTocStyle !== 'list') {
                     if (!localStorage.wgTocStyle || localStorage.wgTocStyle !== 'list') {
第188行: 第225行:
                         $('#tocBox').show();
                         $('#tocBox').show();
                         localStorage.setItem('wgTocStyle', 'list');
                         localStorage.setItem('wgTocStyle', 'list');
                         $('.cbutton').text('点击切换至表格格式');
                         $('.cbutton').text('');
                         $(toclist.filter(function(l) {
                         $(toclist.filter(function(l) {
                             return l !== "tocBox";
                             return l !== "tocBox";
                         }).map(function(l) {
                         }).map(function(l) {
                             return 'a[href="#' + l + '"]';
                             return 'a[href="#' + l + '"';
                         }).join(', ')).attr("href", "#tocBox");
                         }).join(', ')).attr("href", "#tocBox");
                     } else {
                     } else {
第198行: 第235行:
                         $('#tocBox').hide();
                         $('#tocBox').hide();
                         localStorage.setItem('wgTocStyle', 'table');
                         localStorage.setItem('wgTocStyle', 'table');
                         $('.cbutton').text('点击切换至列表格式');
                         $('.cbutton').text('');
                         $(toclist.filter(function(l) {
                         $(toclist.filter(function(l) {
                             return l !== "talkTocBox";
                             return l !== "talkTocBox";
                         }).map(function(l) {
                         }).map(function(l) {
                             return 'a[href="#' + l + '"]';
                             return 'a[href="#' + l + '"';
                         }).join(', ')).attr("href", "#talkTocBox");
                         }).join(', ')).attr("href", "#talkTocBox");
                     }
                     }
第208行: 第245行:
                 if (!localStorage.wgTocStyle || localStorage.wgTocStyle !== 'list') {
                 if (!localStorage.wgTocStyle || localStorage.wgTocStyle !== 'list') {
                     $('#talkTocBox').show();
                     $('#talkTocBox').show();
                     $('.cbutton').text('点击切换至列表格式');
                     $('.cbutton').text('');
                     $(toclist.filter(function(l) {
                     $(toclist.filter(function(l) {
                         return l !== "talkTocBox";
                         return l !== "talkTocBox";
                     }).map(function(l) {
                     }).map(function(l) {
                         return 'a[href="#' + l + '"]';
                         return 'a[href="#' + l + '"';
                     }).join(', ')).attr("href", "#talkTocBox");
                     }).join(', ')).attr("href", "#talkTocBox");
                 } else {
                 } else {
                     $('#tocBox').show();
                     $('#tocBox').show();
                     $('.cbutton').text('点击切换至表格格式');
                     $('.cbutton').text('');
                     $(toclist.filter(function(l) {
                     $(toclist.filter(function(l) {
                         return l !== "tocBox";
                         return l !== "tocBox";
                     }).map(function(l) {
                     }).map(function(l) {
                         return 'a[href="#' + l + '"]';
                         return 'a[href="#' + l + '"';
                     }).join(', ')).attr("href", "#tocBox");
                     }).join(', ')).attr("href", "#tocBox");
                 }
                 }
第255行: 第292行:
                 }).trigger('hashchange');
                 }).trigger('hashchange');
                 const g = ["sysop", "patroller"];
                 const g = ["sysop", "patroller"];
                if (mw.config.get("wgUserGroups").filter(n => g.includes(n)).length === 0) {
                    switch (mw.config.get("wgArticleId")) {
                        case 256948:
                        case 17801:
                            $("#right-navigation").addClass("no-need-to-edit-whole-page").find("#p-views > ul").append('<li id="ca-no-need-to-edit-whole-page-notice" class="collapsible"><span><a href="javascript:void(0);">请勿编辑全文</a></span></li>').find("#ca-no-need-to-edit-whole-page-notice a").on("click", function() {
                                var messageDialog = new OO.ui.MessageDialog();
                                var windowManager = new OO.ui.WindowManager();
                                $("body").append(windowManager.$element);
                                windowManager.addWindows([messageDialog]);
                                messageDialog.title.$label.html("萌娘百科提醒您<br>公共讨论页无需编辑全文");
                                messageDialog.message.$label.html("<br>提问求助区、讨论版属于公共讨论页,一般来说无须编辑全文,故我们隐藏了入口。<hr>您可以点击下方标题旁的<b>【编辑】链接</b>来编辑对应段落,也可以点击右上方<b>【添加话题】链接</b>来新增话题。");
                                windowManager.openWindow(messageDialog, {
                                    actions: [{
                                        action: 'accept',
                                        label: '我知道了',
                                        flags: 'primary'
                                    }]
                                });
                            });
                            break;
                    }
                }
             }
             }
         }
         }
第283行: 第298行:
</script><style>
</script><style>
/* <pre> */
/* <pre> */
@media screen and (min-width: 600px) {
body {
    opacity: 0.95;
    background-image:url(https://www.hmoegirl.info/images/a/af/%E8%AE%A8%E8%AE%BA%E7%89%88%E8%AF%8D%E4%BA%91.jpg);
    background-repeat:no-repeat;
}
}
#ca-nstab-project {   
display: none;
}
.widgetTalkTocEnable #tocBox {
.widgetTalkTocEnable #tocBox {
     max-width: 37%;
     max-width: 37%;
第291行: 第316行:
     display: table;
     display: table;
}
}
.widgetTalkTocEnable div.toc#toc {
.widgetTalkTocEnable div.toc#toc:not(.toc-custom) {
     min-width: 300px;
     min-width: 300px;
     box-sizing: border-box;
     box-sizing: border-box;
第341行: 第366行:
     display: inline-block;
     display: inline-block;
}
}
.widgetTalkTocEnable
#toc:not(.toc-custom),
/* 节操酱的beg */
.widgetTalkTocEnable #content ol,
.widgetTalkTocEnable #content ul {
    margin: 0 !important;
    padding: 0.3em 0 0 1.6em !important;
}
.widgetTalkTocEnable #toc .toclevel-1>ul {
    padding-left: 0 !important;
}
.widgetTalkTocEnable
/* 由于节操酱的beg导致分类那边有秘制空白 */
.widgetTalkTocEnable #content #catlinks ol,
.widgetTalkTocEnable #content #catlinks ul {
    padding: 0 !important;
}
#toc,
#tocBox,
#tocBox,
#talkTocBox {
#talkTocBox {
     display: none;
     display: none;
}
}
.widgetTalkTocDisable #toc {
.widgetTalkTocDisable #toc:not(.toc-custom) {
     display: table;
     display: table;
}
}
第387行: 第396行:
.widgetTalkTocEnable .cbutton {
.widgetTalkTocEnable .cbutton {
     cursor: pointer;
     cursor: pointer;
}
#ca-edit, #ca-editTopSection .mw-editsection {
    display: none !important;
}
}
.signInfo {
.signInfo {
第411行: 第423行:
#right-navigation.no-need-to-edit-whole-page ul>li#Wikiplus-Edit-TopBtn,
#right-navigation.no-need-to-edit-whole-page ul>li#Wikiplus-Edit-TopBtn,
#right-navigation.no-need-to-edit-whole-page ul>li#ca-edit,
#right-navigation.no-need-to-edit-whole-page ul>li#ca-edit,
#right-navigation.no-need-to-edit-whole-page ul>li#ca-editTopSection {
#right-navigation.no-need-to-edit-whole-page ul>li#ca-editTopSection{
     display: none;
     display: none;
}
}
.cloaked-element.transparent-shield {
.cloaked-element.transparent-shield {
     z-index: 9999999;
     z-index: 9999999;
}
.navpopup {
    z-index: 1000000;
}
}
/* </pre> */
/* </pre> */
</style><!--{/if}--></includeonly>
</style><!--{/if}--></includeonly>

2023年8月18日 (五) 10:14的最新版本

Only for Talk