MediaWiki:Gadget-Links para gadgets dos livros.js

Nota: Depois de publicar, poderá ter de contornar a cache do seu navegador para ver as alterações.

  • Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
  • Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
  • Internet Explorer / Edge: Pressione Ctrl enquanto clica Recarregar, ou pressione Ctrl-F5
  • Opera: Pressione Ctrl-F5.
/**
 * Exibe links para navegar entre os livros e seus gadgets
 * Mantido por [[User:Helder.wiki]]
 */
function addBookGadgetsLinks() {
	var l = 'Índice do livro';
	var e = 'Estilos do livro';
	var s = 'Scripts do livro';
	var g = ' (globais)';
	var p = ' (pessoais)';

	if ( mw.config.get( 'skin' ) !== 'vector' ) {
		l = 'livro';
		e = 'estilo';
		s = 'script';
		g = '';
		p = '';
	}

	var page = 'Usuário:' + mw.user.getName() + '/Livros_personalizados/';
	var reSubPage = new RegExp( page + '[^/]+?\\.(?:js|css)$' );
	var reMWPage = /MediaWiki:Livros\/[^\/]+?\.(?:js|css)$/;
	var bookname;
	if ( reSubPage.test( mw.config.get( 'wgPageName' ) ) ) {
		var cab = document.getElementById( 'firstHeading' );
		var link = document.createElement( 'a' );
		var per = mw.config.get( 'wgPageName' ).split( '/' )[2];
		bookname = per.replace( /(\.js|\.css)$/, '' );
		link.innerHTML = bookname.replace( /_/g,' ' );
		link.setAttribute( 'href', mw.util.getUrl( bookname ) );
		link.setAttribute( 'title', 'Ir para o índice do livro');
		cab.innerHTML = cab.innerHTML.replace( per.replace( /_/g,' '), '' );
		cab.appendChild( link );
		cab.appendChild( document.createTextNode('.' + per.split('.')[1]) );
		mw.util.addPortletLink( 'p-cactions', link, l, 'ca-gobook', 'Ir para o índice do livro' );
		mw.util.addPortletLink( 'p-cactions', mw.util.getUrl( 'MediaWiki:Livros/' + bookname + '.css' ), e + g, 'ca-addstyle', 'Ir para a folha de estilos usadas nas páginas "' + bookname + '/..."' );
		mw.util.addPortletLink( 'p-cactions', mw.util.getUrl( 'MediaWiki:Livros/' + bookname + '.js' ), s + g, 'ca-addscript', 'Ir para a página de scripts usados nas páginas "' + bookname + '/..."' );
	}
	/* Globais */
	else if ( mw.config.get( 'wgCanonicalNamespace' ) !== 'User' && 'MediaWiki' !== mw.config.get( 'wgCanonicalNamespace' ) ) {
		mw.util.addPortletLink( 'p-cactions', mw.util.getUrl( 'MediaWiki:Livros/' + wgBookName + '.css'), e + g, 'ca-addstyle', 'Ir para a folha de estilos usadas nas páginas "' + wgBookName + '/..."' );
		mw.util.addPortletLink( 'p-cactions', mw.util.getUrl( 'MediaWiki:Livros/' + wgBookName + '.js' ), s + g, 'ca-addscript', 'Ir para a página de scripts usados nas páginas "' + wgBookName + '/..."' );
	}
	/* Personalizados */
	if ( !mediaWiki.config.get( 'wgUserName' ) && !reMWPage.test( mw.config.get( 'wgPageName' ) ) ) {
		return;
	}
	bookname = wgBookName;
	if ( mw.config.get( 'wgPageName' ).indexOf('Usuário:' + mediaWiki.config.get( 'wgUserName' ) + '/') === 0 ) {
		bookname = mw.config.get( 'wgPageName' ).split( '/' )[1];
	} else if ( reMWPage.test( mw.config.get( 'wgPageName' ) ) ) {
		bookname = mw.config.get( 'wgPageName' ).split( '/' )[1].split('.')[0];
	}
	if ( 'Livros_personalizados' === bookname ) {
		return;
	}
	var perbook = 'Usuário:' + mediaWiki.config.get( 'wgUserName' ) + '/Livros_personalizados/' + bookname;
	mw.util.addPortletLink( 'p-cactions', mw.util.getUrl( perbook + '.css' ), e + p, 'ca-addstyle', 'Sua folha de estilos para as páginas "' + bookname + '/..."' );
	mw.util.addPortletLink( 'p-cactions', mw.util.getUrl( perbook + '.js' ), s + p, 'ca-addscript', 'Seus scripts para as páginas "' + bookname + '/..."' );
}
if ( mw.config.get( 'wgIsArticle' ) ) {
	$( addBookGadgetsLinks );
}

// [[Categoria:Gadgets|Links para gadgets dos livros.js]]
// [[Categoria:Scripts do Wikilivros|Links para gadgets dos livros.js]]