EasyHTML v1.0 Eine vereinfachte Seitenbeschreibungssprache Stand: August 2002
EasyHTML 1.0 Inhaltsverzeichnis 1. Systemvoraussetzungen a. Server b. Client 2. Struktur der Sprache, Einbindung 3. Funktionen und Befehle 4. EasyHTML selbst erweitern a. Struktur des Parsers b. Verwendung einschränken (z.b. für Foren) c. Selbst Klassen erstellen 5. Copyright und Verwendungshinweise (Lizenzbestimmungen)
1. Systemvoraussetzungen a. Server min. PHP 4.1.0 nur bei Vorübersetzung: Verzeichnis mit Schreibrechten b. Client HTML 4 kompatibler Browser: IE4/5/6, Netscape 6/7, Mozilla 0.9+, Opera 6+, Netscape 4 nur eingeschränkt CSS (1,2) eingeschaltet JavaScript (DOM-kompatibel) aktiviert Die CSS- und JavaScript-Unterstützung ist nicht zwingend notwendig, ist aber zu empfehlen
2. Struktur der Sprache, Einbindung Die Struktur einer Seite wird durch die Verwendung von Einrückungen festgelegt. An diesen Einrückungen orientiert sich auch der Parser, d.h. eine exakte Verwendung von Einrückungen ist unabdingbar. In der Standardeinstellung erfolgen die Einrückungen durch Tabulatoren. Ein Element, z.b. eine Tabelle, wird immer durch die Angabe des Elementnamens begonnen. Danach folgt für jede weitere Zeile, die Angaben zu dem entsprechenden Element enthält, eine Einrückung. Innerhalb des Elements können dann Eigenschaften (sofern vorhanden) und Inhalt angegeben werden. Der Inhalt wird immer durch das Schlüsselwort Inhalt eingeleitet. Danach folgt (wieder eine Einrückung tiefer) hinter einem Anführungszeichen der Inhalt. Ein abschließendes Anführungszeichen in der Inhaltszeile bedeutet, dass am Ende ein Zeilenumbruch eingefügt wird. Zeilenumbrüche innerhalb des Textes können Sie mit \n einfügen. Viele Elemente können mehrere Inhaltszeilen haben. Beispiel: Tabelle Eigenschaften Spalten: 3 Gitternetz: 1 Pixel Inhalt Spalte 1 in Zeile 1 Dies ist die mittlere Zelle Und die hier ist rechts Hier beginnt die zweite Zeile Tabelle Eigenschaften Spalten: 2 Gitternetz: Keines Schriftart: Verdana Inhalt Eine Tabelle in der Tabelle! Sie hat 2 Spalten Und das hier ist die Zelle rechts unten Dieser Text gehört [fett:nicht] mehr zu Tabelle! In diesem Beispiel sehen Sie bereits, wie Sie Elemente verschachteln können. Die zweite Tabelle wird vom Parser wegen der fehlenden Anführungszeichen als Element erkannt. Die komplette Tabelle wird dann interpretiert und als eine Inhaltszeile der übergeordneten Tabelle behandelt. Hinter dem Schlüsselwort Eigenschaften können die Eigenschaften eines Elementes angegeben werden. Welche Eigenschaften ein bestimmtes Element hat, können Sie im Kapitel 3 nachschlagen. Leerzeilen werden vom Parser ignoriert. Sie können und sollten Leerzeilen verwenden um die Übersicht im Quelltext Ihrer Seite zu erhöhen.
Sie können EasyHTML auf folgende Art und Weise in Ihre Seite einbinden: 1. Erstellen Sie zu jeder EasyHTML-Seite eine weitere Seite mit dem gleichen Dateinamen, allerdings mit der Endung.php, also z.b. test.eh -> test.php (Dieses Schema ist nur für Variante 2 zwingend) Die.php-Seite hat folgenden Inhalt: o Variante 1 (benötigt Anpassungen, ist aber flexibler): <?php include_once( easyhtml.php ); echo easyhtml( NAME_ DER_DATEI.EH );?> o Variante 2 (komplizierter, muss aber nicht angepasst werden): <?php include_once( easyhtml.php ); echo easyhtml(substr(basename($php_self), 0, -> -> strlen(basename($php_self)-4)..eh );?> 2. Wenn Sie die Möglichkeit haben,.htaccess zu verwenden (Sie bekommen diese Information von Ihrem Provider), sollten Sie diese Möglichkeit der ersteren vorziehen. Legen Sie in dem Verzeichnis, in dem Ihre EasyHTML-Dateien liegen eine Datei mit dem Namen.htaccess an (vergessen Sie dabei nicht den führenden Punkt) und fügen Sie folgende Zeilen in die Datei ein: AddType text/html.eh AddHandler easyhtml-script.eh Action easyhtml-script /PFAD_ZUM_PARSER/easyhtml.php DirectoryIndex index.eh start.eh Passen Sie bitte die Ausdrücke SERVER_NAME und PFAD_ZUM_PARSER an Ihre Gegebenheiten an. Sie können dann EasyHTML-Dateien ohne Umweg direkt aufrufen, z.b. http://test.com/test.eh. 3. Sie können Ihren Provider bitten (wenn er es noch nicht getan hat), Punkt 2 in die zentrale Konfigurationsdatei des Servers (httpd.conf) aufzunehmen. Dann müssen Sie keine.htaccess-dateien mehr erstellen. Das werden jedoch nur die wenigsten Provider machen :(
3. Funktionen und Befehle Für Elemente gibt es drei verschiedene Arten von Eigenschaften: Layout-Eigenschaften Allgemeine Eigenschaften Spezielle Eigenschaften Die Layout-Eigenschaften gelten für fast alle Elemente (s.h. Übersicht über die Elemente) Übersicht: Layout-Eigenschaften Eigenschaft Beschreibung Rahmen Dicke des Rahmens um ein Element Innenabstand Abstand des Elementinhalts von der Elementgrenze Außenabstand Abstand des Elementes von anderen Elementen Schriftart Name der zu verwendenden Schriftart. Mehrere Arten können durch Komma getrennt angegeben werden. Schriftgröße Schriftgröße. Kann eine genaue Angabe sein (z.b. 10 Pixel) oder ein Schlüsselwort: sehr klein, klein, normal, groß, sehr groß, riesig Hintergrundfarbe Hintergrundfarbe des Elementes. Kann ein 6-stelliger Hex- Farbwert sein (z.b. #136AF9) oder ein Schlüsselwort: rot, schwarz, weiß, grün, gelb, orange, grau, hellgrau, dunkelgrau, blau, dunkelblau, dunkelgrün, hellblau, türkis, lila (=violett), rosa, dunkelrot, braun, durchsichtig (=transparent) Schriftfarbe Farbe der Schrift. Hex-Farbwert oder Schlüsselwort (s.h. Hintergrundfarbe) Farbe = Schriftfarbe Hintergrundbild Adresse des Hintergrundbildes (relativ oder absolut) Breite Breite des Elements Höhe Höhe des Elements Position Muss angegeben werden, wenn das Element mit oben oder links positioniert werden soll. Schlüsselwörter: absolut (von der linken oberen Seitenecke), relativ (im Bezug zum vorhergehenden Element), abhängig (im Bezug zum Elternelement, funktioniert nicht immer), fest (im Bezug zur linken oberen Ecke des Browserfensters, funktioniert z.z. nur mit Mozilla) Oben Position der linken oberen Ecke des Elementes von oben gesehen (vorher muß Position angegeben sein) Links Position der linken oberen Ecke des Elementes von links gesehen (vorher muß Position angegeben sein) Schriftverzierung Verzierung der Schrift: unterstrichen, überstrichen, durchgestrichen, blinkend, keine (=normal) Schriftdicke Dicke der Schrift: dünn, normal, fett, sehr fett vertikale Ausrichtung Ausrichtung in vertikaler Richtung (funktioniert nur mit Tabellen und Bereichen): oben, mitte, unten horizontale Ausrichtung Ausrichtung in horizontaler Richtung (funktioniert nur mit Tabellen und Bereichen): links, mitte, rechts sichtbar gibt an, ob ein Element sichtbar ist oder nicht (ja/nein) unterstrichen gibt an, ob die Schrift unterstrichen ist oder nicht (ja/nein) Mauszeiger Formatierung des Mauszeigers, wenn die Maus sich über dem Element befindet (derzeit noch nicht komplett unterstützt)
Für alle Größenangaben (Schriftgröße, Breit, Höhe, Oben, Links usw.) können folgende Einheiten verwendet werden: Pixel (Standard), Punkte, Millimeter (=mm), Zentimeter (=cm) Je nach verwendetem Browser des Benutzers werden nicht immer alle Formatierungen dargestellt. Neben den Layout-Eigenschaften existieren einige allgemeine Eigenschaften. Sie sind in EasyHTML aber noch nicht vollständig integriert. Übersicht: Allgemeine Eigenschaften Eigenschaft ID Klasse Beschreibung ID des Elementes Formatierungsklasse des Elementes Die speziellen Eigenschaften sind, wie der Name schon sagt, von Element zu Element unterschiedlich. Eine Übersicht über die Elemente und ihre speziellen Eigenschaften finden Sie unten. Darüber hinaus finden Sie in der Übersicht Hinweise, wie der Inhalt der einzelnen Elemente behandelt wird. Übersicht: Elemente und ihre speziellen Eigenschaften Tabelle (Aliase: keine) Beschreibung: Erstellt eine Tabelle Eigenschaften Alle Layout-Eigenschaften Alle allgemeinen Eigenschaften Eigenschaft Beschreibung Def. Spalten Anzahl der Spalten 2 Gitternetz Dicke des Gitternetzes keins Zelleninnenabstand Abstand des Inhalts innen 0 Zellenaußenabstand Abstand zwischen den Zellen 0 Kopfzeile Kopfzeile (ja/nein) nein Inhalt Je eine Inhaltszeile oder ein Element pro Zelle. Wenn mehrere Elemente / Inhaltszeilen in einer Zelle untergebracht werden sollen, müssen diese mit einem Block zusammengefasst werden
Bereich Bereiche (Aliase: div, divs) Beschreibung: Erstellt einen logischen Bereich, der mit Hilfe der Layout- Eigenschaften positioniert werden kann. Eigenschaften: Alle Layout-Eigenschaften Alle allgemeinen Eigenschaften Eigenschaft Beschreibung Def. Multipel Absatz Erstellt eine Serie von Bereichen (nur für Bereich, entspr. Bereiche) Legt fest, ob vor und hinter dem Element ein Zeilenumbruch erfolgt nein ja Inhalt Der Unterschied zwischen Bereich und Bereiche besteht im Parameter Multipel. Ein Bereich mit Multipel: ja entspricht dem Element Bereiche. Wenn der Parameter Multipel nicht gesetzt ist, werden alle Inhaltszeilen in einem einzigen Bereich zusammengefasst, es wird aber nach jeder Inhaltszeile ein Zeilenumbruch eingefügt. Bereiche oder ein gesetztes Multipel: ja bewirkt, dass jede Inhaltszeile vom Parser als einzelne Element behandelt wird. Dabei haben alle Bereiche die selben Eigenschaften. Block (Aliase: logischer Bereich) Beschreibung: Fasst mehrere Elemente logisch zu einem Block zusammen. Blöcke kommen z.b. zum Einsatz, wenn mehrere Elemente in einer Tabellenzelle untergebracht werden sollen. Eigenschaften: Ein Block hat keinerlei äußere Eigenschaften, da er lediglich eine logische Zusammenfassung darstellt. Um einen Block mit Eigenschaften zu versehen, verwenden Sie Bereich Inhalt: Beliebig viele Inhaltszeilen / Elemente beliebiger Art Start (Aliase: Beginn) Beschreibung: Fügt den HTML-Kopf am Anfang einer Seite ein. Start muß verwendet werden, wenn die EasyHTML-Datei eine komplette Seite ist und nicht nur ein Teil.
Wenn Start verwendet wurde sollten Sie am Ende auch Ende verwenden. Eigenschaften: Eigenschaften für das Element Start betreffen die gesamte Seite, werden allerdings von den Eigenschaften der Unterelemente überschrieben. Alle Layout-Eigenschaften Alle allgemeinen Eigenschaften Eigenschaft Beschreibung Def. Titel Überschrift im Browserfenster EH Inhalt: Das Element hat keinen Inhalt. Sie können direkt nach Start ohne Einrückungen mit Inhaltszeilen und/oder Elementen beginnen. Ende (Aliase: keine) Beschreibung: Beendet eine EasyHTML-Datei. Darf nur in Verbindung mit Start verwendet werden (dann aber zwingend). Eigenschaften: Dieses Element hat keine Eigenschaften. Inhalt: Dieses Element hat keinen Inhalt. Einbinden (Aliase: include) Beschreibung: Bindet eine weitere EasyHTML-Datei, eine Text- oder eine HTML- Datei in das aktuelle Dokument ein. Diese Einbindung kann sichtbar oder unsichtbar erfolgen. Eigenschaften: Dieses Element hat keine Eigenschaften. Eigenschaft Beschreibung Def. unsichtbar Unsichtbare Einbindung ja dirket (alias für unsichtbar ) ja Inhalt: Geben Sie in jeder Zeile hinter einem Anführungszeichen den Dateinamen der einzubindenden Datei an Desweiteren können Sie direkt im Text weitere Formatierungen vornehmen:
Übersicht: Formatierungen innerhalb des Inhalts-Textes Formatierungen können praktisch beliebig verschachtelt werden. Die einzige Einschränkung besteht darin, dass Sie nicht einen Link in einen weiteren Link verschachteln können Tag Beschreibung [fett:$] Schreibt den Text $ fett [kursiv:$] Schreibt den Text $ kursiv [link(%):$] Formatiert den Text $ als Link auf die Adresse % [link:%] Stellt die Adresse % als Link dar [überschrift(%):$] Formatiert den Text $ als Überschrift der Größe % (1-6) [überschrift:$] Formatiert den Text $ als Überschrift der Größe 3 [schriftart(%):$] Formatiert den Text $ mit der Schriftart %
EasyHTML selbst erweitern Der EasyHTML-Parser ist komplett in PHP geschrieben. Wenn Sie EasyHTML selbst erweitern möchten sind ausgereifte PHP-Kenntnisse unverzichtbar. Den Rest dürfen Sie im Moment noch selber rausfinden, bis diese Anleitung fertig ist :)
5. Copyright und Verwendungshinweise (Lizenzbestimmungen)