Hilfe:Edittools.js: Unterschied zwischen den Versionen

aus Kamelopedia, der wüsten Enzyklopädie
Wechseln zu: Navigation, Suche
(+Anrede)
K
Zeile 265: Zeile 265:
 
         "Waffen",
 
         "Waffen",
 
         "Wale",
 
         "Wale",
 +
        "Währung",
 
         "Wärmetechnik",
 
         "Wärmetechnik",
 
         "Werbung",
 
         "Werbung",

Version vom 2. September 2021, 10:30 Uhr

//
 //Diese Seite wird von [[MediaWiki:Monobook.js]] aus geladen, sobald eine Seite bearbeitet wird
 
 // anzeigen & verbergen (siehe bald Diskussionsseite)
  function einaus (inhalt, einblenden, ausblenden) {
    var thisLevel  = document.getElementById(inhalt);
    var otherLevel = document.getElementById(einblenden);
    var linkLevel  = document.getElementById(ausblenden);
    if (thisLevel.style.display == 'none') {
        thisLevel.style.display = 'block';
        otherLevel.style.display = 'none';
        linkLevel.style.display = 'inline';
    } else {
        thisLevel.style.display = 'none';
        otherLevel.style.display = 'inline';
        linkLevel.style.display = 'none';
    }
  }
 
/** fügt Klick-Kat (kat) am Ende des Textes im Editierfensters ein */ 
function add_cat(kat) {
    document.editform.wpTextbox1.value += '\n[[Kategorie:' + kat + ']]';
}
//-----------Holt aus einer Vorlage den Text zwischen dem ersten "<pre>{{" und "}}" raus 
//-----------und patched das ins Eingabefeld  
function Get_Page(Page){
	jQuery.ajax({
		url: wgScript,
		context: document.body,
		dataType: "text", 
		data: 'title='+Page+'&action=raw&templates=expand',
		success:  function(data){
			var x = data.split("<pre>");
			if (x[1]){
				var y = x[1].replace(/\s*/,"").split("</pre>");
				insertVorlage('', '', y[0]);
			}else{
				alert("kein verwertbares Objekt. <pre> vorhanden?");
			}
		}
	});
}
//------------------------------------------------------------------------------------
 
/** bastelt die Edittools-Box */
jQuery(document).ready(function() {
    var kategorieNamen = [
        "Abkürzung",
        "Adel",
        "Adventskalender",
        "Affen",
        "Ägypten",
        "Aliens",
        "Alkohol",
        "Amphibien",
        "Anatomie",
        "Architektur",
        "Artikel, die wo so aussehen, wie die Dinge, die sie beschreiben tun",
        "Astronomie",
        "Aua",
        "Ausgestorben",
        "Auto",
        "Bahn",
        "Bären",
        "Baum",
        "Bayern",
        "Behörden",
        "Beruf",
        "Besondere Tage",
        "Bildung",
        "Biographie",
        "Biologie",
        "Blumen",
        "Bösewicht",
        "Böses Kamel",
        "Botanik",
        "Brauchtum",
        "Buchstabe",
        "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",
        "Fernsehen",
        "Feuer",
        "Film",
        "Firma",
        "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",
        "Gutes Kamel",
        "Gutmenschentum",
        "Häh?",
        "Haushaltsgeräte",
        "Herdenverhalten",
        "Helden",
        "Hornträger",
        "Hunde",
        "Hygiene",
        "Industrie",
        "Insekten",
        "Inseln",
        "Jahrestag",
        "Jahreszahl",
        "Japan",
        "Kalau",
        "Kalender",
        "Kamele",
        "Kamelkunde",
        "Kamelopedia",
        "Kasusativ",
        "Katzen",
        "Kleidung",
        "Komische Kamele",
        "Komische Typen",
        "Komische Viecher",
        "Kommunikation",
        "Kosmetik",
        "Krabbeltiere",
        "Krankheiten",
        "Krieg",
        "Kriminalität",
        "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",
        "Militär & Polizei",
        "Mischwesen",
        "Möbel",
        "Mode",
        "Muscheln & Schnecken",
        "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",
        "Post",
        "Projekt",
        "Psychologie",
        "Pyramiden",
        "Raubtier",
        "Re(h)kursion",
        "Recht",
        "Religion",
        "Rezepte",
        "Rindviecher",
        "Rohstoffe",
        "SadoMaso",
        "Sammelartikel",
        "Saurier",
        "Schach",
        "Schafe",
        "Schauspieler & Entertainer",
        "ScheibchenWelt",
        "Schifffahrt",
        "Schlangen",
        "Schöner Wohnen",
        "Schule",
        "Schweine",
        "Schweiz",
        "Sexualität",
        "Soziologie",
        "Spiel",
        "Sport",
        "Sportler",
        "Sprache",
        "Sprachwissenschaft",
        "Staat",
        "Stadt",
        "Süßigkeiten",
        "Suppen & Soßen",
        "Symbol",
        "Technik",
        "Textilien",
        "Theorie",
        "Tiger",
        "Tisch",
        "Touristik",
        "Uhren",
        "Umfrage",
        "Unternehmer",
        "Unterwasser",
        "USA",
        "Verkehr",
        "Verkehrsmittel",
        "Verpackung",
        "Verschwörungstheorien",
        "Verwechslungen",
        "Vögel",
        "Waffen",
        "Wale",
        "Währung",
        "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 + '\')">·&nbsp;' + 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>&nbsp;";
        }
 
        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('′');
        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('∞');
        zeichen('◆');
        zeichen('▲');
        trenn();
        zeichen('ſ');
        zeichen('Œ');
        zeichen('œ');
        zeichen('Ç');
        zeichen('ç');
        trenn();
        zeichen('İ');
        zeichen('ı');
        zeichen('Ğ');
        zeichen('ğ');
        zeichen('Ş');
        zeichen('ş');
        trenn();
        klammer('[[',']]');
        klammer('[',']');
        zeichen('|');
        zeichen('¦');
        zeichen('&amp;nbsp;');
        trenn();
        klammer('{{','}}');
        zeichen('~~~~');
 
        html += '</span><br /><br />';
        return html;
    }
//------------------------------------------------------------------
//Jeder Eintrag besteht aus max. 3 Parametern, die mit einem "°" getrennt werden:
//  P1: wenn leer: Wird P2 als neue Überschrift eingefügt
//      wenn nicht leer: P1 wird als klickbarer Titel dargestellt und auch in das Editfeld gepatched
//      ausser P2 ist vorhanden
//  P2: wenn vorhanden: Wird anstatt von P1 ins Editfeld gepatched ausser P2=Load
//      wenn P2=Load : Wird die Seite/Vorlage in P3 geladen und der Inhalt zwischen
//      dem ersten "<pre>{{" und "}}" ins Editfeld gepatched
 
   var VorlagenNamen = [];
 
   // Spezialvorlagen für die Bürokraten - nur im Bürokratenspiel ganz nach oben:
   if (Seitenname.substring(0,23) == "Projekt:Bürokratenspiel")
       VorlagenNamen = VorlagenNamen.concat([
        "°Bürokratie",
        "Ablehnung°Bürokratenspiel/Formulare/Ablehnung",
        "Abstimmung°Bürokratenspiel/Formulare/Abstimmung",
        "Anfechtung°Bürokratenspiel/Formulare/Anfechtung",
        "Anfrage°Bürokratenspiel/Formulare/Anfrage",
        "Anmerkung°Bürokratenspiel/Formulare/Anmerkung",
        "Antrag°Bürokratenspiel/Formulare/Antrag",
        "Anweisung°Bürokratenspiel/Formulare/Anweisung",
        "Bearbeitung°Bürokratenspiel/Formulare/Bearbeitung",
        "Beschluss°Bürokratenspiel/Formulare/Beschluss",
        "Beschwerde°Bürokratenspiel/Formulare/Beschwerde",
        "Feststellung°Bürokratenspiel/Formulare/Feststellung",
        "Formfehler°Bürokratenspiel/Formulare/Formfehler",
        "Genehmigung°Bürokratenspiel/Formulare/Genehmigung",
        "Gutachten°Bürokratenspiel/Formulare/Gutachten",
        "Interne Mitteilung°Bürokratenspiel/Formulare/Interne Mitteilung",
        "Kenntnisnahme°Bürokratenspiel/Formulare/Kenntnisnahme",
        "Maßnahme°Bürokratenspiel/Formulare/Maßnahme",
        "Mecklenburg-Vorpommer°Bürokratenspiel/Formulare/Mecklenburg-Vorpommer",
        "Mitteilung°Bürokratenspiel/Formulare/Mitteilung",
        "Nicht zuständig°Bürokratenspiel/Formulare/Nicht zuständig",
        "Rechenschaftsbericht°Bürokratenspiel/Formulare/Rechenschaftsbericht",
        "Rechtshinweis°Bürokratenspiel/Formulare/Rechtshinweis",
        "Rückzug°Bürokratenspiel/Formulare/Rückzug",
        "Rüge°Bürokratenspiel/Formulare/Rüge",
        "Stellungnahme°Bürokratenspiel/Formulare/Stellungnahme",
        "Ungültig°Bürokratenspiel/Formulare/Ungültig",
        "Verfügung°Bürokratenspiel/Formulare/Verfügung",
        "Verwarnung°Bürokratenspiel/Formulare/Verwarnung"
   ]);
 
   // Allgemeine Vorlagen
   VorlagenNamen = VorlagenNamen.concat([
	"°Hinweise",
	"siehe°s",
	"siehe auch°sa",
	"Sie",
	"besuche bitte°bb",
	"siehe vielleicht°sv",
	"Lies mal°lm",
	"siehe besser°sb",
	"Siehe dazu lieber°sl",
	"negativ beeinflussen°nb",
	"Dann geh doch°gd",
	"siehe nicht°sn2",
	"Siehe besser nicht°sn",
	"auf gar keinen Fall°sk",
	"siehe eben nicht°sn",
	"Hier wartet man°hwm",
	"nichts zu tun mit°nt",
	"Vergleiche mit°vg",
	"verwechseln mit°zv",
	"Nicht zu verwechseln°nv",
	"Tut nichts zur Sache°st",
        "Siehe aber°Sab",
        "Beachte jedoch°Bj",
	"WWW°sw",
	"siehe Kamelionary°sy",
 
	"°Auszeichnungen",
	"Exzellent",
	"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 fehlt°Text",
	"Mager",
 
	"°Praktisches",
	"Anrede",
	"Bügeln",
	"Fortsetzung",
	"Schon gewusst",
	"Artikel Teaser°ArtikelTeaser<br />| Kopfzeile = Schlagzeile<br />| Bild = Bildname ohne &#34;Bild:&#34;<br />| Grösse = Bildbreite ohne &#34;px&#34;<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°Load°Vorlage:Kamelionary/preload",
 
	"°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|~~~",
        "Quelle fehlt°Quelle?",
 
	"°Listen",
	"Listenartikel",
	"TOC",
 
	"°Andere Welt",
	"Gesungene Kamelopedia",
 
	"°Kamelbox positiv",
	"Moin",
	"Glückwunsch",
	"Glückwunsch2",
	"Hallo",
	"Keks",
	"Preis",
	"Hinweise",
	"Liebguck",
 
	"°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",
        "Erklärbär",
	"Gesichtet",
	"Gesundheitshinweis",
	"Kotzen",
	"Merkelsatz",
	"Merksatz",
        "Mürrebär",
	"Navbox",
	"Ref°Ref|1",
	"Note°Note|1|2=Norddeutsches Amtsblatt",
	"Rechtshinweis",
	"Religionshinweis",
	"Scherz",
	"Selbstlöschung",
	"Spoiler",
	"Systematik°Load°Vorlage:Systematik",
	"Systematik Film°Load°Vorlage:Systematik_Film",
	"Systematik Bühne°Load°Vorlage:Systematik_Bühne",
	"Tipp",
	"Topsecret",
	"Traurig",
	"Vorlagenfrei",
	"Vorlagenwahn",
	"Warnung°Warnung|Grund",
	"Wikipedia",
	"Zitat°Zitat|Zitattext|Zitierter|Thema",
 
	"°Artikel-Navis",
	"Alphabet",
	"Europa",
	"Farben",
	"Kapst",
	"Klassiker",
	"Kontinente",
	"Mammon",
	"PSE",
	"PSEBIG",
	"Partei",
	"Pronomen",
	"Sinn",
	"Sprech",
	"Umwelt",
	"WOMO",
	"Werbeblock",
	"Zahlen",
	"Zahlenstrahl"
    ]);
 
    function add_Templ(T) {
	var Teil = T.split("°");
 
	if (Teil[0]){
		var html = "<a href=\"javascript:insertVorlage('\{\{','\}\}','";
		if (Teil[1]){
			if (Teil[1]=="Load"){
				var html = "<a href=\"javascript:Get_Page('" + Teil[2] + "');\">"
			}else{
				var html = "<a href=\"javascript:insertVorlage('\{\{','\}\}','" + Teil[1] + "');\">"
			}
		}else{
			var html = "<a href=\"javascript:insertVorlage('\{\{','\}\}','" + Teil[0] + "');\">"
		}
		html +="<span style=\"white-space:nowrap;\">" + Teil[0] + "</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>&nbsp;<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;
   // bei geschützten seiten jibet editform nüscht
    if (document.getElementById('editform')) {
        document.getElementById('editform').insertBefore(kat_div_2, document.getElementById('antispam-container'));
        // 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
			selText = sampleText.replace(/<br \/>/g,"\n");
			range.text = tagOpen + selText + tagClose;
			//mark sample text as selected
			if (range.moveStart) {
				if (window.opera){tagClose = tagClose.replace(/\n/g,'');}
				range.moveStart('character', - tagClose.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
			selText = sampleText.replace(/<br \/>/g,"\n");
			txtarea.value = txtarea.value.substring(0, startPos) + tagOpen + selText + tagClose	+ txtarea.value.substring(endPos, txtarea.value.length);
			//set new selection
			txtarea.selectionStart = startPos + tagOpen.length + selText.length;
			txtarea.selectionEnd = startPos + tagOpen.length + selText.length;
			//restore textarea scroll position
			txtarea.scrollTop = textScroll;
		} 
 
	}