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.
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']
.