Wikipedia:Technik/MediaWiki/Content Model

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Content Model


Diese Projektseite beschreibt das „(Seiten-)Inhaltsmodell“ oder Content Model. Es handelt sich um ein 2013 eingeführtes Konzept: Einer ganzen Seite (oder einem Teilbereich einer Seite, sogar einer Zeichenkette) kann diese Eigenschaft zugewiesen werden, die eine bestimmte formale Syntax kennzeichnet.

Inhaltsmodelle[Quelltext bearbeiten]

Zunächst sind die nachstehenden Eigenschaften bekannt; weitere sind insbesondere für Programmiersprachen in Vorbereitung.

Schlüsselwörter bei Wiki-Seiten
wgPageContentModel
Seiteninformationen
Bedeutung
"wikitext"
Wikitext
Jede Seite, über die nichts Näheres bekannt ist.
"css"
CSS
Nur im Benutzer- und MediaWiki-Namensraum anhand der Namensendung .css / .js erkannt.
"javascript"
JavaScript
"json"
JSON
Nur im Benutzer- MediaWiki-, und Modul-Namensraum anhand der Namensendung .json erkannt  –
MediaWiki:Visualeditor-quick-access-characters.json
"sanitized-css"
„Bereinigtes CSS“
  • Für TemplateStyles.
  • Seiten (meist im Vorlagen-Namenraum), deren Titel auf .css endet und die nur zugelassenen CSS-Code enthalten.
"Scribunto"
  • Jede Programmiersprache, die mit der Scribunto-Erweiterung zugänglich ist.
  • Konzeptionelles Problem: Zurzeit ist dies nur Lua; es sind aber weitere Programmiersprachen möglich.
  • Jede Seite im Modul-Namensraum, die keine Unterseite /Doku ist und nicht das Content Model json hat.
  • Benutzer-Unterseiten, die die Bedingung des Spielwiesenpräfix erfüllen.
"text"
„Klartext“
plain text
  • Roher Text.
  • Keine Interpretation als Wikisyntax oder sonstwas.
  • MIME: text/plain
"flow-board" Structured Discussions (Flow): Seite mit inhaltlichen Texten (etwa eine Diskussionsseite)
"GadgetDefinition" Seite im Namensraum Gadget-Definition, aber zurzeit noch nicht MediaWiki:Gadgets-definition.
"wikibase-item" Hauptnamensraum auf Wikidata
"wikibase-property" Property auf Wikidata
"wikibase-lexeme" Wikidata
"wikibase-query" Wikidata
"proofread-page" Wikisource „Seite:“
"proofread-index" Wikisource „Index:“

Nur bei wikitext wird bei der Seitenverschiebung automatisch eine Wikitext-Weiterleitung angelegt; sie wäre sonst funktionslos. Bei Programmiersprachen kann es geeignete analoge Mechanismen mit den Mitteln der jeweiligen Sprache geben.

Nicht für ganze Seiten, aber in anderem Kontext kann auftreten:

  • JsonSchema
  • MassMessageListContent
  • SecurePoll

Auswertung:

Spezialseite; Änderung des Modells der Seite[Quelltext bearbeiten]

Administratoren oder andere besonders Berechtigte können auf der Spezialseite Special:ChangeContentModel/Seitenname manuell das Modell der Seite ändern.

Auf den Seiteninformationen wird für Administratoren bei der entsprechenden Angabe eine Direktverlinkung angeboten.

Entsprechende Ereignisse werden in Spezial:Logbuch/contentmodel aufgezeichnet.

Seit Herbst 2018 (MW 1.32) wird ein weiterer Ausbau unterstützt: Eine Seite kann Bereiche mit abweichenden Inhaltsmodellen enthalten; oder es können auch gesonderte Bereiche abgegrenzt werden, die aber dem gleichen Inhaltsmodell entsprechen.

Bislang wurden noch keine konkreten Anwendungen dafür realisiert. Es wurden auch noch keine überzeugende Anwendungsfälle benannt, die Vorteile bieten würden.

Der Slot für die gesamte Seite trägt den Bezeichner main.

Das Konzept nennt sich Multi-Content Revisions (MCR). Auch innerhalb einer Seitenversion soll auf unterschiedliche Slots zugegriffen werden können.

Seit September 2018 ist in API-Abfragen nach einer revision auch der slot anzugeben.

Weitere Informationen:

Zeilennummern[Quelltext bearbeiten]

Seit Anfang 2021 werden auf geeigneten Code-Seiten Zeilennummern angezeigt, wenn auch der Quellcode dargestellt wird.

  • Das gilt für:
    • css
    • javascript
    • sanitized-css
    • Scribunto
  • Außerdem werden Fragmentbezeichner bereitgestellt, mit denen eine Verlinkung möglich ist.
    • Das gilt zurzeit nicht für Scribunto (Lua-Module).
    • Anklicken der Zeilennummer hebt die Quellcode-Zeile hervor und in der Adresszeile eines Browsers wird die URL um den Fragmentbezeichner ergänzt.

Weitere Informationen[Quelltext bearbeiten]