Wikipedia:Lua/Werkstatt/Archiv/2018

aus Wikipedia, der freien Enzyklopädie
Letzter Kommentar: vor 3 Jahren von PerfektesChaos in Abschnitt Strip Marker (ref) matchen
Zur Navigation springen Zur Suche springen

Wer findet den Fehler?

Schau sich bitte jemand die Lua-Fehlermeldung in der Diskographie im Artikel Jody Miller an. Ich finde keinen Fehler, Du? --Tommes  23:20, 5. Mär. 2018 (CET)

Ich! Ist korrigiert, du hattest das Jahr nummeriert. Wie ich das im Modul abfange, überleg ich mir noch, eigentlich sollte es Jahr# einfach nicht erkennen …–XanonymusX (Diskussion) 00:19, 6. Mär. 2018 (CET)
Das Modul fängt den Fall jetzt auch ab, so etwas ergäbe dann einfach ein leeres Feld unter Jahr.–XanonymusX (Diskussion) 18:07, 9. Mär. 2018 (CET)
Archivierung dieses Abschnittes wurde gewünscht von: D a n k e s c h ö n ! --Tommes  20:51, 7. Mär. 2018 (CET)

Modul-Namensraum Suchmaschinen-indizierbar?!

Hallo zusammen! Mir ist gerade aufgefallen, dass der Modulnamensraum für Suchmachinen durchsuchbar ist, weil dort im Gegensatz zum BNR, WNR, Hilfe und den Diskussionseiten der entsprechende Sperr-Vermerk fehlt:

<meta name="robots" content="noindex,nofollow">

Ist das gewollt? sinnvoll? ein Versehen? Der Vorlagen-Namensraum scheint auch indizierbar zu sein. Was auch nicht unbedingt sinnvoll, aber irgendwie nachvollziehbar ist - Vorlagen sind schließlich Inhaltsfragmente und werden als gerenderter WikiText ausgegeben. Bei Lua-Modulen hingegen, wird der Quell-Text angezeigt. Sind zwar bisher nur 380 Seiten auf Google aber wirklich sinnvoll ist das mMn nicht. Sollen wir das ändern lassen? Was meint Ihr? // Martin K. (Diskussion) 19:27, 7. Jan. 2018 (CET)

Eine Änderung ist doch nur sinnvoll, wenn sie projektübergreifend einheitlich gemacht wird. Einen Alleingang von dewiki finde ich nicht sinnvoll. Grüße --FriedhelmW (Diskussion) 20:11, 7. Jan. 2018 (CET)
Das ist so gewollt; Lua ist nichts anderes als eine Erweiterung der Vorlagentechnik.
Eine Behinderung der Indexierung nehmen wir serienmäßig nur bei privaten und persönlichen Angelegenheiten vor; das ist der BNR, die Diskussionen und gelegentlich Wahlen oder sonstige benutzerbezogene Vorgänge bzw. Konflikte, die nicht in die Welt posaunt werden müssen.
An Lua-Modulen gibt es keine Geheimnisse zu verstecken.
Siehe im Übrigen Wikipedia:Suchmaschinenindex #Namensräume.
WPNR und Hilfeseiten sind durchsuchbar; die Behauptung im Eingangssatz ist falsch.
VG --PerfektesChaos 20:31, 7. Jan. 2018 (CET)
Ok, danke für den Hinweis. Ich hatte das nur stichprobenartig geprüft und WP:URF ist z.B. noindex,follow angegeben. // Martin K. (Diskussion) 21:39, 7. Jan. 2018 (CET)
„URF“ ist im Seitenkopf individuell mit NOINDEX markiert; wohl unter „Konflikte, die nicht in die Welt posaunt werden müssen“ zur Abschottung interner sensibler Diskussionen geschützt. VG --PerfektesChaos 21:48, 7. Jan. 2018 (CET)
Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 11:27, 30. Apr. 2018 (CEST)

Pattern für Wiederholungen

Unter Hilfe:Lua/Zeichenketten#Pattern steht: „Es gibt keine {n,m} für die Anzahl der Zeichen.“
Kann beispielsweise [1-9]\d{3,5} (für Parameter ZVG) auf andere Weise in Pattern übersetzt werden? --Leyo 09:54, 23. Mai 2018 (CEST)

[1-9]%d%d%d%d?%d?
OT: Any idea?
LG --PerfektesChaos 10:14, 23. Mai 2018 (CEST)
Passt, danke!
Ein bestehendes ähnliches Script ist mir nicht bekannt. --Leyo 10:19, 23. Mai 2018 (CEST)
Archivierung dieses Abschnittes wurde gewünscht von: Leyo 12:46, 16. Okt. 2018 (CEST)

Datum: Tag addieren bei Jahresende

Hallo! Habe gerade auf Modul Diskussion:Vorlage:Nummer-eins-Hits#Isolierter Wochentest festgestellt, dass die Rechnung + "1 day" (Ausgangswert ist ein Datum, das durch das Modul:DateTime geschickt wird; siehe Funktion testweek in Modul:Vorlage:Nummer-eins-Hits) im Fall des 31. Dezembers den 3. Februar ergibt, während zu allen anderen Daten normal ein Tag addiert wird. Wie kommt das? Ich erwarte mir an der Stelle den 1. Januar. Gruß–XanonymusX (Diskussion) 01:46, 7. Dez. 2018 (CET)

Hmm; ich erinnere mich, dass es vor Jahren einen ähnlichen Fall gab.
Das Problem lag damals in PHP und war auch in irgendeiner Doku verzeichnet.
Ich finde jetzt erstmal nur den hier.
Irgendwie war das beim Sprung über Grenzen der Einheiten nie so recht robust.
Ich guck aber mal, ob auf Lua-Ebene (mir) oder PHP.
VG --PerfektesChaos 02:25, 7. Dez. 2018 (CET)
Zwischenstand: Lua meinerseits kocht beim Überlauf über, Fix in Arbeit, Testen braucht jedoch noch mindestens das Wochenende, kommt gelegentlich von selbst vermutlich kommende Woche.
VG --PerfektesChaos 15:27, 7. Dez. 2018 (CET)
Danke für den Hinweis, fix live, hier erl. VG --PerfektesChaos 18:53, 9. Dez. 2018 (CET)
Super, danke! –XanonymusX (Diskussion) 21:32, 9. Dez. 2018 (CET)
Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 23:08, 9. Dez. 2018 (CET)

Modul zum Ersetzen von Leerzeichen durch Bindestriche gesucht

Ich benötige etwas, das aus einem Seitentitel mit mehreren Wörtern ein mit Bindestrichen verbundenen Text macht. In der Vorlage:Laut wird bereits WLink #getArticleBase für Klammerlemmas benutzt. Die aufgerufene URL soll aber anstatt Leezeichen Bindestriche enthalten. Zum Beispiel soll aus „Die Apokalyptischen Reiter (Band)“ folgendes werden: „die-apokalyptischen-reiter“. Vielen Dank. --Boenki (Diskussion) 23:23, 13. Apr. 2018 (CEST)

Wenn ich mich nicht irre, gibt es dafür in ebenjener Funktion den Parameter space=-, hab ihn jetzt aber nicht getestet.—XanonymusX (Diskussion) 01:10, 14. Apr. 2018 (CEST)
Korrektur: in der Funktion ansiPercent gibt es den Parameter! Ist mir jetzt aber zu spät, das noch einzurichten …—XanonymusX (Diskussion) 01:26, 14. Apr. 2018 (CEST)
@Boenki: Sollte jetzt klappen! Gruß–XanonymusX (Diskussion) 00:45, 15. Apr. 2018 (CEST)
Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 15:12, 10. Dez. 2018 (CET)

Hallo nochmal. Ich erstelle gerade die Vorlage:45cat-artist und habe jetzt das Problem, dass http://www.45cat.com/ nur Kleinbuchstaben entgegen nimmt. Natürlich kann man immer eine ID angeben, aber die Vorlage ist eigentlich so gedacht, dass der Seitentitel benutzt werden soll. Der ist allerdings meist mit Großbuchstaben versehen, die jetzt irgendwie klein gemacht werden sollen. Aber wie? Vielen Dank schonmal für die Hilfe. --Boenki (Diskussion) 23:25, 17. Apr. 2018 (CEST)

Du kannst den gesamten Ausdruck und sogar eine übergebene ID in die Parserfunktion {{lc:}} einschließen; dann macht sie alles in lowercase.
LG --PerfektesChaos 12:37, 18. Apr. 2018 (CEST)
Vielen Dank! Hat funktioniert. --Boenki (Diskussion) 12:43, 18. Apr. 2018 (CEST)
Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 15:12, 10. Dez. 2018 (CET)

Hallo, nochmal eine neue Frage: Diesmal möchte ich gerne das Leerzeichen in einem Link ganz loswerden. Ich habe oben ja bereits gelernt es durch andere Zeichen zu ersetzten. Aber wie ersetze ich es durch "nichts"? #invoke:WLink|ansiPercent|space= geht wohl nicht... Nochmals vielen Dank für die stets schnelle und gute Hilfe! --Boenki (Diskussion) 17:09, 19. Apr. 2018 (CEST)

Du missbrauchst die Funktion sowieso schon, denn ansiPercent ist in erster Linie dazu gedacht, ein Encoding aus dem letzten Jahrhundert statt des heutzutage gültigen URL-Encoding zu verwenden.
Erfahrungsgemäß ist es nicht so arg schlau, derartige URL-Ausdrücke vollautmatisch aus unseren Lemmata zu generieren, weil es dann öfters zweite Vornamen und allerhand Besonderheiten mit Umlauten gibt, die in der URL anders aussehen als bei unseren Lemmata.
Ich rate dazu, daraus besser einen Pflichtparameter zu machen als die Anwender dazu zu erziehen, nirgendwo was hinzuschreiben und sich darauf zu verlassen, dass immer von selbst eine funktionierende URL herauskommt; wir haben ansonsten dann hinterher viel Ärger mit den defekten Weblinks.
LG --PerfektesChaos 17:40, 19. Apr. 2018 (CEST)
Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 15:12, 10. Dez. 2018 (CET)

Rechenleistung für Lua-Module

Hallo zusammen,

ich beschäftige mich ein wenig mit dem Energieverbrauch der Wikimediaprojekte, mich interessiert die Infrastruktur hinter den Wikimediaprojekten und ich bin vor allem in Wikidata aktiv. Was mich in Bezug auf Lua-Module interessiert ist, wieviel Rechenleistung diese benötigen und ob es durch den Einsatz von solchen Modulen zu längerer Ladezeit einer Seite kommt. Man sollte das bedenken, vor allem für die mobile Version da man nicht überall gutes Internet hat. Gibt es eine Möglichkeit, ein Modul so einzurichten, dass wenn sich die Information in Wikidata ändert, der Wert z. B. in der Infobox automatisch aktualisiert wird. Es also nicht jedes Mal neu aus Wikidata bezogen wird, sondern es von Wikidata aus aktualisiert wird. Hierbei meine ich also eine Art Bot, der diese Aufgabe übernimmt. Die Daten sollte man zentral in Wikidata pflegen, das finde ich eine gute Sache und Lua-Module finde ich gut, wenn nicht jedes Mal in Wikidata abgefragt wird. -- Hogü-456 (Diskussion) 21:58, 31. Okt. 2018 (CET)

Wenn Du einen Artikel lesend aufrufst, dann bekommst Du eine fertig gebaute Seite aus einem Cache ausgeliefert. Das kostet praktisch nix und vor allem ist da kein Lua im Spiel. Der Energieverbrauch der aller Wikimedia-Projekte zusammen ist angesichts ihrer Bedeutung im Übrigen eher gering (Mai 2016: ähnlich hoch wie rund 700 deutsche Haushalte); für Details siehe meta:Sustainability Initiative und meta:Wikimedia servers. —MisterSynergy (Diskussion) 22:46, 31. Okt. 2018 (CET)
Lua wird im Gegensatz zu JavaScript vom Server bearbeitet und nicht clientseitig. Die Zeit die der Server braucht kannst du in den Profilingdaten (auch im Quelltext oder in der Vorschau der Seite) ablesen. -- User: Perhelion 23:39, 31. Okt. 2018 (CET)
Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 15:09, 10. Dez. 2018 (CET)

Seitenname bei Einbindung

Hallo! Wenn ich die Lua-Vorlage T auf Seite A verwende und diese Seite A wiederum in Seite B einbinde, ergibt mw.title.getCurrentTitle()).text immer A. Gibt es eine Möglichkeit, dass die Vorlage bei Einbindung in B auch B ausgibt? Im konkreten Fall habe ich auch noch alternative Lösungsideen, daher hier nur so allgemein gefragt. Gruß—XanonymusX (Diskussion) 16:56, 25. Nov. 2018 (CET)

„Seite B“ müsste deiner Darstellung nach das Ergebnis von getCurrentTitle sein.
Alles, was dich ansonsten außerhalb von T brächte, wird dir erstens nicht gelingen, und falls doch und falls das ein MediaWiki-Programmierer spitzbekäme aus Sicherheitsgründen sofort unterbunden werden. Das Tracken der Zwischenschritte außerhalb eines Fehlerreports ist absolut unerwünscht. VG --PerfektesChaos 17:04, 25. Nov. 2018 (CET)
Ups, du hast natürlich Recht, ich habe mich da gerade selbst in die Irre geführt! Also lautet meine Frage im Gegenteil, ob ich eine Möglichkeit habe, bei Einbindung in B auch A zu erhalten? Alternativ kann ich meine Überprüfung auch über ein ifexist (bzw. das Lua-Pendant) machen, ist aber etwas komplizierter. Gruß—XanonymusX (Diskussion) 17:30, 25. Nov. 2018 (CET)
Und nochmal: Alles, was dich ansonsten außerhalb von T brächte, wird dir erstens nicht gelingen, und falls doch und falls das ein MediaWiki-Programmierer spitzbekäme aus Sicherheitsgründen sofort unterbunden werden. Das Tracken der Zwischenschritte außerhalb eines Fehlerreports ist absolut unerwünscht.
Heißt: Du kannst unmittelbar nur B und T herausfinden.
Allenfalls könntest du den Quelltext von B durchlesen, ob A erwähnt würde, weißt aber nicht unbedingt, ob A etwas mit T zu tun hätte. Dieses Verfahren ist aber recht teuer, und wenn du das mehrfach unternimmst, könnte es passieren, dass die Seite die Limits reißt.
VG --PerfektesChaos 23:12, 9. Dez. 2018 (CET)
Ja, ich sehe schon, meine ifexist-Abfrage war wohl die beste Lösung (und letztlich auch gar nicht kompliziert). Bei maximal einem Vorkommen pro Seite ist auch kein Limit in Gefahr. Gruß–XanonymusX (Diskussion) 23:25, 9. Dez. 2018 (CET)
Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 15:08, 10. Dez. 2018 (CET)

Problem beim Modul:Zuschauerzahlen mit frame:expandTemplate

Hallo, ich bin derzeit dabei mit Hilfe der Vorlagenwerkstatt die Vorlage:Zuschauerzahlen zum Laufen zu bringen. Aktuell gibt es ein Problem mit dem frame:expandTemplate beim Modul:Zuschauerzahlen: Lua-Fehler: expandTemplate: template "abbr" does not exist Laut englischer Vorlage soll die Anweisung für folgt lauten: :wikitext(frame:expandTemplate{ title='abbr', args={ 'Ep.', 'Episode' } } .. ' ' .. i) Leider wird 'abbr' nicht erkannt. In der rumänischen Wikipedia wird 'Abr' verwendet, das bei uns leider auch nicht funktioniert. Haben wir dafür ein deutsches Äquivalent oder kann jemand den Teil so umschreiben, dass es in der deutschsprachigen Wikipedia funktioniert? Meinentwegen muss auch keine Unterscheidung zwischen Ep. und Episode angezeigt werden. Ep. sollte reichen.

Eine weitere Sache wäre die Umstellung der Dezimaltrennzeichen vom englischen . zum deutschen , (also 2,56 anstatt 2.56) bei der Eingabe bzw. der Anzeige der Zuschauerzahlen.

Kann mir jemand dabei weiterhelfen? Vielen Dank vorab! --Abu-Dun Diskussion 09:52, 21. Mär. 2018 (CET)

Sollte so passen. -- hgzh 11:04, 21. Mär. 2018 (CET)
Super, funktioniert einwandfrei! Vielen Dank hgzh! --Abu-Dun Diskussion 11:48, 21. Mär. 2018 (CET)
Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 17:59, 4. Jun. 2021 (CEST)

Overload Template:Bicolor (Commons)

Falls jemand Interesse verspürt, auf Commons gibt es dieses Parser-Monster: c:Template:Bicolor (von der Struktur recht simpel), welches mir ziemlich prädestiniert für eine Lua-Konvertierung erscheint. Zu beachten wäre noch ein Reaktion auf die gleichzeitig gestellte Anfrage auf EnWiki. MfG -- User: Perhelion 13:30, 5. Okt. 2018 (CEST)

Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 17:59, 4. Jun. 2021 (CEST)

Strip Marker (ref) matchen

Hallo! Ich würde gern aus der userseitigen Eingabe alle Belege herausschneiden, sprich in etwa <ref.+> matchen. Diese werden aber mit Strip Markern codiert; gibt es eine Methode, ref-Tags direkt zu erwischen? Den Teil davor zu matchen ist die kompliziertere Variante, hab ich bislang nicht fehlerfrei hinbekommen. Gruß–XanonymusX (Diskussion) 23:46, 27. Dez. 2018 (CET)

Ich habe nicht verstanden, was du machen willst bzw. welches Problem du lösen möchtest.
Nach derzeitiger (traditioneller) Parser-Funktion ist der gesamte Bereich <ref>…</ref> bereits aus dem Wikitext herausgeschnitten, beisete gelegt und durch den strip marker zur Erinnerung an die Stelle im Text ersetzt worden.
  • Erst danach werden Vorlagen ausgewertet, wozu auch Parserfunktionen und Lua gehören.
  • Du hast keinerlei Möglichkeit festzustellen, was im Inneren des Bereichs mal gestanden hatte.
  • Bei der abschließenden Montage werden die strip marker wieder durch die Inhalte ersetzt.
  • Diese ganze Technik ist selbst ein anderthalb Jahrzehnte alter pragmatischer Hack; nicht die reine Lehre des Parsens, aber wirksam, jedoch mit bekannten Nachteilen verbunden.
Du hast folgende Möglichkeiten:
  • Du kannst mit mw.text.unstrip( s ) sämtliche strip marker entfernen. Dann sind sie weg.
  • Du kannst den Text vorher und nachher vergleichen und darauf schließen, dass es bei einem Unterschied unerwünschte Syntax gegeben haben muss. Dies kannst du mit Wartungskat und Fehlermeldung den Bearbeitern ankreiden.
  • Auch bei anderen Extensionen, etwa syntaxhighlight und selbst nowiki bleiben strip marker zurück.
  • Die nowiki könntest du aber vorher wieder in normale Syntax zurückverwandeln, wodurch sie wieder wirksam werden könnten, was nur noch eckige Klammern beträfe. MW-Tags und geschweifte Klammern waren ja bereits abgearbeitet worden. Die eckigen Klammern könnte man dort durch HTML-Entities ersetzen.
  • Du kannst per Hack vorher in die strip marker reingucken und sehen, was für eine Art von Tag es war; das steht in Klartext drin. Da sich die Programmierung des Parsers ändern kann und sich in diesen Jahren ändert, muss das nicht zukunftsfähig sein.
  • Du kannst einen in dem einen Parameterwert unerwünschten ref-Tag dort herausschneiden und an einer anderen Stelle des Gesamtergebnisses und dort besser passend wieder einfügen. Die Syntax lässt sich relativ simpel erraten.
  • Du kannst von den Bearbeitern fordern, dass bestimmte Parameter nur <ref>…</ref> und nichts anderes enthalten dürfen; dann müsste die Zeichenkette nach einem versuchsweisen unstrip leer sein.
VG --PerfektesChaos 01:39, 28. Dez. 2018 (CET)
Dann habe ich das System schon einigermaßen richtig verstanden. Unstrip kannte ich nicht, das könnte ich vielleicht einsetzen (zurzeit erreiche ich das gleiche im konkreten Fall durch Substituieren von '.+, dann dürfen die User aber keine falschen einfachen Anführungszeichen verwenden). Gehen tut es mir aber vordergründig um deinen vorletzten Punkt, da bastle ich wohl besser nochmal, zurzeit funktioniert es zwar in allen mir bekannten Fällen, aber stabil ist es vermutlich nicht. Danke und Gruß—XanonymusX (Diskussion) 13:12, 28. Dez. 2018 (CET)
Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 17:59, 4. Jun. 2021 (CEST)