Benutzer:XanonymusX/NaviConvert.js

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
function wikitextnavbox() {
    var input = document.getElementById("wikitext-in").value;
    var output
    
    // +Parameter Name
    output = input.replace("{{Navigationsleiste Musik", "{{Navigationsleiste Musik\n|Name                = {{#invoke:Vorlage:Erweiterte Navigationsleiste|Name}}")
	
	// grobe Umwandlung einfacher Navigationsleisten
	output = output.replace("{{Navigationsleiste", "{{Navigationsleiste Musik\n|Name                = {{#invoke:Vorlage:Erweiterte Navigationsleiste|Name}}\n|Sortierung          = \n|Musiker             = \n|Band                = \n|Linktext            = \n|Bandmitglieder      = \n|Ehemalige           = \n|Weiteres            = ")
    output = output.replace(/\|\s?INHALT.+\n/g, "|Studioalbum         =\n").replace(/\|\s?TITEL.+\n/g, "")
    if (output.match("BILD")) {
    	var image = output.match(/\|\s?BILD\s?\=(.+)\n/)
    	if (image) {
    		output = output.replace(/\|\s?BILD.+\n/g, "").replace("|Linktext            = \n", "|Linktext            = \n|Bild                = " + image[1] + "\n|Bild-Beschreibung   = \n|Bild-px             = \n")
    	} else {
    		output = output.replace(/\|\s?BILD.+\n/g, "")
    	}
    }
    
    // Aufzählungen
    output = output.replace(/\|/g, "•").replace(/\ •/g, " •").replace(/=\s?(.+?)\s?•\s/g, "=\n* $1\n* ").replace(/\s•\s/g, "\n* ")
    
    // -Parameter Tabelle, Grau-Weiß
    output = output.replace(/\|\s?Tabelle.+\n/g, "").replace(/\s?\|\s?Grau\-Weiß.+/g, "")

    // Parameter Weiteres
    output = output.replace(/(\|\s?)Auszeichnungen(\s+?=)/, "$1Weiteres      $2")
  
    if (!input.match(/^\s*\{\{/) || !input.match(/\}\}\s*$/)) {
      output = "Keine Navigationsleiste!"
    }
    
    // Ergänzung weiterer Parameter bei einfacher Navigationsleiste
    if (input.match(/|INHALT/)) {
    	output = output.replace("\n}}", "\n|Kollaborationsalbum = \n|Livealbum           = \n|Kompilationsalbum   = \n|Remixalbum          = \n|Mixtape             = \n|Soundtrack          = \n|EP                  = \n|Weihnachtsalbum     = \n|Tributealbum        = \n|Demoalbum           = \n|Labelsampler        = \n|Videoalbum          = \n|Single              = \n|Featuring           = \n|Split               = \n|Tournee             = \n}}")
    }
  
    $('#wikitext-out').val(output);
    
  }
  
  function convert() {
    try {
      wikitextnavbox()
    } catch (error) {
      $('#wikitext-out').val(error);
    }
  }

function deleteparams (navitype) {
	var input = document.getElementById("wikitext-out").value;
	var oldinput = document.getElementById("wikitext-in").value;
	var output;
	var titleline = oldinput.match(/\|\s?TITEL.+\n/g);
	var titleelement = "";
	if (titleline) {
		titleelement = titleline[0].replace(/.+=\s?/g, "").replace("\n", "");
	}
	
	if (navitype === "band") {
		output = input.replace("\n|Musiker             = ", "").replace("\n|Kollaborationsalbum = ", "").replace("\n|Band                = ", "\n|Band                = " + titleelement)
	} else {
		output = input.replace("\n|Band                = ", "").replace("\n|Bandmitglieder      = \n|Ehemalige           = ", "").replace("\n|Musiker             = ", "\n|Musiker             = " + titleelement)
	}
	
	$('#wikitext-out').val(output);
}

function artist() {
	try {
		deleteparams("artist")
	} catch (error) {
		$('#wikitext-out').val(error);
	}
}

function band() {
	try {
		deleteparams("band")
	} catch (error) {
		$('#wikitext-out').val(error);
	}
}