summaryrefslogtreecommitdiff
path: root/src/SW/sitemake/document.it.rest.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/SW/sitemake/document.it.rest.txt')
-rw-r--r--src/SW/sitemake/document.it.rest.txt55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/SW/sitemake/document.it.rest.txt b/src/SW/sitemake/document.it.rest.txt
new file mode 100644
index 0000000..e9310f3
--- /dev/null
+++ b/src/SW/sitemake/document.it.rest.txt
@@ -0,0 +1,55 @@
+===========================================
+SiteMake - come veniva generato questo sito
+===========================================
+:CreationDate: 2003-01-31 19:03:19
+:tags: software
+
+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.
+
+.. _XML: http://www.w3.org/TR/REC-xml
+.. _XSLT: http://www.w3.org/TR/xslt
+.. _XWeb: http://xweb.sourceforge.net
+.. _`libreria Gnome XSLT`: http://xmlsoft.org/XSLT
+.. __: http://www.thenautilus.net/cgit/sitemake/