Hilfe:Edittools.js

aus Kamelopedia, der wüsten Enzyklopädie
Version vom 29. Mai 2009, 17:17 Uhr von Kameloid (Diskussion | Beiträge) (Vorlagen mal in bisschen vertextet Teil 1)
Zur Navigation springen Zur Suche springen

//


//Diese Seite wird von [[MediaWiki:Monobook.js]] aus geladen, sobald eine Seite bearbeitet wird

/** fügt Klick-Kat (kat) am Ende des Textes im Editierfensters ein */ 
function add_cat(kat) {
    document.editform.wpTextbox1.value += '\n[[Kategorie:' + kat + ']]';
}
    
/** bastelt die Edittools-Box */
addOnloadHook(function() {
    var kategorieNamen = [
        "Abkürzung",
        "Adel",
        "Ägypten",
        "Aliens",
        "Alkohol",
        "Amphibien",
        "Anatomie",
        "Architektur",
        "Artikel, die wo so aussehen, wie die Dinge, die sie beschreiben tun",
        "Artikel und Kamele mit eigenem Skin",
        "Astronomie",
        "Aua",
        "Ausgestorben",
        "Auto",
        "Bahn",
        "Bären",
        "Baum",
        "Bayern",
        "Beruf",
        "Bildung",
        "Biographie",
        "Biologie",
        "Böses Kamel",
        "Botanik",
        "Brauchtum",
        "Chamäleons",
        "Chemie",
        "China",
        "Computer",
        "Denkmal",
        "Desserts & Salate",
        "Deutschland",
        "Dichter & Denker",
        "Dickhäuter",
        "Dienstleistung",
        "Drogen",
        "Eier",
        "Elektrotechnik",
        "Entdecker",
        "Enten",
        "Erfinder",
        "Eulen",
        "Fabelwesen",
        "Fäkalien",
        "Farben",
        "Fastfood",
        "Feminismus",
        "Film",
        "Fische",
        "Fleisch",
        "Fluss",
        "Freizeit",
        "Frisuren",
        "Gastronomie",
        "Gebäck",
        "Gebirge",
        "Geheim",
        "Geheimdienst",
        "Geistlicher",
        "Genie & Wahnsinn",
        "Geographie",
        "Geologie",
        "Geschichte",
        "Gesellschaft",
        "Getränk",
        "Gewässer",
        "Gilden",
        "Google",
        "Götter",
        "Grammatik",
        "Gutmenschentum",
        "Häh?",
        "Haushaltsgeräte",
        "Herdenverhalten",
        "Helden",
        "Hunde",
        "Hygiene",
        "Industrie",
        "Insekten",
        "Inseln",
        "Jahrestag",
        "Japan",
        "Kalender",
        "Kamele",
        "Kamelkunde",
        "Kamelopedia",
        "Kasusativ",
        "Katzen",
        "Kleidung",
        "Komische Kamele",
        "Komische Typen",
        "Kommunikation",
        "Kosmetik",
        "Krabbeltiere",
        "Krankheiten",
        "Krieg",
        "Kulinarik",
        "Kulturgut",
        "Kunst",
        "Kunstrichtung",
        "Künstler",
        "Land & Leute",
        "Landschaften",
        "Landwirtschaft",
        "Lied",
        "Listen",
        "Literatur",
        "Löcher",
        "Logik",
        "Luft & Raumfahrt",
        "Lyrik",
        "Märchen",
        "Maschinen",
        "Maßeinheit",
        "Mathematik",
        "Mechanik",
        "Medien",
        "Medizin",
        "Microsoft",
        "Mikroben",
        "Milch & Käse",
        "Mischwesen",
        "Möbel",
        "Mode",
        "Musik",
        "Musiker",
        "Musikinstrument",
        "Musikrichtungen",
        "Mythologie",
        "Nachrichten",
        "Nagetiere",
        "Name",
        "Natur",
        "Nudeln & Pasta",
        "Oberflächliches",
        "Obst & Gemüse",
        "Optik & Lichttechnik",
        "Organisationen",
        "Ort",
        "Pferde & Esel",
        "Philosophie",
        "Physik",
        "Pilze",
        "Planeten",
        "Plem-Plem",
        "Politik",
        "Politiker",
        "Projekt",
        "Psychologie",
        "Pyramiden",
        "Raubtier",
        "Re(h)kursion",
        "Recht",
        "Religion",
        "Rezepte",
        "Rindviecher",
        "Rohstoffe",
        "Sammelartikel",
        "Saurier",
        "Schach",
        "Schafe",
        "Schauspieler & Entertainer",
        "ScheibchenWelt",
        "Schifffahrt",
        "Schlangen",
        "Schnecken",
        "Schöner Wohnen",
        "Schule",
        "Schweine",
        "Schweiz",
        "Sexualität",
        "Soziologie",
        "Spezies",
        "Spiel",
        "Sport",
        "Sportler",
        "Sprache",
        "Sprachwissenschaft",
        "Staat",
        "Stadt",
        "Stuchbabe",
        "Süßigkeiten",
        "Suppen & Soßen",
        "Technik",
        "Theorie",
        "Tiger",
        "Tisch",
        "Touristik",
        "Uhren",
        "Umfrage",
        "Unternehmer",
        "Unterwasser",
        "Verkehr",
        "Verkehrsmittel",
        "Verpackung",
        "Verschwörungstheorien",
        "Verwechslungen",
        "Vögel",
        "Waffen",
        "Wale",
        "Wärmetechnik",
        "Werbung",
        "Werkzeuge & Geräte",
        "Wetter",
        "Wikipedia",
        "Wirtschaft",
        "Wissenschaft",
        "Wissenschaftler",
        "Wortsinn & Tiefsinn",
        "WTF-8",
        "Würmer",
        "Wüste",
        "Wurst",
        "Zahl",
        "Zauberei",
        "Zeit",
        "Zeitgeschehen",
        "Zum Kotzen",
        "Zusammenrottung"
    ];
        
    function kategorienHTML() {
        var html    = '<span id="clickein"><a href="javascript:einaus(\'kats\',\'clickein\',\'clickaus\')">[anzeigen]</a></span><span id="clickaus" style="Display:none;"><a href="javascript:einaus(\'kats\',\'clickein\',\'clickaus\')">[verbergen]</a></span><span id ="kats" style="display:none;"><br />';
        
        for (var i=0; i<kategorieNamen.length; i++ ) {
            var kat = kategorieNamen[i];
            html += '<a href="javascript:add_cat(\'' + kat + '\')">· ' + kat + '</a><br />';
        }
        
        html += '</span><br /><br />';
        return html;
    }
    
    function sonderzeichenHTML() {
        var html = '<b>Sonderzeichen:</b><br />';
        html += '<span id="sonderein"><a href="javascript:einaus(\'sonder\',\'sonderein\',\'sonderaus\')">[anzeigen]</a></span><span id="sonderaus" style="Display:none;"><a href="javascript:einaus(\'sonder\',\'sonderein\',\'sonderaus\')">[verbergen]</a></span><span id ="sonder" style="display:none;font-family:monospace;font-size:9pt;line-height:1.6em;"><br />';

        // siehe auch addButton() in wikibits.js
        function knopf(tagOpen, tagClose, sampleText, displayedText) {
            // sampleText wird eingefügt falls man nichts markiert hat (z.Z. überall leer)
            html += "<a href=\"javascript:insertTags";
            html += "('"+tagOpen+"','"+tagClose+"','"+sampleText+"');\">";
            html += displayedText;
            html += "</a> ";
        }
        
        function zeichen(s) { knopf(s,'','', s); }
        function klammer(tagOpen, tagClose) { knopf(tagOpen, tagClose,'', tagOpen+tagClose); }
        function trenn() { html += '<br />'; }
        
        zeichen('Ä');
        zeichen('ä');
        zeichen('Ö');
        zeichen('ö');
        zeichen('Ü');
        zeichen('ü');
        trenn();
        zeichen('ß');
        klammer('„','“');
        zeichen('’');
        klammer('‚','‘');
        zeichen('–');
        trenn();
        klammer('«','»');
        zeichen('°');
        zeichen('′');
        zeichen('″');
        trenn();
        zeichen('…');
        zeichen('€');
        zeichen('†');
        zeichen('§');
        zeichen('™');
        zeichen('•');
        trenn();
        zeichen('·');
        zeichen('×');
        zeichen('÷');
        zeichen('±');
        zeichen('−');
        zeichen('‰');
        trenn();
        zeichen('²');
        zeichen('³');
        zeichen('½');
        zeichen('¼');
        zeichen('¾');
        zeichen('‣');
        trenn();
        zeichen('≈');
        zeichen('≠');
        zeichen('≙');
        zeichen('≤');
        zeichen('≥');
        zeichen('∑');
        trenn();
        zeichen('→');
        zeichen('←');
        zeichen('↔');
        zeichen('⇝');
        zeichen('⇒');
        zeichen('⇔');
        trenn();
        zeichen('☛');
        zeichen('†');
        zeichen('☠');
        zeichen('☢');
        zeichen('☣');
        zeichen('☭');
        trenn();
        zeichen('ſ');
        zeichen('Œ');
        zeichen('œ');
        zeichen('Ç');
        zeichen('ç');
        trenn();
        zeichen('İ');
        zeichen('ı');
        zeichen('Ğ');
        zeichen('ğ');
        zeichen('Ş');
        zeichen('ş');
        trenn();
        klammer('[[',']]');
        zeichen('|');
        zeichen('¦');
        zeichen('&nbsp;');
        trenn();
        klammer('{{','}}');
        zeichen('~~~~');
        
        html += '</span><br /><br />';
        return html;
    }
 //------------------------------------------------------------------

   var VorlagenNamen = [
	"¦Hinweise",
	"s¦siehe",
	"sa¦siehe auch",
	"bb¦besuche bitte",
	"sv¦siehe vielleicht",
	"lm¦Lies mal",
	"sb¦siehe besser",
	"sl¦Siehe dazu lieber",
	"nb¦negativ beeinflussen",
	"gd¦Dann geh doch",
	"sn2¦siehe nicht",
	"sn¦Siehe besser nicht",
	"sk¦auf gar keinen Fall",
	"sen¦siehe eben nicht",
	"hwm¦Hier wartet man",
	"nt¦nichts zu tun mit",
	"vg¦Vergleiche mit",
	"zv¦verwechseln mit",
	"nv¦Nicht zu verwechseln",
	"st¦Tut nichts zur Sache",
	"sw¦WWW",
	"sy¦siehe Kamelionary",

	"¦Auszeichnungen",
	"GaGAWahl",
	"GanzGut",
	"GanzGut2",
	"GanzGut3",
	"Hw",
	"Exzellent",
	"Wahl¦Wahl¦| Start = ~~~~~ | Stimmen =<br><!--Ab hier Stimmen abgeben--><br><br><!--Aber nur bis hierher-----><br>",
	"Wahlende",
	"Geschmiedet",

	"¦Qualitätssicherung",
	"Trash",
	"Begraben",
	"Überarbeiten",
	"Humorantrag",
	"Relevanz",
	"Kompatibel",
	"Privatkram",
	"Weltbild",
	"Kuhdorf",
	"Dorftrottel",
	"Schlechtschreibung",
	"Glossar",
	"Urv",

	"¦Ab da wirds nett",
	"Stub",
	"Gleicht",
	"Nicht versenken",
	"Schizophren",
	"Was",
	"Text¦Text fehlt",
	"Mager",

	"¦Praktisches",
	"Bügeln",
	"Fortsetzung",
	"Schon gewusst",
	"GaGATeaser¦GaGA Teaser¦<br>| Kopfzeile = Schlagzeile<br>| Bild = Bildname ohne "Bild:"<br>| Grösse = Bildbreite ohne "px"<br>| Bildausrichtung = right oder left<br>| Text = Teasertext<br>| Fußzeile = Weitere...<br>| Bildunterschrift = <br>",
	"Dieser Artikel",
	"Schmiede",
	"Untot",
	"Nix kapiche",
	"BegriffsklärungWP",
	"WPTitel",
	"Kamelionary¦Kamelionary¦<br>| Wortart <!-- "Substantiv", "Verb", "Eckig" usw. --> =<br>| Geschlecht <!-- muss man halt nachgucken        --> =<br>| Bild <!-- (ohne "Bild:")                        --> =<br>| Bildb <!-- Bildbeschreibung (unter dem Bild)    --> =<br>| Ns <!-- Nominativ singular   --> =<br>| Np <!-- Nominativ plural     --> =<br>| Gs <!-- Genitiv singular     --> =<br>| Gp <!-- Genitiv plural       --> =<br>| Ds <!-- Dativ singular       --> =<br>| Dp <!-- Dativ plural         --> =<br>| As <!-- Akkusativ singular   --> =<br>| Ap <!-- Akkusativ plural     --> =<br>| Defs <!-- Definitiv singular --> =<br>| Defp <!-- Definitiv plural   --> =<br>| Sps <!-- Spekulativ singular --> =<br>| Spp <!-- Spekulativ singular --> =<br>| Aussprache <!-- in Lautschrift (Wiki ergänzt, falls leer) --> =<br>| Ton        <!-- Hörbeispiele                              --> =<br>| Silben     <!-- Silbentrennung mittels "•"                --> =<br>| Bedeutung  <!-- pro Stück 1 Zeile mit ":[1]", ":[2]" ...  --> =<br>:[1] <br>:[2] <br>| Abk        <!-- Abkürzung --> =<br>| Herkunft                      =<br>| Synonym                       =<br>| Zukunft                       = <br>| Gegenw      <!-- Gegenwort, also das Antisynonym          --> =<br>| Oberb       <!-- Oberbegriff                              --> =<br>| Unterb      <!-- Unterbegriff                             --> =<br>| Beispiel    <!-- pro Stück 1 Zeile mit ":[1]", ":[2]" ... --> =<br>| Zitat       <!-- pro Stück 1 Zeile mit ":[1]", ":[2]" ... --> =<br>| Redewendung <!-- pro Stück 1 Zeile mit ":[1]", ":[2]" ... --> =<br>| Wortkombi   <!-- Wortkombinationen mit dem Begriff        --> =<br>| AbgelB      <!-- davon abgeleitete Begriffe               --> =<br>| Info        <!-- weitere Info, WWW, Buchtipps usw.        --> =<br>| Typ         <!-- "Glossar", "Geograffiti"                 --> =<br>",


	"¦Für Bilder",
	"img¦img¦<br>| Bildname (ohne Bild:)<br>| alt =<br>| name =<br>| title = Tooltip<br>| link =<br>| width =<br>| height =<br>",
	"Drexxzeuch",
	"NichtGNU",
	"Wiki doof",
	"TempBild",
	"ROSTklärung|~~~¦ROSTklärung",

	"¦Listen",
	"Listenartikel",
	"TOC",

	"¦Andere Welt",
	"Gesungene Kamelopedia",
	"Tourismus",

	"¦Kamelbox positiv",
	"Moin",
	"Glückwunsch",
	"Glückwunsch2",
	"Hallo",
	"Keks",
	"Preis",
	"Hinweise",
	"DankeKAT",
	"Lesezirkelwerbung",
	"Pate",
	"Patenkind",
	"Patenkind?",

	"¦Kamelbox negativ",
	"Artikelschwemme",
	"Vorschau", 
	"Urlaub",
	"Vermisst",
	"Rüge",
	"Kacka",
	"Gangsta",
	"Plonk",
	"URV-Mahnung",
	"Versiegelt",

	"¦Artikelschmuck",
	"Begriffsklärung",
	"Begriffsklärung2",
	"Begriffsklärung3",
	"BegriffsklärungVoll",
	"BegriffsklärungWP",
	"Begriffsverzerrung",
	"Cool",
	"Elektrohinweis",
	"Gesichtet",
	"Gesundheitshinweis",
	"Kotzen",
	"Merkelsatz",
	"Merksatz",
	"Navbox",
	"Ref",
	"Note",
	"Rechtshinweis",
	"Religionshinweis",
	"Scherz",
	"Selbstlöschung",
	"Spoiler",
	"Systematik",
	"Systematik Film",
	"Tipp",
	"Topsecret",
	"Traurig",
	"Vorlagenfrei",
	"Vorlagenwahn",
	"Warnung",
	"Wikipedia",
	"Zitat|Zitattext|Zitierter|Thema¦Zitat",

	"¦Artikel-Navis",
	"Alphabet",
	"Europa",
	"Farben",
	"Kapst",
	"Klassiker",
	"Kontinente",
	"Mammon",
	"PSE",
	"PSEBIG",
	"Partei",
	"Pronomen",
	"Sinn",
	"Umwelt",
	"WOMO",
	"Werbeblock",
	"Zahlen",
	"Zahlenstrahl"

    ];

    function add_Templ(T) {
		var Teil = T.split("¦");

		if (Teil[0]){
			var html = "<a href=\"javascript:insertVorlage('\{\{','\}\}','"+Teil[0];
			if (Teil[2]){html += Teil[2]};
			html +="');\"><span style=\"white-space:nowrap;\">";
			if (Teil[1]){html += Teil[1];}else{html += Teil[0];}
			html += "</span></a>";
		}else{
			var html = "<br /><span style=\"background-color:NavajoWhite;white-space:nowrap;\">"+Teil[1]+"</span>";
		}
        return html;
    }


    function VorlagenHTML() {
        var html = '<b>Vorlagen:</b><br />';
        html += '<span id="Templein"><a href="javascript:einaus(\'Templ\',\'Templein\',\'Templaus\')">[anzeigen]</a></span><span id="Templaus" style="Display:none;"><a href="javascript:einaus(\'Templ\',\'Templein\',\'Templaus\')">[verbergen]</a></span><span id ="Templ" style="display:none;">';

        for (var i=0; i<VorlagenNamen.length; i++ ) {
            html += add_Templ(VorlagenNamen[i]) + "<br />";
        }
        
        html += '</span><br /><br />';
        return html;
    }
//-------------------------------------------------------------------------------
    
    var inhalt = '<b>Klick-Kategorien:</b> <a href="/index.php/Hilfe:Edittools" target="_blank" title="Hilfe (in neuem Fenster)"><sup>?</sup></a><br />';
    
    inhalt  += kategorienHTML();
    inhalt  += "<br /><br />";
    inhalt  += sonderzeichenHTML();
    inhalt  += "<br /><br />";
    inhalt  += VorlagenHTML();
    inhalt  += "<br /><br />";
        
    var kat_div_2 = document.createElement('div');
    kat_div_2.id = 'kat_div_2';
    kat_div_2.innerHTML += inhalt;
    document.getElementById('editform').insertBefore(kat_div_2, document.getElementById('editpage-copywarn'));
    
    // Leerzeilen am Ende des Artikeltextes entfernen
    document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace(/\s+$/, "");
});

//----------------------------------------------------------------------------
//Brauche ich wegen NL-Problem bei der Paramter-Übergabe für Vorlagen:
//selText = sampleText.replace(/<br>/g,"\n");
	function insertVorlage(tagOpen, tagClose, sampleText) {
		var txtarea;
		if (document.editform) {
			txtarea = document.editform.wpTextbox1;
		} else {
			// some alternate form? take the first one we can find
			var areas = document.getElementsByTagName('textarea');
			txtarea = areas[0];
		}
		var selText, isSample = false;

		if (document.selection  && document.selection.createRange) { // IE/Opera

			//save window scroll position
			if (document.documentElement && document.documentElement.scrollTop){
				var winScroll = document.documentElement.scrollTop;
			}else if (document.body){
				var winScroll = document.body.scrollTop;
			}
			//get current selection  
			txtarea.focus();
			var range = document.selection.createRange();
			selText = range.text;
			//insert tags
			checkSelText();
			range.text = tagOpen + selText + tagClose;
			//mark sample text as selected
			if (isSample && range.moveStart) {
				if (window.opera){tagClose = tagClose.replace(/\n/g,'');}
				range.moveStart('character', - tagClose.length - selText.length); 
				range.moveEnd('character', - tagClose.length); 
			}
			range.select();   
			//restore window scroll position
			if (document.documentElement && document.documentElement.scrollTop){
				document.documentElement.scrollTop = winScroll;
			}else if (document.body){
				document.body.scrollTop = winScroll;
			}
		} else if (txtarea.selectionStart || txtarea.selectionStart == '0') { // Mozilla

			//save textarea scroll position
			var textScroll = txtarea.scrollTop;
			//get current selection
			txtarea.focus();
			var startPos = txtarea.selectionStart;
			var endPos = txtarea.selectionEnd;
			selText = txtarea.value.substring(startPos, endPos);
			//insert tags
			checkSelText();
			txtarea.value = txtarea.value.substring(0, startPos) + tagOpen + selText + tagClose	+ txtarea.value.substring(endPos, txtarea.value.length);
			//set new selection
			if (isSample) {
				txtarea.selectionStart = startPos + tagOpen.length;
				txtarea.selectionEnd = startPos + tagOpen.length + selText.length;
			} else {
				txtarea.selectionStart = startPos + tagOpen.length + selText.length + tagClose.length;
				txtarea.selectionEnd = txtarea.selectionStart;
			}
			//restore textarea scroll position
			txtarea.scrollTop = textScroll;
		} 

		function checkSelText(){
			if (!selText) {
				selText = sampleText.replace(/<br>/g,"\n");
				isSample = true;
			} else if (selText.charAt(selText.length - 1) == ' ') { //exclude ending space char
				selText = selText.substring(0, selText.length - 1);
				tagClose += ' ';
			} 
		}
	}
//