Help:TemplateStyles/de

TemplateStyles ist ein Tool um Komplexe Stildefinitionen in templates ohne Administratorrechte zu ermöglichen.

Wie funktioniert es?
Bearbeiter können zu einer Wikiseite hinzufügen, und der Inhalt von   wird als CSS geparst,bereinigt und auf die Seite, auf der das  Tag benutz wird (direkt oder über eine Muttervorlage) gewirkt.

muss das content model   haben,welches das default-Model für Seiten im Vorlagennamensraum ist, die auf    enden. Üblicherweise wird es genutzt, um die Stidefinitionen für   auf einer Unterseite wie   unterzubringen.

Wenn  keinen Namensraumpräfix hat, wird der Vorlagennamensraum angenommen. Das heißt,  wird   laden.

Das  Tag sollte vor dem Inhalt stehen, auf den er wirkt, um Kurzzeitig aufblitzende unstilierte Inhalte zu vermeiden, wenn die Seite partiell gerendert wird, während sie geladen wird.

Welche Probleme löst es?
Traditionell gibt es zwei Wege, Vorlagen (oder irgendeinen anderen Inhalt) mit styles zu versehen: Mittels inline-Definition (Durch benutzen von HTML und Attributen wie ) oder durch Benutzen von Seiten im MediaWiki-Namensraum, wie MediaWiki:Common.css. Keine von diesen Möglichkeiten ist in jeder hinsicht zufriedenstellend.

Für Inline-Styling:


 * Es gibt keine Seperation von Stilen und Inhalt. In Fällen, wo der Inhalt nicht von einer Vorlage kommt (Wie Tabellen in Artikeln), wird der Wikitext zu unübersichtlich für die meisten Bearbeiter
 * Wenn Stile mit Wikitext gemischt werden, ist es (nahezu) unmöglich, Syntaxhighlight oder andere Unterstützung zu bieten.
 * Die Stil-Definitionen müssen für jedes sie benutzende Element wiederholt werden, was zu viel copy-paste und fast unlesbaren und schwer zu verwaltendem Code führt.
 * Stil-Definitionen sind auf ein minimum von CSS begrenzt. Hauptsächlich -Regeln, die für Responsives Design benötigt werden funktionieren nicht, sodass es unmöglich ist, Vorlagen für Verschiedene Bildschirmbreiten zum funktionieren zu bringen. Weiterhin überschreiben inline-Styles Nutzer-, Skin,- und Deviceabhängige Stile, sodass Benutzer,- Skin,- und Deviceabhängige Modifikationen unmöglich werden.

Für -Seiten:

Editierbegrenzungen können nicht aufgehoben werden, weil kein Weg existiert, die verfügbaren CSS-Definitionen auf unschädliche, die nicht zum tracken der IP-Adresse eines Lesers oder zum ausführen von Scripten fähige (nur noch in älteren Browsern) zu begrenzen.
 * Die Bearbeitung kann nur von Administratoren forgenommen werden, was die Beteiligung verhindert.
 * Die Änderungen können nicht ohne zu speichern getestet werden.
 * Alle Stildefinitionen werden auf allen Seiten geladen, ob sie benutzt werden oder nicht, was Bandbreite verschwendet und das Debugging schwerer macht.

TemplateStyles allows editors to associate style rules to specific pages, provides the full power of CSS stylesheets while filtering dangerous constructs, and works with preview/debug tools (such as TemplateSandbox) as expected.

Lowering the access and maintainability barrier will hopefully result in more innovation in the way templates are visually designed, less maintenance overhead, and better adaptability to screen options (especially mobile devices which by now constitute half of Wikipedia pageviews).

Ist es sicher?
Yes! TemplateStyles includes a full-fledged CSS parser that reads, re-serializes and escapes all code and removes CSS rules which do not match its whitelist. The parser is sufficiently fine-grained to reject remote resources (such as background images) but allow local ones. CSS selectors are rewritten so that they cannot refer to elements outside article content. (Visually modifying areas outside article content by displacing parts of the article, e.g. via absolute positioning, is not prevented at this time. This is no change from the status quo, as such a thing was already possible with wikitext and inline styles.)

Welche CSS-Regeln werden erkannt?
Currently, TemplateStyles accepts most CSS3 properties supported by one or more major browser (as of early 2017). Beyond simple rules,,  ,  ,   and  /  at-rules are also supported (with font-face restricted to fonts whose name starts with  , for security reasons).

Non-standard properties (including vendor prefixes) are not currently supported. See T162379 for plans.

Welche Anti-Missbrauch-Funktionen werden bereitgestellt?
The design choice to store CSS in separate pages was made in part to make integration with the standard anti-abuse toolset easy. TemplateStyles CSS pages have their own content model so changes to them can be tracked or controlled with AbuseFilter, using the   variable.

CSS inclusion is tracked the same way as template transclusion, so you can see where a stylesheet is used via the "What links here" option, see what stylesheets are used on a page under "Page information" (and possibly on the edit screen, depending on what editor you use), and see what recent changes might be affecting a page using "Related changes".

TemplateStyles also leaves identifying information in the HTML code; to find out where a specific rule comes from, look at the page source, and the enclosing  tag will have an attribute like , where 123456 is the revision ID of the stylesheet (viewable with Special:Diff, for example).

Wie wurden die Entscheidungen in Bezug auf TemplateStyles getroffen?
The idea of including CSS with templates was proposed and accepted in a request for comments. Technical details were pinned down in a second RfC and workflow details in a user consultation.

Wer arbeitet an TemplateStyles?
TemplateStyles was originally a project of the Wikimedia Reading Infrastructure team (preceded by exploratory work Coren did as a volunteer), then people moved around. It is now maintained by an ad hoc WMF team consisting of Brad Jorsch (developer), Chris Koerner (community liaison), Dan Garry (product manager), Gergő Tisza (developer) and Grace Gellerman (project manager).

Wo melde ich Fehler / frage nach Features?
Please file tasks under the TemplateStyles component in Phabricator.

Wo kann ich es in Aktion sehen?
You can look at some curated examples.

The feature is currently (as of March 2018) enabled on the following Wikimedia sites:


 * here on mediawiki.org (all stylesheets)
 * German Wikipedia (all stylesheets)
 * Swedish Wikipedia (all stylesheets)
 * Wikitech (all stylesheets)
 * testwiki (all stylesheets)

Siehe auch

 * Extension:TemplateStyles, especially the #Caveats section.