Benutzer:Lustiger seth/seth-style.js

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 5. April 2023 um 23:41 Uhr durch Lustiger seth (Diskussion | Beiträge) (feat: traverse DOM instead of raw innerHTML). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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
// apply lower case style and converted umlauts and sz-ligature on comments of lustiger_seth
// (not tested very well.)

function sethsche_schreibung(){
	function lc_replacer(match, offset, string){
		return match.toLowerCase();
	}

	function replaceTextNodes(node, post_id=""){
		node.childNodes.forEach(function(el){
			if(post_id !== "" && el.nodeType === 3){  // text node
				el.nodeValue = el.nodeValue
					.replace(/\b[A-ZÄÖÜ][a-zäöüß]+\b/g, lc_replacer)
					.replace(/L(ustiger[_ ]seth)/g, "l$1")
					.replace(/ä/g, "ae")
					.replace(/ö/g, "oe")
					.replace(/ü/g, "ue")
					.replace(/ß/g, "ss");
			}else{  // recurse
				if(el.nodeType === 1){
					if(post_id === "" && el.id.startsWith("c-Lustiger_seth")){
						post_id = el.id;
					}else if(typeof(el.dataset.mwThreadId) !== "!undefined" && el.dataset.mwThreadId === post_id){
						post_id = "";
					}
				}
				replaceTextNodes(el, post_id);
			}
		});
	}
  
	replaceTextNodes(document.getElementById("mw-content-text")
		.getElementsByClassName("mw-parser-output")[0]);
}

sethsche_schreibung();