zAx: Texte durch abkürzungen einbinden?

Aloha,

ich brauche mal wieder eure Hilfe, unzwar muss ich für den Informatik Unterricht eine Imagemap über unser Sonnensystem machen und hab das auch hingekriegt! Aber ich muss nun auch noch Texte zu jedem Planeten schreiben und ich möchte nicht so viele .HTML Seiten erstellen! Also wollte ich wissen, ob man nicht alle Texte in einer Datei speichern könnte und dann durch einen einfachen Befehl (z.B. "Text1") oder so einbinden könnte?

MfG

  1. Hi,

    Aber ich muss nun auch noch Texte zu jedem Planeten schreiben und ich möchte nicht so viele .HTML Seiten erstellen!

    Du kennst copy&paste? Bzw. weißt, wie man eine Datei mit dem Grundgerüst unter verschiedenen Namen mehrfach speichern kann? Ich sehe da keinen größeren Aufwand.

    Also wollte ich wissen, ob man nicht alle Texte in einer Datei speichern könnte und dann durch einen einfachen Befehl (z.B. "Text1") oder so einbinden könnte?

    HTML hat keine Befehle. Du könntest dazu natürlich Javascript verwenden, aber das hätte zwei Nachteile:
    1. Ohne Javascript keine Texte
    2. Die Dateui würde unnötig groß.

    freundliche Grüße
    Ingo

  2. Γειά σου, zAx!

    ich brauche mal wieder eure Hilfe, unzwar muss ich für den Informatik Unterricht eine Imagemap über unser Sonnensystem machen und hab das auch hingekriegt! Aber ich muss nun auch noch Texte zu jedem Planeten schreiben und ich möchte nicht so viele .HTML Seiten erstellen! Also wollte ich wissen, ob man nicht alle Texte in einer Datei speichern könnte und dann durch einen einfachen Befehl (z.B. "Text1") oder so einbinden könnte?

    Da es offenbar um die Planeten des Sonnensystems geht, hält sich der Umfang deines Projekts ja noch in Grenzen (9 Planeten -> 9 Seiten + Übersichtsseite mit Imagemap). Folglich könntest du tatsächlich Ingos Vorschlag folgen, einfach das Grundgerüst zu kopieren.
    Nachteil dieser Methode ist jedoch, dass du Änderungen an selbigen dann auch in allen 10 Dateien vornehmen musst. Dem kannst du vorbeugen, indem du mit Includes arbeitest: Du erstellst deine 10 Dateien, die ausschließlich die seitenspezifischen Inhalte (Texte, Imagemap) enthalten und fügst in jede Datei oben und unten Anweisungen zum inkludieren von Kopf und Fuß der Seite ein. Kopf und Fuß kommen aus zwei weiteren Dateien, die so identisch in alle 10 Seiten eingebunden werden. Wenn du zusätzlich noch den Titel der Seiten verändern möchtest, kannst du den Seitenkopf beliebig aufspalten.
    Als Techniken zum Inkludieren von Inhalten bieten sich in erster Linie Server Side Includes an; sollten diese auf deinem Webspace nicht zur Verfügung stehen, kannst du - installiertes PHP vorausgesetzt - die PHP-Funktion include() verwenden.

    Αντίο!
    Sven aus Bonn

    --
    Ἀεὶ πάντα ῥεῖ.
    Selfcode: ie:% fl:( br:> va:} ls:[ fo:) rl:( n4:{ ss:| de:> js:| ch:) mo:} zu:) - Selfcode dekodieren - Selfcode-Info
  3. Moin!

    Zwei weitere Methoden:

    Unter Windows: Verwenden des HTML-Editors Phase 5. Schüler, Privatleute und Schulen dürfen den wohl kostenlos verwenden. Der kann "Editorseitiges Including". Dabei wird mit HTML-Kommentaren gearbeitet.
    Du legst mittels des Editors zum Beispiel einen head.inc, eine tail.inc an, die jeweils den in allen Dateien vorhandenen Teil (Imagemap...) der zu erzeugenden Datei über oder unter den individuellen Dateiinhalten beinhalten.

    In Dein eigentliches Dokument musst Du dann nur den Hinweis auf die zu includierende Datei "einfügen" und natürlich bei jeder Änderung an den Include-Dateien Dein Projekt aktualisieren. Dafür gibt es einen passenden Menüpunkt.

    Methode zwei ist ganz ähnlich

    Deine erde.html bestehe ebenso wie venus.html aus 3 Teilen:

    planeten.head - (bei allen gleich)
    erde.inc.html - (individuell)
    planeten.tail - (bei allen gleich)

    Das Erzeugen gänge dann unter Linux so:

    cat planeten.head erde.inc.html planeten.tail > erde.html

    Das lässt sich skripten... MakeFile.sh:

    Linux/Unix/BSD:
    ---
    #! /bin/sh
    cat planeten.head $1.inc.html planeten.tail > $1.html;

    ---

    Aufruf:
    ./MakeFile.sh erde
    ./MakeFile.sh venus

    In der DOS-Box von Windows wird es auch gehen:

    copy planeten.head & erde.inc.html & planeten.tail erde.html

    Hier bin ich mir bezüglich der Syntax aber nicht sicher, das habe ich lange nicht mehr gemacht. Ein "help copy" an der Aufgabeaufforderung  ("Dos-Box") schafft Klar- und Sicherheit. Das Skript müsste dann ähnlich aussehen:

    MakeFile.bat für Dos/Windows:
    ---
    copy planeten.head & %1.inc.html & planeten.tail %1.html
    ---
    Auch das konnte ich aber nicht probieren.

    Aufruf:
    C:\verz> MakeFile.bat erde
    C:\verz> MakeFile.bat venus

    Die letzte un daufwendigste Möglichkeit: Du installierst Perl oder PHP oder eine Programmiersprache Deiner Wahl, die mit Textdateien ähnlich excellent umgehen kann, oder auch awk(gawk) (gibts auch für Windows) und hast einen recht hübschen Lernaufwand. Dafür hast Du dann aber auch mehr Möglichkeiten.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
    1. Hi,

      In der DOS-Box von Windows wird es auch gehen:

      copy planeten.head & erde.inc.html & planeten.tail erde.html

      Hier bin ich mir bezüglich der Syntax aber nicht sicher, das habe ich lange nicht mehr gemacht.

      Mit "+" geht das. Und für die paar Planeten bräuchte man in der Batch auch keine Parameter, sondern könnte für jeden eine Zeile eintragen.

      Aber für umfangreichere Seiten wäre eine Schleife in einer Batch-Datei auch eine Option. Hierzu sollte man dann die einzubindende Datei ohne Extension speichern, dann ginge z.B.:

      for %%a in (*.) do copy head.html + %%a + foot.html %%a.html

      freundliche Grüße
      Ingo