it-swarm.com.de

Wie verwende ich Wikipedia-Vorlagen in einem externen MediaWiki?

Ich habe ein MediaWiki in einer Wiki-Farm eingerichtet und möchte Vorlagen im Wikipedia-Stil haben, z. B. {{reflist}}, {{merge from|article}}, {{cite book|...}} usw.

Nach DRY-Prinzip scheint es am besten, sie zu transkludieren, was mit einer Syntax wie {{raw:w:reflist}} möglich ist. Dies wird empfohlen von Wikia-Hilfe: Freigegebene Vorlagen .

Dies funktioniert für einfache Vorlagen, aber für kompliziertere Vorlagen wie reflist erhalte ich Script error: No such module "Check for unknown parameters". Ich vermute, die raw -Transklusion kann einige Template-Abhängigkeiten mit sich bringen, aber keine Lua-Modul-Abhängigkeiten?

Auf der Wikia-Seite heißt es außerdem "Parameter können nicht mit freigegebenen Vorlagen verwendet werden", was schlecht wäre (aber ich bin mir nicht sicher, ob dies tatsächlich zutrifft). Also Manual: $ wgEnableScaryTranscluding sagt "Es ist etwas ineffizient."

Eine andere Möglichkeit besteht darin, den Vorlagencode einfach zu kopieren. Dies scheint der empfohlene Weg zu sein unter Vorlage: Reflist/Transwiki-Anleitung . Dies erfordert jedoch das Kopieren vieler Vorlagen und Lua-Module, die nicht automatisch aktualisiert werden, wenn die Upstream-Vorlage erhält Bugfixes.

Was ist der reibungsloseste Weg, dies zu tun? Gibt es eine andere Option, die ich nicht entdeckt habe?

4
endolith

Es ist ein PITA und leider (im Gegensatz zu Erweiterungen oder Mediendateien) gibt es kein Repository für gespeicherte Vorlagen. Vorlagen laden andere Vorlagen, die wiederum andere laden usw. Vorlagen sind dazu da, die Bemühungen von jedem, der nur sein eigenes Wiki bearbeiten möchte, zu sabotieren, anstatt sie auf die Codiererseite zu übertragen.

Übrigens hat Wikia ein eigenes Vorlagen-Repository , das Sie vielleicht nützlich finden.

Dies ist nicht die beste Lösung, aber es macht den Job:

Gehen Sie zu Wikipedia und kopieren Sie den Namen der gewünschten Vorlage. Gehen Sie zu Spezial: Exportieren und fügen Sie den Namen der Vorlage in das große Textfeld ein, z. Vorlage: Infobox. Aktivieren Sie "Vorlagen einschließen" und aktivieren Sie "Nur die aktuelle Revision einschließen, nicht den vollständigen Verlauf" (oder die Datei ist zu groß). Klicken Sie auf Exportieren, um eine XML-Datei der Vorlage zu sichern. Dann importiere dies in das Ziel-Wiki.

Öffnen Sie die Vorlage nach dem Import zum Bearbeiten und überprüfen Sie die Liste unter dem Bearbeitungsfeld "Auf die aktuelle Version dieser Seite übertragene Seiten:". Wenn rote Links vorhanden sind, wiederholen Sie die obigen Schritte auch für diese Vorlagen. Möglicherweise müssen Sie auch Stile in MediaWiki: Common.css-Seite und Javascript in MediaWiki: Common.js kopieren, bevor alles funktioniert. Bearbeiten Sie schließlich die Vorlagen, um sie an Ihr Wiki anzupassen.

Wenn es immer noch nicht funktioniert und Sie unordentliche Seiten mit geschweiften Klammern und if-Anweisungen haben, müssen Sie die Erweiterung ParserFunctions installieren. Wenn der Vorlagencode {{#invoke: }} enthält, müssen Sie auch Scribunto-Erweiterung installieren.

MediaWiki Hilfe: Vorlagen erklärt den Vorgang genauer.

2
Rob Kam