Wikipedia Diskussion:Technik/Skin/Gadgets/Zeitzonenkonverter

message: Mir fehlt noch die Einschränkung auf Diskseiten. Außerdem würde ich Elemente aus #bodyContent durchlaufen:
function IsTalkPage() {
   var isSpecial  = (wgCanonicalNamespace == "Special");
   var isTalk = (!isSpecial && (wgNamespaceNumber % 2 == 1);
 
   var regpages = new Array(':Verbesserungsvorschläge', ':Löschkandidaten', ':Löschprüfung', ':Entsperrwünsche', ':Adminkandidaturen', ':Qualitätssicherung', ':Fragen_zur_Wikipedia', ':Meinungsbilder', ':Review', ':Bilderwünsche', ':Kandidaten', ':Fragen_von_Neulingen', ':Auskunft');
   if (wgCanonicalNamespace.match(/talk$|Diskussion$/i)) var regpages = "";
   for (p in regpages) 
      if (wgPageName.indexOf(regpages[p]) != -1) {regpages=false; break;} //regpages=false  wenn Diskussions-Wikipedia-Seite (Script aus Benutzer:Olliminatore/signing.js)
   if (!regpages || isTalk)
      return true;
   return false;
   }
if (IsTalkPage())
   node_ersetzen(document.getElementById('bodyContent'));
meint -- ✓ Bergi 14:07, 1. Jan. 2010 (CET)
replies: text: Hm, könnte man da nicht gerade umgekehrt an die Sache herangehen, sprich, Artikel auszuschliessen? Im WP-Namensraum sollte die Ersetzung z.B. bei Projekten auch geschehen. --Leyo 12:39, 8. Jan. 2010 (CET)
replies: text: Das wäre natürlich einfacher. Man muss einfach abwiegen, wo der Skript Schaden anrichten könnte. Über CEST gelaufen, würde er sicher für Verwirrung sorgen. Theoretisch müsste man erkennen können, ob das „(CEST)“ Teil einer Signautr ist.meint -- ✓ Bergi 16:26, 12. Jan. 2010 (CET)
replies: text: Das ist doch mittels (/(20\d\d) im Code gewährleistet. Oder meinst du etwas anderes? --Leyo 16:36, 12. Jan. 2010 (CET)
replies: text: Wenn ich jetzt hier (CEST) schreibe, und das umgewandelt wird, verfälscht das meine Aussage. Allerdings hast du Recht, die Version mit Klammern wird kaum einer im Fließtext unter der Bedeutung CentralEuropeanTime nutzen. Und in Zeitleisten o.ä. darf es eigentlich durchaus umgewandelt werden.meint -- ✓ Bergi 17:13, 12. Jan. 2010 (CET)
replies: text: Damit (CEST) vom Skript umgewandelt würde, müsste noch eine vierstellige Zahl beginnend mit 20 davor. --Leyo 17:24, 12. Jan. 2010 (CET)
replies: text: OK, mit regulären Ausdrücken bin ich nicht so vertraut :-( -- ✓ Bergi 18:28, 12. Jan. 2010 (CET)
thread_title:  Einschränkung auf Diskseiten 

message: == MESZ ==
In der Beschreibung der „Helferlein“, unter Spezial:Einstellungen, wird direkt von „MESZ“ auf „Sommerzeit“ verlinkt, was gegenüber dem vorangehenden Link (MEZ) dort inkonsequent und daher auch irreführend ist, wenn der Leser nur über den Link fährt. Es sollte daher besser (wie in der Überschrift hier) von „MESZ“ auf „Mitteleuropäische Sommerzeit“ verlinkt und dabei ggf. auch die vorhandene Weiterleitung verwendet werden, da dies die korrekte Bedeutung dieser Abkürzung ist.
--Konrad – 11:44, 19. Mai 2010 (CEST)
replies: text: So besser? --Leyo 15:53, 19. Mai 2010 (CEST)

text: [..] Das Gadget ist nur für Signaturen gedacht. --Leyo 11:34, 3. Nov. 2010 (CET)

text: (Der vorstehende Beitrag wurde von der Seite „Benutzer Diskussion:Revolus/monobook.js/sidebartranslate.js“ hier hergeschoben.)
Etwas anderes, als signierte Beiträge auf Diskussionsseiten, habe ich auch nicht gemeint.
--Konrad – 09:24, 4. Nov. 2010 (CET)

text: Gibt es denn (viele) solche Signaturen, abgesehen von Beiträgen, die aus der en-WP hierher kopiert wurden? Ich bitte um Beispiele von entsprechenden Diffs. --Leyo 09:49, 4. Nov. 2010 (CET)

text: Ich teile deine Meinung nicht und werde das Gadget daher auch nicht erweitern. --Leyo 09:54, 8. Nov. 2010 (CET)

text: Ich kann es nachvollziehen (dass, nicht weshalb), müsste aber zur Lösung WP:TSW beiziehen. --Leyo 00:13, 28. Dez. 2011 (CET)
replies: text: Weiter gehts hier → Wikipedia:Technik/Skin/Werkstatt#Gadget-Zeitzonenkonverter.js:_Schwesterprojektlinks_.28z.B._Commons.29_werden_missformatiert. --Saibo (Δ) 01:33, 28. Dez. 2011 (CET)

text: Klasse. Danke sehr! --Seth Cohen 19:38, 19. Okt. 2012 (CEST)
replies: text: Ein (unkritischer) Logikfehler ist mir gerade noch aufgefallen. Habe ich oben behoben. Bitte auch noch übernehmen, wenn es geht. Danke. --TMg 20:26, 19. Okt. 2012 (CEST)
replies: text: Übernommen. --Leyo 20:39, 19. Okt. 2012 (CEST)

text: Die Lösung habe ich oben eingebaut. Auf die Performanz hat das meinem Test zufolge erstaunlicherweise nahezu keinen Einfluss. Bitte übernehmen. --TMg 20:39, 25. Okt. 2012 (CEST)
replies: text: Danke sehr. Wie misst du die Performanz eigentlich? --Seth Cohen 20:57, 25. Okt. 2012 (CEST)
replies: text: Ganz primitiv 2× die Zeit stoppen. var t0 = Date.now(); alert(Date.now() - t0); Damit das etwas Aussagekräftiges ergibt, multipliziere ich vorher den Seiteninhalt. --TMg 23:22, 25. Okt. 2012 (CEST)
replies: text: Danke! --Seth Cohen 17:22, 26. Okt. 2012 (CEST)
replies: text:  Übertragen. Der Umherirrende 19:46, 8. Nov. 2012 (CET)

text: Hi Benutzer:DerHexer, perhaps you can help? --Amir E. Aharoni (Diskussion) 12:04, 5. Jun. 2017 (CEST)
replies: text:  Fixed. Best, —DerHexer (Disk., Bew.) 21:45, 8. Jun. 2017 (CEST)
thread_title:  Diskussionen nach der Aktivierung als Gadget 

message: In der Beschreibung der „Helferlein“, unter Spezial:Einstellungen, wird direkt von „MESZ“ auf „Sommerzeit“ verlinkt, was gegenüber dem vorangehenden Link (MEZ) dort inkonsequent und daher auch irreführend ist, wenn der Leser nur über den Link fährt. Es sollte daher besser (wie in der Überschrift hier) von „MESZ“ auf „Mitteleuropäische Sommerzeit“ verlinkt und dabei ggf. auch die vorhandene Weiterleitung verwendet werden, da dies die korrekte Bedeutung dieser Abkürzung ist.
--Konrad – 11:44, 19. Mai 2010 (CEST)
replies: text: So besser? --Leyo 15:53, 19. Mai 2010 (CEST)
thread_title:  [[Mitteleuropäische Sommerzeit|MESZ]] 

message: Es wäre gut, wenn dieser Zeitzonenkonverter hier dann auch mal UTC nach MEZ (oder ggf. MEST) übersetzen könnte, da diese Zeitzone auch hin und wieder hier im Wiki verwendet wird (siehe auch Suchfunktion, z.B. mit "2010 (UTC)"). Andere Zeitzonen könnten dann ggf. auch mal ergänzt werden, falls noch weitere verwendet werden.
--Konrad – 12:04, 19. Mai 2010 (CEST)
replies: text: [..] Das Gadget ist nur für Signaturen gedacht. --Leyo 11:34, 3. Nov. 2010 (CET)

text: (Der vorstehende Beitrag wurde von der Seite „Benutzer Diskussion:Revolus/monobook.js/sidebartranslate.js“ hier hergeschoben.)
Etwas anderes, als signierte Beiträge auf Diskussionsseiten, habe ich auch nicht gemeint.
--Konrad – 09:24, 4. Nov. 2010 (CET)

text: Gibt es denn (viele) solche Signaturen, abgesehen von Beiträgen, die aus der en-WP hierher kopiert wurden? Ich bitte um Beispiele von entsprechenden Diffs. --Leyo 09:49, 4. Nov. 2010 (CET)

text: Ich teile deine Meinung nicht und werde das Gadget daher auch nicht erweitern. --Leyo 09:54, 8. Nov. 2010 (CET)
thread_title:  UTC -> MEZ 

message: Auf Wikipedia:Fragen zur Wikipedia#Und noch mal: Sonderzeichenleiste wurde ein Fehler auf dieser Seite ausgemacht. Keine Ahnung, ob es stimmt, aber vielleicht kann sich hier jemand der Sache annehmen. --Alex 10:42, 5. Nov. 2011 (CET)
thread_title:  Probleme mit Skin Modern 

message: K@rl  berichtete mir unter Benutzer Diskussion:Saibo#Darstellungsproblem von Commonslink von diesem:  "Und zwar stellt sich der Link wie die Abbildung zeigt dar. Und zwar ergibt sich das wenn das Helferlein:Zeitzonenkonverter aktiv ist. (Lange gesucht - der letzte wars dann schließlich. Ich arbeite mit FF ist schon längere Zeit mit 7. bis 9.0"
Ich selbst kann es allerdings (wenn ich das Helferlein anschalte) mit FF 3.6 und Monobook an Ernst Rüdiger von Starhemberg nicht nachvollziehen. Viele Grüße --Saibo (Δ) 00:05, 28. Dez. 2011 (CET)
replies: text: Ich kann es nachvollziehen (dass, nicht weshalb), müsste aber zur Lösung WP:TSW beiziehen. --Leyo 00:13, 28. Dez. 2011 (CET)
replies: text: Weiter gehts hier → Wikipedia:Technik/Skin/Werkstatt#Gadget-Zeitzonenkonverter.js:_Schwesterprojektlinks_.28z.B._Commons.29_werden_missformatiert. --Saibo (Δ) 01:33, 28. Dez. 2011 (CET)
thread_title:  Schwesterprojektlinks (z.B. Commons) werden missformatiert 

message: Es wäre prima, wenn der Zeitzonenkonverter auch unter Verwendung der Option „Vorschau sofort anzeigen (benötigt JavaScript) (experimentell)“ bei der Vorschau greifen würde. --Seth Cohen 19:44, 17. Sep. 2012 (CEST)
replies: text: Klasse. Danke sehr! --Seth Cohen 19:38, 19. Okt. 2012 (CEST)
replies: text: Ein (unkritischer) Logikfehler ist mir gerade noch aufgefallen. Habe ich oben behoben. Bitte auch noch übernehmen, wenn es geht. Danke. --TMg 20:26, 19. Okt. 2012 (CEST)
replies: text: Übernommen. --Leyo 20:39, 19. Okt. 2012 (CEST)
thread_title:  Vorschau 

message: $(function() {
        if (mw.config.get('wgNamespace') < 0) {
                return;
        }
	var blacklist = { 'CODE': true, 'FORM': true, 'PRE': true, 'SCRIPT': true, 'STYLE': true };
        var regex = /( 20\d\d) \(CE(S?)T\)/g;
        function iterateNode(node) {
                if (node.nodeType == 3 && regex.test(node.data)) {
                        node.data = node.data.replace(regex, '$1 (ME$2Z)');
                } else if (node.nodeType == 1 && !blacklist[node.nodeName] && !$(node).hasClass('diff')) {
                        for (var i = node.childNodes.length; i--; ) {
                                iterateNode(node.childNodes[i]);
                        }
                }
        }
	if (mw.user.options.get('uselivepreview')) {
		$(mw).on('LivePreviewDone', function() {
			iterateNode(document.getElementById('wikiPreview'));
		});
	}
        if (mw.util.$content && mw.util.$content.length &&
                (mw.config.get('wgNamespace') != 0 || mw.util.$content.text().indexOf(' (CE') > 0)) {
	        iterateNode(mw.util.$content[0]);
        }
});
Eigentlich war mein Ziel, das Gadget schneller zu machen, aber es ist schon unheimlich schnell. Mehr als ein paar Millisekunden konnte ich nicht mehr rausholen. Erläuterung aller Änderungen:
* Funktioniert mit der Einstellung „Vorschau sofort anzeigen“.
* Quelltextabschnitte und einiges andere werden von der Ersetzung ausgenommen.
* Der Reguläre Ausdruck hat ein Leerzeichen vor der Jahreszahl erhalten und das i verloren, um ihn so spezifisch wie möglich zu machen.
* Der Stringvergleich ist durch ein test() ersetzt. Das ist je nach Browser sogar schneller.
* Sowohl mw.config.get() als auch mw.util.$content sind billige Operationen. Dafür lokale Variablen anzulegen, kann sogar langsamer sein.
* Ob man == oder === schreibt, ist Geschmackssache. Schneller ist es in den aktuellen Browsern nicht. Die Empfehlung lautet, === zu verwenden, wenn es von Bedeutung ist, den Typ zu vergleichen, sonst ganz normal ==.
--TMg 18:03, 19. Okt. 2012 (CEST)
replies: text: Klasse. Danke sehr! --Seth Cohen 19:38, 19. Okt. 2012 (CEST)
replies: text: Ein (unkritischer) Logikfehler ist mir gerade noch aufgefallen. Habe ich oben behoben. Bitte auch noch übernehmen, wenn es geht. Danke. --TMg 20:26, 19. Okt. 2012 (CEST)
replies: text: Übernommen. --Leyo 20:39, 19. Okt. 2012 (CEST)
thread_title:  Überarbeitete Version 

message: Das Skript ist, ebenso wie signatureDateFormat.js, beim Versionsvergleich aktiv. Dort sollte es abgeschaltet sein. --Seth Cohen 18:41, 25. Okt. 2012 (CEST)
replies: text: Die Lösung habe ich oben eingebaut. Auf die Performanz hat das meinem Test zufolge erstaunlicherweise nahezu keinen Einfluss. Bitte übernehmen. --TMg 20:39, 25. Okt. 2012 (CEST)
replies: text: Danke sehr. Wie misst du die Performanz eigentlich? --Seth Cohen 20:57, 25. Okt. 2012 (CEST)
replies: text: Ganz primitiv 2× die Zeit stoppen. var t0 = Date.now(); alert(Date.now() - t0); Damit das etwas Aussagekräftiges ergibt, multipliziere ich vorher den Seiteninhalt. --TMg 23:22, 25. Okt. 2012 (CEST)
replies: text: Danke! --Seth Cohen 17:22, 26. Okt. 2012 (CEST)
replies: text:  Übertragen. Der Umherirrende 19:46, 8. Nov. 2012 (CET)
thread_title:  Skript bei Versionsvergleich aktiv 

message: Hi,
Some special pages don't have a content element, and this script produces JS errors.
To fix this, please do:
// ersetzt „CE(S)T“ durch „ME(S)Z“ (ohne Änderung von Seiten)
$(function() {
        if (mw.config.get('wgNamespace') < 0) {
                return;
        }
        var blacklist = { 'CODE': true, 'FORM': true, 'PRE': true, 'SCRIPT': true, 'STYLE': true };
        var regex = /( 20\d\d) \(CE(S?)T\)/g;
        function iterateNode(node) {
                if (node.nodeType == 3 && regex.test(node.data)) {
                        node.data = node.data.replace(regex, '$1 (ME$2Z)');
                } else if (node.nodeType == 1 && !blacklist[node.nodeName] && !$(node).hasClass('diff')) {
                        for (var i = node.childNodes.length; i--; ) {
                                iterateNode(node.childNodes[i]);
                        }
                }
        }
        mw.hook( 'wikipage.content' ).add( function( $content ) {
                if ( $content[0] !== undefined ) {
                        iterateNode($content[0]);
                }
        });
});
Thank you! --Amir E. Aharoni (Diskussion) 16:19, 4. Jun. 2017 (CEST)
replies: text: Hi Benutzer:DerHexer, perhaps you can help? --Amir E. Aharoni (Diskussion) 12:04, 5. Jun. 2017 (CEST)
replies: text:  Fixed. Best, —DerHexer (Disk., Bew.) 21:45, 8. Jun. 2017 (CEST)
thread_title:  Fix for pages without a content element