Forum:Einheitliches Format für Listen
ich habe gerade ein nützliches Anwendungsgebiet für {{#regex:
gefunden: Vorlage:Liste in dl. dies wandelt eine einfache Liste in eine definitionsliste um also quasi:
Jungs[Bearbeiten]
- Peter
- Martin
- Hans
Mädchen[Bearbeiten]
- Julia
- Hanna
- Sabrina
in
- Jungs
- Peter
- Martin
- Hans
- Mädchen
- Julia
- Hanna
- Sabrina
und wenn <div class="nav">
drum herum steht dann:
ich würde gerne noch [[Kategorie:...]]
und [[en:...]]
usw. rausparsen. vlt auch noch den Einleitungstext. Gut währe auch, wenn noch verschachtelte Überschriften möglich währen. aber das geht leider alles über mein Verständniss von Regulären ausdrücken hinaus.
entweder, wir sehen uns das mal an und versuchen es zu lernen oder/und wir versuchen solche Listen so zu vereinheltlichen das es keine Fehler gibt. was haltet ihr davon?--ShismaBitte korrigiert mich 13:59, 14. Aug. 2009 (UTC)
- Was soll Sinn und Zweck der Übung sein? DL und DT sind im Wikicode verfügbar als ":" und ";" - wozu der Aufwand über eine erst "falsche" Formatierung mit anschliessender Umformatierung über aufwändige regex? -- Cid Highwind 14:58, 14. Aug. 2009 (UTC)
Leider funktioniert diese wikicode syntax nicht sehr gut mit Verschachtelungen. dl, dt und dd dürfen in wiki auch verwendet werden. Benutzer:Mark McWire beschwerte sich kürzlich, das Listenartikel und Navigationsleisten, die den selben inhalt haben, redundant gespeichert werden müssen. unsere Navigationsleisten verwenden verschachtelte Definitionslisten(siehe z.B. Vorlage:Navigationsleiste Sternenflottenabteilungen), da bietet sich eine Inkludierung ja gerade zu an--ShismaBitte korrigiert mich 15:03, 14. Aug. 2009 (UTC)
- Und wenn man nun einfach den Listenartikel an den passenden Stellen mit "noinclude" und "includeonly" versieht, beim Einbinden (wie hier auch vorgeschlagen) in ein DIV mit id verpackt und dann die Formatierung per CSS vornimmt? Der Vorschlag mittels regex-Template erscheint mir so ein bisschen wie "von hinten durch die Brust ins Auge"... :) -- Cid Highwind 15:24, 14. Aug. 2009 (UTC)
ja, das hatten wir dann auch, das war wahnsinnig unübersichtlich.--ShismaBitte korrigiert mich 15:26, 14. Aug. 2009 (UTC)
ich denke einfach, eine Vorlage muss nicht jeder verstehen, aber so etwas wie eine Liste oder ein Artikel schon--ShismaBitte korrigiert mich 15:30, 14. Aug. 2009 (UTC)
- Da stimme ich Shisma zu, so wie die Listen aussahen, das ging nicht gut (schau Dir mal die Versionsgeschichte von Liste von Partikeln an). Ob das einfacher ist kann ich nicht beurteilen, aber wenn es funktioniert...--Bravomike 15:42, 14. Aug. 2009 (UTC)
um nochmal auf die normisierung ein zu gehen: es ist leider nötig die listen-artikel geringfügig an zu passen. so wie ich das sehen kann ist es zwar möglich Umbrüche zu löschen, aber nicht, welche ein zu fügen. das hat folgende konsequenz
== Mädchen == * Maria
funktioniert verursacht Fehler aber
== Mädchen == * Maria
nicht.
wegen der leerzeile. vlt kann man das auch besser machen. ka--ShismaBitte korrigiert mich 15:47, 14. Aug. 2009 (UTC)
- Ich bin jedenfalls dafür, Navigationsleisten aus Listenartikel zu entwickeln. Zumindestens bei Listen mit sehr vielen Einträgen, wie stellare Objekte, Partikel, Technologien, usw ist es doch immer sehr müsig, die Listen und Navigationsleisten zu sychronisieren, wenn ein neuer Artikel oder Begriff hinzukommt. Überhaupt sollte man zu allen wichtigen Objektklassen Navigationsleisten anlegen.. z.B. auch für die ganzen Waffensysteme. --Mark McWire 19:07, 14. Aug. 2009 (UTC)
wenn mein regex funktioniert, dann ist es jetzt nicht mehr nötig kategorien und interwikilinks zu exkludieren. müsste aber mal getestet werden. mein vorschlag für die Zukunft währe, das ganze so zu handhaben:
- Listen-Artikel
- (Namensschema:
Liste der Dinge
) - beinhaltet nur Überschriften(ausschließlich
==
) und Listen. - Artikel
- (Namensschema:
Ding
) - das ist ein ganz normaler Artikel mit Fließtext, Bilder usw. hier kann auch eine
Liste der Dinge
included werden - Navigatuionsleiste
- (Namensschema:
Vorlage:Navigationsleiste der Dinge
) - hier wird die
Liste der Dinge
mithilfe der Vorlage Vorlage:Liste in dl included.
versteht ihr was ich meine?`--ShismaBitte korrigiert mich 10:06, 15. Aug. 2009 (UTC)
- Jetzt ja ;-) Klingt plausibel, die Inhalte von der Liste in den Ding-Artikel und die Ding-NavLeiste zu includieren. Was genau war denn nochmal das Prob mit der Leerzeile? --Plasmarelais
§· talk · pr · @ 10:15, 15. Aug. 2009 (UTC)
- Jetzt ja ;-) Klingt plausibel, die Inhalte von der Liste in den Ding-Artikel und die Ding-NavLeiste zu includieren. Was genau war denn nochmal das Prob mit der Leerzeile? --Plasmarelais
ich vermute, das problem ist folgendes
== Dinge == * Lustige Dinge * Tolle Dinge * Grüne Dinge
wird umgewandelt in
<dl><dt>Dinge</dt><dd>* Lustige Dinge * Tolle Dinge * Grüne Dinge </dl>
damit wird der erste Punkt in der liste falsch dargestellt. ich kann, wie gesagt keinen Umbruch einsetzten an der stelle--ShismaBitte korrigiert mich 10:21, 15. Aug. 2009 (UTC)
- Versteht das Ding denn richtig Regex? Vllt gehts mit ner lookbehind: du ersetzt doch die rechten
==\n
mit</dt><dd>
. Wenn du das hier machst:
- Versteht das Ding denn richtig Regex? Vllt gehts mit ner lookbehind: du ersetzt doch die rechten
|%==\n%(?!\*)|
- Dann wird er den Zeilenumbruch ersetzen, es sei denn, das erste Zeichen in der nächste Zeile ist ein Sternchen. Vllt klappt das. Oder gehts doch um was anderes?--Plasmarelais
§· talk · pr · @ 10:40, 15. Aug. 2009 (UTC)
- Dann wird er den Zeilenumbruch ersetzen, es sei denn, das erste Zeichen in der nächste Zeile ist ein Sternchen. Vllt klappt das. Oder gehts doch um was anderes?--Plasmarelais
ohne den Umbruch findet er leider jedes auftauschen von ==
--ShismaBitte korrigiert mich 10:51, 15. Aug. 2009 (UTC)
ich vermute es geht irgendwie zu sagen suche == [variable] ==
und ersetze <dt> [variable] </dt>
. ich weiss nicht wie--ShismaBitte korrigiert mich 11:17, 15. Aug. 2009 (UTC)
- Das da oben war falsch, ich meinte
|%==\n(?!\*)%|
- Aber das klappt auch nicht. Was genau bewirkst du denn eigentlich mit den letzten beiden Ersetzungen?
- Das Geht mit vllt mit
==(?P<Variable>.+?)==\n
und dann<dt>\g<Variable></dt>
Ich probiers mal aus.--Plasmarelais§· talk · pr · @ 11:25, 15. Aug. 2009 (UTC)
- Das Geht mit vllt mit
geh doch mal ins skype :) --ShismaBitte korrigiert mich 11:29, 15. Aug. 2009 (UTC)
- Mach ich! --Plasmarelais
§· talk · pr · @ 11:33, 15. Aug. 2009 (UTC)
- Mach ich! --Plasmarelais
- Alternativvorschlag: Benutzer:Cid Highwind#Listentest - finde ich deutlich einfacher zu handhaben als den Regex-Umweg. -- Cid Highwind 12:24, 15. Aug. 2009 (UTC)
das ist doch aber für den Autor auch viel komplizierter. was stört dich denn an eigentlich Regex?--ShismaBitte korrigiert mich 12:28, 15. Aug. 2009 (UTC)
- Mich stört nicht grundsätzlich "Regex", mich stört die Tatsache, dass erstens durch diesen Vorlagenumweg eine Einbindung von einer beliebigen Inhaltsseite nicht mehr nachverfolgt werden kann (d.h. eine unnötige Einschränkung von Korrekturmöglichkeiten), und zweitens man sich, genauso unnötig, weitere Fehlerquellen ins Boot holt. Man sieht ja an euren diversen Tests, wie fragil diese Regex's oft sind, so dass ein "unwissender" Autor ganz einfach und ohne böse Absicht Fehler auf den verschiedensten Seiten verursachen könnte, indem er einfach irgendwo ein "falsches" Zeichen setzt. Ich denke ganz einfach, wenn irgendwas mit "einfachen Bordmitteln" machbar ist, dann sollte man nicht stattdessen zielstrebig den kompliziertesten und fehleranfälligsten anderen Weg wählen. Prinzipiell ist es hier das gleiche wie bei der "Logbuch-Diskussion" von vor ein paar Tagen. Auch dort ist eine einfache Vorlageneinbindung der einfachere Weg ggü. dem direkten Parsen ganzer Seiten mittels #explode. -- Cid Highwind 12:51, 15. Aug. 2009 (UTC)