SiteMake - come veniva generato questo sito

Altre lingue

Le motivazioni

Da quando ho scoperto XML e XSLT, ho cercato un modo semplice e comodo per gestire in maniera del tutto separata contenuto e presentazione. All'inizio usavo XWeb, ottimo programma, ma con alcuni difetti:

  • è scritto in Java (OK, OK, questa è una questione personale...)
  • "trucca" i file per aggiungervi informazioni (di navigazione), e io pensavo non fosse necessario
  • non ha (aveva?) funzionalità di controllo dipendenze (tipo make)

Poco dopo la versione 0.3 ho perso la sincronizzazione con la codebase ufficiale a causa di qualche mia modifica al codice, e non ne ho più seguiti gli sviluppi.

Dato l'ottimo livello di correttezza raggiunto dalla libreria Gnome XSLT, ho deciso di vedere se fosse possibile usare soltanto xsltproc e make per ottenere gli stessi effetti.

Ho quindi sviluppato un DTD per descrivere la struttura del sito, uno stylesheet per convertire questa struttura in un makefile, e ho ritoccato gli stylesheet per adeguarli alle modifiche.

Funzionamento

Data una descrizione della struttura del sito, nel file sitemap.xml, lo stylesheet compile.xsl genera un Makefile contenente le istruzioni per la trasformazione di tutte le pagine, e i loro prerequisiti.

In questo modo, chiamando make vengono rigenerati soltanto i file i cui sorgenti sono stati effettivamente modificati. Inoltre, ad ogni stylesheet vengono passati implicitamente due parametri: sitemapuri che indica la URI della sitemap relativa allo stylesheet, e active che è un'espressione XPath che identifica, dentro la sitemap, il nodo corrispondente alla pagina che si sta trasformando. In questo modo gli stylesheet possono accedere a tutte le informazioni di navigazione utili.

Potete consultare i sorgenti del software.

DateCreato: 2003-01-31 19:03:19 Ultima modifica: 2009-08-18 13:10:59