Home Hypertext Markup Language Fuß-/Endnoten (Othmar Bahner) Ungeordnet (HTML)
 UDO-Open Source
 Entwicklung und Bugs
 Hypertext Markup Language

2.8.12 Erzeugung von META-Tags (Ulrich Kretschmer)

Wichtig  |  Leicht Erzeugung von HTML-Metatags mittels !html_meta_name [name] [content]

Problem: Wie soll hierbei unterschieden werden, ob <META NAME=... oder <META HTTP-EQUIV=... erzeugt werden soll? Vorschlag: !html_meta erzeugt <META NAME=... und !html_meta_equiv erzeugt <META HTTP-EQUIV=...

Funktionalität: Es wird unterschieden zwischen globalen und lokalen Meta-Tags. Globale Metatags werden im Vorspann gesetzt und gelten für alle Nodes. Lokale Meta-Tags gelten nur für den aktuellen Node.

Lokale Metatags können globale "überschreiben". Das bedeutet: Sobald UDO auf einen lokalen Metatag trifft, muß es diesen gegen die gespeicherten globalen prüfen (je nach Inhalt von "name"!) und den globalen ggf. unterdrücken.

Beispiel:
global: !html_meta_name [Language] [de_de] -> grundsätzlich ist alles deutsch...
lokal: !html_meta_name [Language] [en_en] -> aber diese eine Seite ist jetzt englisch. Sollte die Sprache nicht besser dem Node zugeordnet sein statt dafür ein extra Kommando zu setzen? UDO würde das HTML-Ergebnis auch daraus erzeugen können (siehe auch Mehrsprachigkeit).

Sonderfall: Behandlung von Metatags bei Verwendung von !html_merge_nodes, !html_merge_subnodes, !html_merge_subsubnodes, !html_merge_subsubsubnodes: Die jeweiligen lokalen Metatags ignorieren (z. B. bei !html_merge_subnodes die Metatags in den Subnodes und Subsubnodes (und weiteren künftigen Gliederungsebenen) ignorieren).

Ein Metatag, mit dem der Zeichensatz gesetzt wird, sollte auch zulässig sein. (Es sollen ja künftig verschiedene Codepages unterstützt werden; dabei müßte von Programm auch der Zeichensatz-Metatag automatisch passend gesetzt werden. Durch das Setzen eines Zeichensatz-Metatags könnte man dieser Automatik ins Handwerk pfuschen; für diesen Fall sollte ggf. eine Fehlermeldung vorgesehen werden.)

Der Meta-Tag für "Generator" sollte weiterhin automatisch gesetzt werden. Wird allerdings im Vorspann ein leerer Generator-Metatag definiert - also !html_meta_name [Generator] [] – so wird dieser Automatismus unterdrückt. Ansonsten sollte generell bei leerem "content" eine Warnmeldung und bei leerem "name" eine Fehlermeldung kommen.

Die von UDO automatisch erzeugten Meta-Tags "Email" und "Author" werden als impliziter globaler Metatag behandelt, d.h. kann durch lokale überschrieben werden. (Übernimmt UDO noch weitere Daten von !docinfo in die Metatags??)

Die Funktion von !html_keywords sollte unverändert erhalten bleiben. Wird zusätzlich zu !html_keywords auch !html_meta [keywords] [Blabla] verwendet, so wird eine Fehlermeldung erzeugt und !html_meta_name [keywords] [...] ignoriert.

Der Text von [name] sollte unverändert übernommen werden (evtl. Warnung, falls Sonderzeichen enthalten?). Beim [content] sollten Sonderzeichen entsprechend !code umgesetzt werden, wie dies auch bei !html_keywords der Fall ist.

Beispiele für häufig benötigte Metatags:

ToDo: Einige Webseiten zum Thema Meta-Tags finden und in der künftigen Doku darauf verweisen.

Problem: Metatags der Form <META scheme="ISBN" name="identifier" content="0-8230-2355-9"> sind mit den obigen Befehlen nicht darstellbar (Beispiel aus der HTML4-Doku).
Frage: braucht das jemand von den UDO-Benutzern??? Notfalls wären solche Spezialitäten mit einem raw-Kommando darstellbar, das in den HTML-Header schreibt. Oder schlimmstenfalls noch eine neue Kommandovariante: !html_meta_scheme [...] [...] [...]

Anderes Problem: Laut HTML4-Doku ist folgendes zulässig (Beispiel aus der Doku/siehe auch Mehrsprachigkeit):

<-- For speakers of US English -->
 <META name="keywords" lang="en-us" content="vacation, Greece, sunshine">
<-- For speakers of British English -->
 <META name="keywords" lang="en" content="holiday, Greece, sunshine">
<-- For speakers of French -->
 <META name="keywords" lang="fr" content="vacances, Gr&egrave;ce, soleil">

Dies geht mit dem derzeitigen !html_keywords nicht, auch nicht mit dem oben vorgeschlagenen !html_meta. ?? Wird sowas für UDO benötigt?? Wenn ja, Erweiterungsvorschlag für !html_keywords: neu: !html_keywords [sprache] keyword1, keyword2, ... keywordn wobei "sprache" ein optionaler Parameter sein müßte. UDO muß dann pro Node UND pro Sprache eine separate Keywordliste verwalten.




Copyright © norbert@familie-hanz.de
Letzte Aktualisierung am 2. November 2006

Home Hypertext Markup Language Fuß-/Endnoten (Othmar Bahner) Ungeordnet (HTML)