Die Seite wurde neu angelegt: „== Was das Gadget macht == Das Gadget '''vereinform''' erzeugt das Grundgerüst einer Vereinsseite: Brotkrümel-Navigation, Karteneinbindung, Adress- und Kontaktzeilen samt der Links zu OpenStreetMap, CoMaps und Google Maps. Es '''speichert nichts und legt keine Seite an'''. Das Formular gibt reinen Wikicode in ein Textfeld aus; man kopiert ihn und fügt ihn selbst auf der gewünschten Seite ein. Dadurch braucht es keine Schreibrechte, kann nichts über…“
 
Zeile 5: Zeile 5:
Es '''speichert nichts und legt keine Seite an'''. Das Formular gibt reinen Wikicode in ein Textfeld aus; man kopiert ihn und fügt ihn selbst auf der gewünschten Seite ein. Dadurch braucht es keine Schreibrechte, kann nichts überschreiben und funktioniert auch auf bereits bestehenden Seiten.
Es '''speichert nichts und legt keine Seite an'''. Das Formular gibt reinen Wikicode in ein Textfeld aus; man kopiert ihn und fügt ihn selbst auf der gewünschten Seite ein. Dadurch braucht es keine Schreibrechte, kann nichts überschreiben und funktioniert auch auf bereits bestehenden Seiten.


Zusätzlich erzeugt es den passenden Eintrag für die Ortsdatei der Karte und legt ihn als auskommentierten Block mitten in den Wikicode – zum Herauskopieren und anschließenden Löschen.
Zusätzlich erzeugt es den passenden Eintrag für die Ortsdatei der Karte [[WikiMap]] und legt ihn als auskommentierten Block mitten in den Wikicode – zum Herauskopieren und anschließenden Löschen.


== Voraussetzungen ==
== Voraussetzungen ==

Version vom 31. Juli 2026, 13:59 Uhr

Was das Gadget macht

Das Gadget vereinform erzeugt das Grundgerüst einer Vereinsseite: Brotkrümel-Navigation, Karteneinbindung, Adress- und Kontaktzeilen samt der Links zu OpenStreetMap, CoMaps und Google Maps.

Es speichert nichts und legt keine Seite an. Das Formular gibt reinen Wikicode in ein Textfeld aus; man kopiert ihn und fügt ihn selbst auf der gewünschten Seite ein. Dadurch braucht es keine Schreibrechte, kann nichts überschreiben und funktioniert auch auf bereits bestehenden Seiten.

Zusätzlich erzeugt es den passenden Eintrag für die Ortsdatei der Karte WikiMap und legt ihn als auskommentierten Block mitten in den Wikicode – zum Herauskopieren und anschließenden Löschen.

Voraussetzungen

  • MediaWiki mit aktivierter Extension:Gadgets (bei den meisten Installationen Standard).
  • Keine weiteren Extensions, keine externen JavaScript-Bibliotheken.
  • Das WikiMap-Gadget samt MediaWiki:WikiMap-Orte.json muss vorhanden sein – sonst erzeugt das Formular zwar den Karten-div, es erscheint aber keine Karte.
  • Drei hochgeladene Bilddateien für die Symbole der Kartenlinks:
    • Datei:osm.png
    • Datei:CoMaps.png
    • Datei:GoogleMaps.png
  • Auf der Hauptseite sollte der Abschnittsanker existieren, auf den die Navigation zeigt (standardmäßig #Sport).

Fehlen die Bilddateien, funktioniert alles weiter – auf der Seite stehen dann nur rote Dateilinks.

Installation

Schritt 1: Gadget-Datei anlegen

Den kompletten Code nach MediaWiki:Gadget-vereinform.js kopieren und speichern.

Schritt 2: Gadget registrieren

In MediaWiki:Gadgets-definition eine Zeile ergänzen:

* vereinform[ResourceLoader|default]|vereinform.js

default bedeutet: für alle aktiv, auch für nicht angemeldete Benutzer. Das ist hier unbedenklich, weil das Gadget nichts schreibt. Soll es nur angemeldeten Benutzern angeboten werden, default weglassen – dann muss es jeder in seinen Einstellungen selbst aktivieren.

Sind in der Definitionsdatei Abschnitte (Zeilen wie == Werkzeuge ==) vorhanden, gehört die Zeile in einen davon.

Schritt 3: Auslöserseite anlegen

Eine normale Wiki-Seite mit dem Titel VereinForm anlegen. Das Gadget wird ausschließlich auf dieser Seite geladen. Optional kann man festlegen, wo genau das Formular erscheint:

<div id="verein-form-container"></div>

Ohne diesen Ankerpunkt hängt sich das Formular oben in den Seiteninhalt.

Schritt 4: Prüfen

Seite VereinForm aufrufen und mit Strg+Umschalt+R neu laden (der ResourceLoader hält Gadgets aggressiv im Cache). Das Formular muss sofort sichtbar sein.

Konfiguration

Ganz oben in der Gadget-Datei stehen vier Konstanten. Für eine Übernahme in ein anderes Wiki sind das die einzigen Stellen, die typischerweise angepasst werden:

var TRIGGER_PAGE  = 'VereinForm';      // Seite, auf der das Formular erscheint
var KATEGORIE     = 'Stockschießen';   // Kartenkategorie
var STD_RUBRIK    = 'Sport';           // Anker auf der Hauptseite
var STD_OBERSEITE = 'Stockschießen';   // übergeordnete Seite

TRIGGER_PAGE muss exakt dem Seitentitel entsprechen, inklusive Groß- und Kleinschreibung; Leerzeichen werden dabei als Unterstriche geschrieben.

KATEGORIE steuert zwei Dinge gleichzeitig: das Attribut data-filter im Karten-div und das Feld kategorie im erzeugten JSON-Block. Der Wert muss zeichengenau mit einer Kategorie in MediaWiki:WikiMap-Orte.json übereinstimmen – sonst bleibt der Kartenpin unsichtbar.

STD_RUBRIK und STD_OBERSEITE sind nur Vorbelegungen der beiden Navigationsfelder und lassen sich im Formular jederzeit überschreiben. Für eine andere Sparte – etwa Fußball – genügt es also, diese drei Werte zu ändern und das Gadget unter neuem Namen ein zweites Mal anzulegen.

Bedienung

  1. Seite VereinForm aufrufen.
  2. Felder ausfüllen. Pflicht sind nur Vereinsname und Koordinaten; alles andere ist optional und lässt bei leerem Feld die zugehörige Zeile einfach weg.
  3. Den Wikicode kopieren (Knopf oder Strg+C) und auf der Vereinsseite einfügen.
  4. Den auskommentierten JSON-Block aus dem eingefügten Text herausschneiden und in MediaWiki:WikiMap-Orte.json in die Liste orte einfügen. Die beiden Leerzeilen um den Block gleich mit entfernen, sonst bleibt ein Absatzumbruch mitten im Adressblock stehen.

Der Vereinsname wird an drei Stellen verwendet und muss überall identisch sein: als Seitentitel, als data-aktiv-ort in der Karte und als id in der Ortsdatei.

Bei den drei Kartenlink-Feldern gilt: leer lassen heißt, der Link wird aus den Koordinaten erzeugt. Trägt man etwas ein, wird genau das übernommen – gedacht für gekürzte Links direkt aus den Apps.

Aufbau der erzeugten Seite

[[Hauptseite]] > [[Hauptseite#Sport|Sport]] > [[Stockschießen]] <br>
<br>
<div class="wikimap" data-aktiv-ort="Vereinsname" data-filter="Stockschießen"></div>

(auskommentierter Block für WikiMap-Orte.json)

📍 Adresse<br><br>
[[file:osm.png|24px|link=]] OpenStreetMap-Link<br><br>
🧭 Breitengrad, Längengrad<br><br>
[[file:CoMaps.png|24px|link=]] CoMaps-Link<br><br>
[[file:GoogleMaps.png|24px|link=]] Google-Maps-Link<br><br>
📞 Telefonnummer<br><br>
📧 E-Mail-Adresse<br><br>
🌐 Website

Die eigentlichen Inhaltsabschnitte – Geschichte, Anlage, Mannschaften, Fotos – werden bewusst nicht erzeugt und von Hand ergänzt.

Koordinatenformate

Das Eingabefeld erkennt die gängigen Schreibweisen, egal aus welcher App kopiert:

  • Dezimalgrad: 47.69694, 16.00583 oder mit Leerzeichen getrennt
  • Dezimalgrad mit deutschem Komma: 47,69694 16,00583
  • mit Himmelsrichtung: 47.69694N 16.00583E
  • Grad/Minuten: 47°41.816'N 16°00.350'E
  • Grad/Minuten/Sekunden: 47°41'49.0"N 16°00'21.0"E

Negative Werte sowie S und W werden korrekt als Süd beziehungsweise West gewertet, O gilt wie E als Ost. Wird eine Eingabe nicht erkannt, erscheint über dem Ausgabefeld ein Warnhinweis und die Auto-Links unterbleiben.

Die Ausgabe wird auf sieben Nachkommastellen gerundet – das entspricht etwa einem Zentimeter und ist für jede Kartenanwendung mehr als genau genug.

Fehlersuche

Formular erscheint nicht
Fast immer der Cache – Strg+Umschalt+R. Sonst prüfen, ob der Seitentitel exakt TRIGGER_PAGE entspricht und ob die Zeile in MediaWiki:Gadgets-definition im richtigen Format steht (Dateiname ohne das Präfix Gadget-).
Karte bleibt leer
Der Ort steht noch nicht in MediaWiki:WikiMap-Orte.json, oder id und data-aktiv-ort weichen voneinander ab – schon ein zusätzliches Leerzeichen genügt.
Pin fehlt, Karte ist aber da
Die Kategorie im JSON-Eintrag stimmt nicht mit data-filter überein. Beide Werte kommen aus derselben Konstante, insofern liegt der Fehler meist in einem von Hand nachbearbeiteten JSON-Eintrag.
Alles steht in einer Zeile
Die <br> wurden beim Kopieren verschluckt. Wikitext fügt bei einfachen Zeilenumbrüchen von sich aus keinen Umbruch ein – die Tags sind zwingend nötig.
JSON-Block wird auf der Seite angezeigt
Der Kommentar ist unvollständig kopiert worden; es fehlt <!-- oder -->.

Technisches

Reines JavaScript ohne Abhängigkeiten, kein OOUI, kein jQuery, kein mw.Api. Das Gadget liest lediglich wgPageName aus, um zu entscheiden, ob es sich überhaupt einhängt. Auf allen anderen Seiten bricht es sofort ab und kostet damit praktisch nichts.

Das Stylesheet wird vom Skript selbst eingefügt; eine eigene .css-Seite ist nicht erforderlich.

Der Kopieren-Knopf nutzt die Clipboard-API mit document.execCommand als Rückfallebene für ältere Browser. Beides setzt eine gesicherte Verbindung voraus – über http:// ohne TLS bleibt das Textfeld nur markiert und muss von Hand kopiert werden.