Uživatel:Sintakso/common.js: Porovnání verzí

Z Wikislovníku
Skočit na navigaci Skočit na vyhledávání
Smazaný obsah Přidaný obsah
mBez shrnutí editace
m úpravy dle diskuse, upraveno podle skriptů uživatelů Auvajs a Shlomo
Řádek 126: Řádek 126:
if ( newPageText !== oldPageText ) {
if ( newPageText !== oldPageText ) {
$( "#editform" ).append(
$( '#wpSummary' ).val( function ( index, summary ) {
var summarySeparator = '';
$( "<input>" ).attr({ type: "hidden", name: "wpChangeTags", value: "AKÚ" })
);
summary = $.trim( summary );
if ( summary !== '' ) {
summarySeparator = /^\/\*.*\*\/$/.test( summary ) ? ' ' : '; '
}
return summary + summarySeparator + '[[Nápověda:AKÚ|AKÚ]]';
});
}
}

Verze z 16. 9. 2017, 21:27

window.hotcat_translations_from_commons = true;

/*
 This imports the latest version of HotCat from Commons.
 HotCat is a gadget to make changes to categories much easier.
 Full documentation can be found at http://commons.wikimedia.org/wiki/Help:Gadget-HotCat
*/
mw.loader.load( '//commons.wikimedia.org/w/index.php?title=MediaWiki:Gadget-HotCat.js&action=raw&ctype=text/javascript' );

// <nowiki>

/**
 * @brief
 *  Automatické kosmetické úpravy.
 * 
 * @details
 *  Před uložením stránky provádí následující kosmetické úpravy:
 *  * nadpisy volně s odřádkováním před a bez odřádkování za
 *  * volný zápis * a # seznamů
 *  * reference přiražené k textu
 *  * dlouhá pomlčka místo krátké nebo spojovníku v proškrtnutých položkách seznamů
 *  * číslování {{Překlady}}
 *  * rozložený zápis prázdné šablony {{Překlady}}
 *  * správný zápis kategorií
 *  * formátování víceřádkových šablon
 *  * správný zápis <br /> a <hr />
 *  * správný zápis <references />
 *  * odstranění mezer na konci řádku
 *  * odstranění vícenásobných mezer v textu
 *  * odstranění vícenásobného odřádkování
 * 
 * @author
 *  [[meta:User:Danny B.]]
 */

/*global mediaWiki, jQuery */
/*jslint browser: true, plusplus: true, white: true */
/*jshint browser:true, laxbreak:false, plusplus:false, white:false, undef:true, unused:true */

( function ( mw, $ ) {
	
	'use strict';
	
	
	if ( mw.config.get( 'wgNamespaceNumber' ) || !/^(edit|submit)$/.test( mw.config.get( 'wgAction' ) ) ) {
		return;
	}
	
	
	$( document ).ready( function () {
		
		var replacements = [
			[
				/(^|\n)(==+)([^=]+)(\2) *(?=\n)/g,
				function ( $0, $1, $2, $3, $4 ) {
					return $1 + '\n' + $2 + ' ' + $.trim( $3 ) + ' ' + $4;
				}
			], [
				/\n\{\{\s*[Ss][Uu][Bb][Ss][Tt]\s*:\s*Vzor /g,
				'\n\n{{subst:Vzor '
			], [
				/\n([#\*]+)([^\n]*)/g,
				function ( $0, $1, $2 ) {
					return '\n' + $1 + ' ' + $.trim( $2 );
				}
			], [
				/([^\n]) *<ref/,
				'$1<ref'
			], [
				/# [-–] */g,
				'# —'
			], [
				/\n *\{\{Překlady/g,
				'\n# {{Překlady'
			], [
				/# \{\{Překlady *\}\}/g,
				'# {{Překlady\n}}'
			], [
				/\[\[ *Kategorie *:([^\]]+)\]\]/gi,
				function ( $0, $1 ) {
					return '\n[[Kategorie:' + $.trim( $1 ) + ']]\n';
				}
			], [
				/(\[\[Kategorie:[^\]]+\]\])\n+(?!\[\[[a-z])/g,
				'$1\n'
			], [
				/\n+ *\|([^=\n]+)=(?![^\n\|]*\|\|[^\n]*\n)([^\n]*)(?=\n)/g,
				function ( $0, $1, $2 ) {
					return '\n  | ' + $.trim( $1 ) + ' = ' + $.trim( $2 );
				}
			], [
				/< *\/? *([bh]r) *\/? *>/g,
				'<$1 />'
			], [
				/< *references *\/ *>/g,
				'<references />'
			], [
				/([^=]) +\n/g,
				'$1\n'
			], [
				/([^\n]) +/g,
				'$1 '
			], [
				/\n{3,}/g,
				'\n\n'
			], [
				//Oprava ohýbacích šablon zanechávajících za sebou volný řádek
				/(\{\{subst:Vzor .+?\|.+?\|x}})\n{2,}/g,
				function ( $0, $1 ) {
					return $1 + '\n';
				}
			]
		];
		
		$( '#wpSave' ).click( function () {
			
			$( '#wpTextbox1' ).val( function ( index, oldPageText ) {
				
				var newPageText = oldPageText;
				
				$.each( replacements, function ( index, replacement ) {
					newPageText = newPageText.replace( replacement[0], replacement[1] );
				});
				
				newPageText = $.trim( newPageText ) + '\n';
				
				if ( newPageText !== oldPageText ) {
					$( '#wpSummary' ).val( function ( index, summary ) {
						var summarySeparator = '';
						summary = $.trim( summary );
						if ( summary !== '' ) {
							summarySeparator = /^\/\*.*\*\/$/.test( summary ) ? ' ' : '; '
						}
						return summary + summarySeparator + '[[Nápověda:AKÚ|AKÚ]]';
					});
				}
				
				return newPageText;
				
			});
			
			return true;
			
		});
		
	});
	
}( mediaWiki, jQuery ) );

// </nowiki>