WebsiteGenerator

NB: Det kan hende scriptet som inspirerte meg til å skrive WebsiteGenerator, webgen, er et bedre valg. Den er lettere å utvide, og har mye mer funksjonalitet, men kanskje også tyngre å sette seg inn i. Jeg regner egentlig ikke med at noen andre enn meg gidder å bruke min versjon.

Last ned

Hva er det?

WebsiteGenerator er et simpelt script for å lage HTML-sidene til et nettsted utifra templates. Supersimpelt, superlite ekstrafunksjonalitet.

Simpel gjennomgang

Her er en simpel gjennomgang av bruken.

Lage en ny side: vim data/index.html

---
title: Dette er en ny flott side
—--
<h1>Flott side ...<h1>

<p>Her er teksten som skal inn i siden. Jejeje, jajaja. Du tar
poenget.</p>

Det som er mellom --- og --- er variabler som plukkes opp via YAML, og blir tilgjengeliggjort for templatene. Dermed kan vi sette tittelen på siden (title-tagen) «dynamisk» herfra. Det som kommer etterpå er siden, som er vanlig HTML.

På tide å kjøre WebsiteGenerator: ./generate.rb

Nå har WebsiteGenerator parset filen, og via templates/default/top.tmpl og templates/default/end.tmpl laget en standard HTML-side, og plassert den relativt i output/-mappen. Alle andre filer som ligger i template-mappen (CSS-filen) blir også kopiert over til output/, og alle filer som ligger i data/ som ikke er mapper, og ikke er filer som parses kopieres også dertil, relativt i forhold til hvor i data/ de lå.

Det genereres en topp-meny av alle mappene som ligger i data/, og en sidebar for hver mappe under data/ som har en fil som heter sidebar.html. Disse er, sammen med title-variabelen, tilgjengelig når du skriver templates, ved å skrive < %= $vars['title'] %> f.eks. For topp-menyen og sidebaren er dette magisk nok $vars['topmenu'] og $vars['sidebar'].