Einführung
Dieses Crash Tutorial zeigt Dir wie man der macro language processor (M4)
auch als HTML Generator brauchen kann. Diese Tutorial wurde mit OpenBSD 3.6
getestet. HTML kentnisse sind von vorteil!
1. Was es dazu braucht ;
- OpenBSD
2. Szenario
Bei den meisten Homepage haengt ein PHP Interpreter hintendran.
Hat z.B. seinen vorteil wenn man die Homepage dynamisch macht. Man
muss eine änderung nur an einer Stelle machen.
Da ich Fan von rein statischen HTML Pages bin und es mit der Zeit
mühsam wurde meine Statische Pages zu ändern suchte ich nach einer
Lösung und sah das man mit dem M4 sollche sachen ganz schön machen
kann.
3. Vorbereitung
Wir starten nun mit einem 'Gerüst' für unsere Homepage :
---hier downloaden---
So, nun Teilen wir dieses Gerüst in 4 teilen auf, in HTML_HEAD, HTML_TITLE,
HTML_SELECT, HTML_SELECT_END und HTML_FOOT
Das ganze wird als m4 gespeichert (z.B. geruest.m4)
---hier downloaden---
Nun machen wir ein neues File mit dem Namen index.m4
---
include(`geruest.m4')
HTML_HEAD
HTML_TITLE
HTML_SELECT(`dmesg.html',`System Message buffer anzeigen')
HTML_SELECT(`ports.html',`Liste von Protokollen')
HTML_SELECT_END
HTML_FOOT
---
Sieht doch ganz gut aus. Die links dmesg.html und ports.html fehlen
uns noch. Als erstes machen wir ein File mit dem Namen dmesg.m4
Unsere definitionen von "geruest.m4" soll auch hier zum einsatz
kommen darum machen wir ein inculde.
Wir wollen wieder unsern Kopf (HTML_HEAD). In diesem Dokument
soll dmesg ausgegeben werden (esyscmd(`dmesg')). Natürlich kann
jeder beliebige Unixbefhel reinkiopiert werden. Denkt daran das
nur der Output vom Unixbefehl reinkopiert wird!
Das HTML Dokument schliessen wir mit (HTML_FOOT)
---
include(`geruest.m4')
HTML_HEAD
HTML_TITLE
esyscmd(`dmesg')
HTML_FOOT
---
Und nun ein File mit dem Namen ports.m4
an der stelle "paste" kann jedes beliebige Dokument
eingefügt werden (Es empfiehlt sich ein Dokument mit HTML
Syntax)!
---
include(`geruest.m4')
HTML_HEAD
HTML_TITLE
paste(`/etc/services')
HTML_FOOT
---
So, nun müssen wir das ganze noch "kompilieren" :
# m4 index.m4 > index.html
# m4 dmesg.m4 > dmesg.html
# m4 ports.m4 > ports.html
Voila, schon haben wir unsere Page :)
Was ist wenn wir nun bei denn Links noch Google einfügen möchten?
Ganz eifach! Editiert das geruest.m4 und ergänzt :
---siehe wie hier:
Und "kompiliert" das ganze :
# m4 index.m4 > index.html
# m4 dmesg.m4 > dmesg.html
# m4 ports.m4 > ports.html
Und schon habt ihr überall google drin, ohne grossen Aufwand!
Ab besten macht ihr eine Scriptdatei für's "kompilieren" und
macht einen CronJob draus. So wird eure Page z.B. jede nacht
neu gebaut.
--
rocky
|