LLWiki正在建设中,欢迎加入我们

User:Bhsd/minerva.js

来自LLWiki
< User:Bhsd
Bhsd讨论 | 贡献2023年3月17日 (五) 12:42的版本 (// 使用Wikiplus小工具快速编辑)
跳转到导航 跳转到搜索

注意:在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Internet Explorer:按住Ctrl的同时单击刷新,或按Ctrl-F5
  • Opera:前往菜单 → 设置(Mac为Opera → Preferences),然后隐私和安全 → 清除浏览数据 → 缓存的图片和文件
//<nowiki>
// 拆分自[[Special:Mypage/common.js]],不可使用ES6语法
"use strict";
mw.loader.using( 'jquery.client' ).then(function() {
	if ($.client.profile().name == 'firefox') {
		mw.gadgets = $.extend(mw.gadgets, {stickyHeading: {mode: 'desktop'}});
		mw.hook( 'wikipage.content' ).add(function($content) {
			console.log('Hook: wikipage.content, Firefox开始移除黏性章节标题');
			$content.removeClass( 'stickyHeading' );
		});
	}
});

if (mw.config.get( 'wgArticleId' ) == 1521) {
	mw.loader.using( ['oojs-ui-core', 'ext.gadget.site-lib'] ).then(function() {
		mw.tipsy( $('#bodyContent'), '.myTable td[data-sort-value]', {id: 'myTipsy'} );
	});
}

mw.loader.using( ['mediawiki.util', 'skins.minerva.scripts'] ).then(function() {
	const nsid = mw.config.get( 'wgNamespaceNumber' ),
		specialPage = mw.config.get( 'wgCanonicalSpecialPageName' ),
		pageName = mw.util.wikiUrlencode( mw.config.get( 'wgPageName' ) ),
		title = mw.util.wikiUrlencode( mw.config.get('wgTitle') ),
		script = mw.config.get('wgScript'),
		loadJs = function(page) { mw.loader.load(script + '?action=raw&ctype=text/javascript&title=' + page); };

	if (mw.config.get( 'wgArticleId' ) > 0 && mw.config.get('wgAction') == 'view') {
		// 移动版强制章节折叠
		loadJs( 'user:bhsd/mobileCollapse.js' );
	}
	else if (specialPage == "History") {
		/* 移动版历史添加与当前对比链接 */
		$(function() {
			const lastrevid = mw.util.getParamValue( 'offset' ) ? 'cur' : parseInt( $('.page-summary > a').first().attr( 'href' ).match(/\d+$/) );
			$('.list-thumb').append(function() {
				const oldid = parseInt( $(this).parent().attr( 'href' ).match( /\d+$/ ) );
				return oldid == lastrevid ? null : $('<p>').append( $('<a>', {text: "当前",
					href: '/zh/special:diff/' + oldid + '/' + lastrevid}) );
			});
		});
	}

	const template = mw.template.get( 'skins.minerva.scripts', 'menuGroup.mustache' ),
		group = [
		{icon: 'fa fa-retweet', text: '替换文本', href: '/zh/Special:替换文本'},
		{icon: 'fa fa-ban', text: '滥用过滤器', href: '/zh/Special:滥用过滤器'},
		{icon: 'fas fa-external-link-alt', text: '链接搜索', href: '/zh?target=http://*&title=Special:链接搜索'},
		{icon: 'fa fa-users', text: '用户列表', href: '/zh?title=Special:用户列表&creationSort=1&desc=1'},
		{icon: 'fa fa-puzzle-piece', text: '版本', href: '/zh/Special:版本'}
	],
		extraGroup = [
		{ icon: 'fa fa-folder-open', text: '子页面',
			href: '/zh?title=Special:前缀索引&prefix=' + title + '/&namespace=' + nsid + '&stripprefix=1'
		}, { icon: 'fa fa-hourglass-half', text: '展开模板',
			href: '/zh?title=Special:展开模板&wpRemoveComments=1&wpGenerateRawHtml=true&wpInput={{:' + pageName + '}}'
		}, {icon: 'fa fa-copy', text: '所有页面', href: '/zh?title=Special:所有页面&namespace=' + nsid}
	];
	$('<ul>', {html: (mw.config.get( 'wgIsArticle' ) ? extraGroup : []).concat( group ).map(function(ele) {
		return template.render( {components: [ele]} ).toArray();
	}).flat()}).insertAfter( $menu.children().eq(2) );
});
//</nowiki>