Hilfe:Tags

Zur Navigation springen Zur Suche springen

Begriffserklärung

Das englische Wort tag bedeutet Etikett oder Schild oder Hinweissymbol.

Wikitexte enthalten tags, diese sind den Sprachen XML und HTML entnommen bzw. nachempfunden.

Im einfachsten Fall besteht ein Tag aus einem Namen, der zwischen zwei spitzen Klammern steht, ein BeispieL: <tagname> Üblicherweise gehören zwei Tags zusammen, eines für den Anfang und eines für das Ende, dazwischen steht Text. Das Ende-Tag trägt den gleichen Namen wie das Anfangs-Tag, dem Namen wird ein Schrägstrich vorangestellt </tagname>

Dem von den Tags eingeschlossenen Text werden dadurch bestimmte Eigenschaften zugewiesen, z.B. Schräg- oder Fettschrift, eine spezielle Schriftart etc. Der Abschnitt, der aus Anfangstag, eingeschlossenem Text und Endtag besteht, wird Element genannt. Elemente können ineinander verschachtelt sein, allerdings muss das zuletzt vorkommende Tag zuerst geschlossen werden.

Attribute

Die meisten Tags können Attribute besitzen, die durch einen Namen und einen Wert festgelegt werden. Die Attribute werden innerhalb der spitzen Klammern geschrieben mit folgender Syntax attribute_name=value wobei value in einfachen oder doppelten Hochkomma gesetzt wird.

Ein Beispiel mit fiktiven Tags

<fett>Dieser Text ist fett, <kursiv>und dieser Teil ist zusätzlich kursiv</kursiv>, während dieser Text nur fett ist.</fett>

Wenn es diese Tags tatsächlich geben würde, würde das Ergebnis folgendermaßen aussehen:

Dieser Text ist fett, und dieser Teil ist zusätzlich kursiv, während dieser Text nur fett ist.

Eine Auswahl der gebräuchlichsten Tags

Tags und Transclusion

Der Mechanismus der Transklusion funktioniert mit Tags nicht, dafür bedarf es eines Umwegs. Mit {{#tag:tagname|input|attribute_name=value}}

  • input: der Inhalt, der innerhalb des Tags zwischen den spitzen Klammern steht
  • attribute_name=value: alle Attribute mit den zugehörigen Werten
Mit Lua kann man Tags auswerten
frame:extensionTag( name, content, args )
frame:extensionTag { name = string, content = string, args = table_or_string }

Lua Modul, der Tags auswertet

function p.tag(frame)
	-- Tag Auswertungen per Lua
	-- funktionieren viel besser als per #tag: weil unempfindlicher gegen Sonderzeichen
	
	local a = frame.args              -- direkt per #invoke: übergeben
	local b = frame:getParent().args  -- an die Vorlage übergebene Parameter
	
	local tag = a.tag or a[2] or b.tag or b[2] or 'syntaxhighlight'  -- Tagname, benannter oder unbenannter 2. Parameter
	local content = a.content or a[1] or b.content or b[1] or ''         -- Taginhalt, entweder benannter oder unbenannter 1. Parameter
	
	local tagparms = { }
	local ausgabe = ''
	for k, v in pairs(a) do                         -- alle restlichen Parameter werden gesammelt und in die tagparms Tabelle übergeben
		if string.lower(k) ~= "tag" and string.lower(k) ~= 'content' and k ~= '1' and k ~= 1 and k ~= 2 and k ~= '2' then
			tagparms[k] = v
			ausgabe = ausgabe .. '<br>index: ' .. k .. '<br>inhalt: ' .. v    -- für Testzwecke
		end
	end
	for k, v in pairs(b) do                         -- alle restlichen Parameter werden gesammelt und in die tagparms Tabelle übergeben
		if string.lower(k) ~= "tag" and string.lower(k) ~= 'content' and k ~= '1' and k ~= 1 and k ~= 2 and k ~= '2' then
			tagparms[k] = v
			ausgabe = ausgabe .. '<br>index: ' .. k .. '<br>inhalt: ' .. v    -- für Testzwecke
		end
	end
	
	--return 'Parameter: ' .. ausgabe .. ' tag: ' .. tag .. ' conten: ' .. content
	return frame:extensionTag { name = tag, content = content, args = tagparms }

end

Links