“Widget:TalkToc”与“Widget:萌百条目”:页面之间的差异

H萌娘,万物皆可H的百科全书!
(页面间差异)
跳到导航 跳到搜索
imported>=海豚=
无编辑摘要
 
imported>=海豚=
无编辑摘要
 
第1行: 第1行:
<noinclude>Only for Talk</noinclude><includeonly><!--{if !isset($wgTalkToc) || !$wgTalkToc}--><!--{assign var="wgTalkToc" value=true scope="global"}--><script>
<noinclude>Only for {{tl|萌百页面嵌入}}</noinclude>
<includeonly>
<style>
/* <pre> */
@media screen and (min-width: 600px) {body {background-image:url(https://www.hmoegirl.com/images/e/ef/%E7%AE%B1%E5%AD%90%E9%87%8C%E7%9A%84%E8%90%8C%E7%99%BE%E5%A8%98_.png);background-size:650px;}}
#moe a {color: #00AF89;}
#moe a.new {color: #BA0000!important;}
#moe a.external {color: #36b!important;}
#moe a.mw-collapsible-text {color: #3366cc!important;}
#moe .heimu a, a .heimu {color: #00AF89!important;}
#moe .colormu {background-color: rgba(37,37,37,0.1)!important;}
.skin-vector #moe table {box-shadow: 0 1px 3px rgb(0 0 0 / 12%), 0 1px 2px rgb(0 0 0 / 24%);border-radius: 4px;overflow: hidden;}
#moe .infotemplatebox {box-shadow: none!important;}
.mw-editmoegirl {display:block!important;}
#ca-ve-edit,#ca-editTopSection .mw-editsection {display: none !important;}
#moe .bilibili-toggle {display: none !important;}
#moe .bilibili-title {padding: .2em 2em .2em 1em !important;}
#moe li.gallerybox {display: inline-block;width: 100%; height: auto;}
#moe .reference> a {color: #36b!important;}
#moe .mw-cite-backlink> a {color: #36b!important;}
#moe pre {display: none!important;}
/* </pre> */
</style>
 
<script>
window.RLQ = window.RLQ || [];
window.RLQ = window.RLQ || [];
window.RLQ.push(function() {
window.RLQ.push(function() {
   if (location.hostname.includes("m.hmoegirl.com")) return;
mw.loader.using('mediawiki.notification').then(function() {
   mw.loader.using(["oojs-ui"]).then(function() {
mw.notify(' 页面 部分 容引自萌娘百科,遵循CC BY-NC-SA 3.0 协议,受版权保护。', { type: 'warn' });
     if (!mw.config.get('talkTocLoaded', false)) {
mw.notify('页 面部分内容由程序自动获取生成,有缓存时限,如果为空白请去萌娘百科完成人机认证 再试。' );
       mw.config.set('talkTocLoaded', true);
       if (!$('#talkTocBox')[0]) {
         if (localStorage.getItem('widgetTalkToc') === 'disable') {
           $('body').addClass('widgetTalkTocDisable');
           $('.toctitle').after('<' + 'div style="text-align: center;">[<' + 'a class="enableWidgetTalkToc">启用讨论页面整理工具<' + '/a>]<' + '/div>');
           $('.enableWidgetTalkToc').on('click', function() {
             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;
 
         /* 预处理 */
         //备份目录
         $toc.after($toc.clone().hide().attr('id', 'tocClone'));
         //整理讨论串
         $('#mw-content-text > .mw-parser-output > h2').each(function() {
           var head = $(this);
           var container = $('<' + 'div/>');
           container.addClass('discussionContainer');
           head.addClass('discussionHead');
           head.before(container);
           head.nextUntil('h2').not('h2').appendTo(container);
           head.prependTo(container);
           if (container.find('.saveNotice')[0] && head.nextUntil(".saveNotice").length === 0) {
             $toc.find('a[href="#' + head.find('.mw-headline')[0].id.replace(/"/g, '\\\"') + '"]').parent().addClass("savedDiscussion hiddenDiscussion");
             container.addClass('savedDiscussion');
           } else if (window.CSS && CSS.supports && CSS.supports('position', 'sticky')) {
             head.css({
               position: 'sticky',
               top: 0,
               'background-color': bgcolor,
               'z-index': 2
             });
             container.css('position', 'relative');
           }
         });
 
         // Temporary padding fix for Microsoft Edge
         // TODO: Report this issue to Edge team
         if (/Edge/.test(navigator.userAgent)) {
           $('.discussionContainer').css('padding-top', '10px');
         }
 
         //整理标题列表
         $toc.append("<" + "ol style='margin-left: 1.7em;'><" + "/ol>").after('<' + 'div id="tocBox"><' + '/div>');
         $toc.children('ul').children().appendTo($toc.find('ol'));
         $toc.find(".toclevel-1 > a > .tocnumber").remove();
         $toc.appendTo("#tocBox");
 
         /* 定义变量 */
         $tocBox = $('#tocBox');
         $level2 = $toc.find('.toclevel-2').hide();
         $li = $toc.find('ol > li');
         $svdDcs = $toc.find('.savedDiscussion');
         $title = $toc.find('.toctitle').css("margin-right", "1em").append('<' + 'span id="toctoggle"><' + '/span>');
         $toggle = $title.append('<' + 'div id="toggle"><' + '/div>').find('#toggle');
         $tocText = $title.after('<' + 'div id="tocText"><' + '/div>').parents('#toc').find('#tocText');
         appendToggleButton = function($Obj, $set, shTx, hiTx, fun) {
           if (!$Obj[0]) return false;
           $set.append($('<' + 'a/>', {
             text: function() {
               if ($Obj.is(':visible')) return hiTx;
               else return shTx;
             },
             'class': 'toggleButton',
             href: 'javascript:void(0);',
             bind: {
               click: function() {
                 if ($Obj.is(':visible')) {
                   $Obj.hide();
                   $(this).text(shTx);
                 } else {
                   $Obj.show();
                   $(this).text(hiTx);
                 }
               }
             }
           }));
           if (typeof fun == 'function') fun();
         };
 
         /* 业务处理*/
         //添加存档讨论串标题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按钮和标题数量
         appendToggleButton($level2, $toggle, '显示段落', '隐藏段落', function() {
           $tocText.append("<" + "div class='tocText'>(中括号 数字是该大段下小段数量)<" + "/div>");
           $toc.find('.toclevel-1').each(function() {
             var subtitleLength = $(this).find('.toctext').length - 1;
             if (subtitleLength) $(this).children('a').after('[' + subtitleLength + ']');
           });
         });
         //添加整体toggle按钮
         appendToggleButton($toc.find('ol'), $title.find('#toctoggle'), '显示', '隐藏');
         $('#toc').addClass('noOrigin');
         /*
         $('.saveNotice').each(function() {
           $(this).prev('h2').addClass('savedNotice');
         });*/
         var containers = $('.discussionContainer');
         containers.first().before('<' + 'div id="talkTocBox"><' + 'table><' + '/table><' + '/div>');
         var self = $('#talkTocBox table'),
           a = $('<' + 'a/>').text('');
         self.append('<' + 'caption/>').find('caption').append('<br/>').append('').append(a).append('')
           .end().append('<' + 'tbody/>');
         containers.not('.savedDiscussion').each(function(i) {
           if (i % 4 === 0) self.find('tbody:last').append('<' + 'tr/>');
           var that = $(this);
           /* var content = that.children().not('h2');
           content.find('a').each(function() {
             try {
               var href = $(this)[0].href;
               if (!href) return;
               var link = new mw.Uri(href);
               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 (!link.query.title && /\.php$/i.test(link.path)) this.userNameErrorReason = "!!(!link.query.title && /\\.php$/i.test(link.path))";
               else {
                 var t = link.query.title || decodeURIComponent(link.path.substring(1));
                 if (/^user([ _]talk)?:[^\/]+$/i.test(t)) $(this).data('userName', t.replace(/^user([ _]talk)?:/i, '')).addClass('userTalkPage');
                 else this.userNameErrorReason = "!!/^user([ _]talk)?:[^\\/]+$/i.test(t)";
               }
             } catch (e) {
               return;
             }
           });
           content.find('.userTalkPage').each(function() {
             var parent = $(this).closest(containers).clone();
             var now = Date.now() + (Math.random() + '').substring(2);
             parent.find('.userTalkPage').text(now);
             var regExec = RegExp(now + '(.*)(\\d{4}年([1-9]|1[0-2])月([1-9]|[12]\\d|3[01])日\\s{0,10}\\([一二三四五六日]\\)\\s{0,10}([01]\\d|2[0-3]):[0-5]\\d\\s{0,10}(\\([A-Z]{3}\\))?)').exec(parent.text());
             if (!regExec || regExec[1].length > 20) {
               this.userNameErrorReason = 'Too far away from timestamp (' + (regExec ? regExec[1].length : 'null') + ')';
               this.userNameErrorRegExec = regExec;
               $(this).removeClass('userTalkPage');
             } else $(this).data('userTalkTime', regExec[2]);
           });
           var userTalkPage = [];
           content.find('.userTalkPage').each(function() {
             var timestamp = $(this).data('userTalkTime').replace(/ \([A-Z]{3,4}\)$|\([日一二三四五六]\)/g, ''),
               date = new Date(),
               time = timestamp.split(/[年月日\s\(\)\:]+/).map(function(n) {
                 return +n;
               });
             if (!time || !time[4]) return $(this).removeClass('.userTalkPage')[0].userNameErrorReason = 'Error Timestamp(' + timestamp + ')';
             date.setFullYear(time[0]);
             date.setMonth(time[1] - 1);
             date.setDate(time[2]);
             date.setHours(time[3]);
             date.setMinutes(time[4]);
             userTalkPage.push([$(this).data('userName'), timestamp, date.getTime()]);
           });
           if (!userTalkPage[0]) userTalkPage.push(['Unsigned user/Nonstandard sign', 'Unknown Time']);
           else userTalkPage.sort(function(a, b) {
             return a[2] - b[2]
           });
           var firstName = userTalkPage[0],
             lastName = userTalkPage[userTalkPage.length - 1];
           titlereg[that.find('.mw-headline:first').attr('id')] = that;*/
           self.find('tr:last').append('<' + 'td><' + '/td>')
             .find('td:last').append(
               $('<' + 'a/>').attr('href', '#' + that.find('.mw-headline:first').attr('id').replace(/"/g, "&quot;")).append(that.find('.mw-headline:first').clone().find('a').replaceWith(function() {
                 return $(this).text();
               }).end().html())
             );
           /* .append(
             $('<' + 'div/>').addClass('signInfo').append('话题发起:' + (firstName[0] === 'Unsigned user/Nonstandard sign' ? 'Unsigned user/Nonstandard sign' : '<' + 'a href="/User_talk:' + firstName[0] + '" title="' + firstName[0] + '的讨论 " target="_blank">' + firstName[0].replace(/_/g, ' ') + '<' + '/a>'))
             .append('<' + 'br>最 回复:' + (lastName[0] === 'Unsigned user/Nonstandard sign' ? 'Unsigned user/Nonstandard sign' : '<' + 'a href="/User_talk:' + lastName[0] + '" title="' + lastName[0] + '的讨论页" target="_blank">' + lastName[0].replace(/_/g, ' ') + '<' + '/a>') + '(' + lastName[1] + ')')
           ); */
         });
         /* if ($('.signInfo').filter(function() {
             return $(this).text().indexOf('Unsigned user/Nonstandard sign') !== -1;
           }).length * 2 > $('.signInfo').length) $('.signInfo').hide(); */
         self.append('<' + 'tbody class="hr"><' + 'tr><' + 'td colspan="4"> <' + '/td><' + '/tr><' + '/tbody>').append('<' + 'tbody/>').find('tbody').not(':first').hide();
         containers.filter('.savedDiscussion').each(function(i) {
           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>');
         });
         a.on('click', function() {
           self.find('tbody').not(':first').fadeToggle();
           $(this).text($(this).text() === '显示已存档讨论串标题' ? '隐藏已存档讨论串标题' : '显示已存档讨论串标题');
         });
         self.find('tbody').not('.hr').each(function() {
           var that = $(this).find('tr:last');
           that.append(("<" + "td>&#32;<" + "/td>").repeat(4 - that.find("td").length));
         });
         $('#talkTocBox caption').append('').append($('<' + 'a/>').addClass('cbutton')).append('');
         $('#tocText').append('<' + 'br>').append($('<' + 'a/>').addClass('cbutton')).append('');
         $('.cbutton').on('click', function() {
           if (!localStorage.wgTocStyle || localStorage.wgTocStyle !== 'list') {
             $('#talkTocBox').hide();
             $('#tocBox').show();
             localStorage.setItem('wgTocStyle', 'list');
             $('.cbutton').text('');
             $(toclist.filter(function(l) {
               return l !== "tocBox";
             }).map(function(l) {
               return 'a[href="#' + l + '"';
             }).join(', ')).attr("href", "#tocBox");
           } else {
             $('#talkTocBox').show();
             $('#tocBox').hide();
             localStorage.setItem('wgTocStyle', 'table');
             $('.cbutton').text('');
             $(toclist.filter(function(l) {
               return l !== "talkTocBox";
             }).map(function(l) {
               return 'a[href="#' + l + '"';
             }).join(', ')).attr("href", "#talkTocBox");
           }
         });
         if (!localStorage.wgTocStyle || localStorage.wgTocStyle !== 'list') {
           $('#talkTocBox').show();
           $('.cbutton').text('');
           $(toclist.filter(function(l) {
             return l !== "talkTocBox";
           }).map(function(l) {
             return 'a[href="#' + l + '"';
           }).join(', ')).attr("href", "#talkTocBox");
         } else {
           $('#tocBox').show();
           $('.cbutton').text('');
           $(toclist.filter(function(l) {
             return l !== "tocBox";
           }).map(function(l) {
             return 'a[href="#' + l + '"';
           }).join(', ')).attr("href", "#tocBox");
         }
         $tocBox.css({
           position: 'relative',
           'z-index': 10
         });
         $(window).on('hashchange', function(e) {
           try {
             var hash = location.hash.substring(1);
             var target = $('[id="' + decodeURIComponent(hash).replace(/"/g, '\\\"') + '"]');
             if (target[0]) {
               var scrollTop = target.offset().top;
               if (target.closest('.discussionHead').length === 0) {
                 var parent = target.closest('h1, h2, h3, h4, h5, h6');
                 if (parent.length > 0) {
                   scrollTop -= parent.outerHeight(true) - parent.height();
                   var h = parent.prevAll('h1, h2, h3, h4, h5, h6').filter(function() {
                     return $(this).css('position') === 'sticky';
                   });
                   if (h.length > 0) scrollTop -= h.outerHeight();
                 }
               } else scrollTop = target.closest('.discussionContainer').offset().top;
               setTimeout(function() {
                 $('html,body').animate({
                   scrollTop: scrollTop
                 }, 0);
               }, 1);
               return false;
             }
           } catch (e) {
             return;
           }
         }).trigger('hashchange');
         const g = ["sysop", "patroller"];
       }
     }
   });
});
});
</script><style>
var div = document.getElementById('moe');
/* <pre> */
div.innerHTML = div.innerHTML
@media screen and (min-width: 600px) {
.replace(/提取(.*)失败/g,'唔啊~~发生了什么(╯°Д°)╯嵌入时好像混进了奇怪的数据,要坏掉啦QAQ___ 这通常是由于网络不稳定导致的,请<a href="?action=purge" title="清除本页缓存"> 点此重新获取</a>');
body {
if ( mw.config.get( 'wgNamespaceNumber' ) === 0) {
   opacity: 0.93;
   var div = document.getElementById('moe');
   background-image:url(https://www.hmoegirl.com/images/a/af/%E8%AE%A8%E8%AE%BA%E7%89%88%E8%AF%8D%E4%BA%91.jpg);
   div.innerHTML = div.innerHTML
   background-repeat:no-repeat;
   .replace(/萌娘百科欢迎您参与完善本条目/g,'H萌娘欢迎您参与完善本条目')
   .replace(/ 并查找相关资料。萌娘百科祝您在本站度过愉快的时光。/g,'并查找相关资料。注意这是一个萌百的自动嵌入页面,世界观可能与本站不同。H萌娘祝您在本站度过愉快的时光!')
   .replace(/并查找相关资料哦。/g,'并查找相关资料哦。<br /> 注意这是一个萌百的自动嵌入页面,世界观可能与本站不同。H萌娘祝您在本站度过愉快的时光!')
   .replace(/萌娘百科不是新闻的搜集处/g,'H萌娘不是新闻的搜集处')
   .replace(/萌娘百科提醒您/g,'H萌娘提醒您')
   .replace(/此条目或需要大幅度整改/g,'此条目可能需要大幅度整改')
   .replace(/若您清楚改善现状的方法/g,'注意这是一个萌百的自动嵌入页面,世界观可能与本站不同。如果您清楚改善现状的方法')
   .replace(/萌娘百科郑重提示/g,'H萌娘郑重提示')
   .replace(/非特殊情况下请不要将此模板用在人物条目中(.*)。/g,'')
   .replace(/ 提示:本页面/g,'各位绅士注意:本条目')
   .replace(/不适合未满15岁的读者/g,'不够色情')
   .replace(/ 页面可能包含/g,'页面只包含')
   .replace(/阅读时有可能产生轻微不适感/g,'阅读时没让人产生不适感')
   .replace(/ 请确信自己已满当地法律许可年龄且心智成熟后再来阅览/g,'最好陪同自己的孩子一起来阅览')
   .replace(/另请编辑者注意:勿滥用此模板/g,'另请编辑者注意:本页面急待调整以适应本站的年龄段');
   window.setTimeout(function() {
      document.querySelector("#ca-edit.collapsible a").textContent='添加本地化差异';
    },350);
}
}
}
if( (mw.config.get('wgNamespaceNumber') == 1) || (mw.config.get('wgNamespaceNumber') == 3) || (mw.config.get('wgNamespaceNumber') == 7) || (mw.config.get('wgNamespaceNumber') == 9) || (mw.config.get('wgNamespaceNumber') == 11) || (mw.config.get('wgNamespaceNumber') == 13) || (mw.config.get('wgNamespaceNumber') == 15)){
#ca-nstab-project {  
    window.setTimeout(function() {
display: none;
     document.querySelector("#ca-edit a").textContent='编辑本地讨论';
}
     document.querySelector("#ca-editmoegirl a").textContent='去萌娘百科讨论';
.widgetTalkTocEnable #tocBox {
   },350);
   max-width: 37%;
    }
   min-width: 300px;
});
   float: left;
</script>
}
</includeonly>
.widgetTalkTocEnable #toc.noOrigin {
   display: table;
}
.widgetTalkTocEnable div.toc#toc:not(.toc-custom) {
   min-width: 300px;
   box-sizing: border-box;
   margin-right: 37px;
   padding-right: 1em;
   padding-left: 1em;
}
.widgetTalkTocEnable div.toc#toc div.toctitle h2 {
   margin-right: 1em;
}
.widgetTalkTocEnable div.toc.noOrigin#toc .toctoggle {
   display: none;
}
.widgetTalkTocEnable div#toc.toc #toctoggle,
.widgetTalkTocEnable div#toc.toc #toggle {
   font-size: 94%;
   -webkit-user-select: none;
   -ms-user-select: none;
   -o-user-select: none;
   -moz-user-select: none;
   user-select: none;
}
.widgetTalkTocEnable div#toc.toc .toggleButton:before {
   content: "[";
   color: black;
}
.widgetTalkTocEnable div#toc.toc .toggleButton:after {
   content: "]";
   color: black;
}
.widgetTalkTocEnable #toc .toggleButton:first-child {
   margin-right: 0.5em;
}
.widgetTalkTocEnable div#toc.toc .toggleButton:last-child {
   margin-right: 0;
}
.widgetTalkTocEnable div#toc.toc .hiddenDiscussion {
   visibility: hidden;
   height: 0;
   margin: 0;
}
.widgetTalkTocEnable div.toc#toc li.savedDiscussion a {
   text-decoration: underline;
}
.widgetTalkTocEnable #toc div#tocText {
   text-align: center;
}
.widgetTalkTocEnable #toc div.tocText {
   display: inline-block;
}
#toc:not(.toc-custom),
#tocBox,
#talkTocBox {
    display: none;
}
.widgetTalkTocDisable #toc:not(.toc-custom) {
   display: table;
}
.widgetTalkTocEnable #talkTocBox td {
   text-align: center;
   border: 1px solid #a7d7f9;
   width: 25%;
   padding: 0 1em;
}
.widgetTalkTocEnable #talkTocBox .hr td {
   width: 100%;
}
.widgetTalkTocEnable #talkTocBox table {
   border-collapse: collapse;
   margin-bottom: 1em;
   width: 100%;
}
.widgetTalkTocEnable #talkTocBox a {
   cursor: pointer;
}
.widgetTalkTocEnable #talkTocBox .savedTitle {
   text-decoration: underline;
}
.widgetTalkTocEnable .cbutton {
   cursor: pointer;
}
#ca-edit, #ca-editTopSection .mw-editsection {
   display: none !important;
}
.signInfo {
   display: none !important;
}
#right-navigation.no-need-to-edit-whole-page ul {
   display: flex;
}
#right-navigation.no-need-to-edit-whole-page ul>li {
   order: 999;
}
#right-navigation.no-need-to-edit-whole-page ul>li#ca-view {
   order: 1;
}
#right-navigation.no-need-to-edit-whole-page ul>li#ca-no-need-to-edit-whole-page-notice {
   order: 2;
   font-style: italic;
}
#right-navigation.no-need-to-edit-whole-page ul>li#ca-no-need-to-edit-whole-page-notice a,
#right-navigation.no-need-to-edit-whole-page ul>li#ca-no-need-to-edit-whole-page-notice a:visited {
   color: #222;
    text-decoration: none;
}
#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-editTopSection{
   display: none;
}
.cloaked-element.transparent-shield {
   z-index: 9999999;
}
.navpopup {
   z-index: 1000000;
}
/* </pre> */
</style><!--{/if}--></includeonly>

2021年9月8日 (三) 00:02的版本

Only for {{萌百页面嵌入}}