summaryrefslogtreecommitdiff
path: root/sitemake/document.en.rest.txt
diff options
context:
space:
mode:
Diffstat (limited to 'sitemake/document.en.rest.txt')
-rw-r--r--sitemake/document.en.rest.txt55
1 files changed, 55 insertions, 0 deletions
diff --git a/sitemake/document.en.rest.txt b/sitemake/document.en.rest.txt
new file mode 100644
index 0000000..c947412
--- /dev/null
+++ b/sitemake/document.en.rest.txt
@@ -0,0 +1,55 @@
+Web Generator
+=============
+
+Motivations
+-----------
+
+Ever since I discovered `XML`_ and `XSLT`_, I've been looking for an easy and
+confortable way to keep content and presentation totally separate. I started
+using `XWeb`_, which is a good program, but with some problems:
+
+* it's written in Java (OK, OK, this is personal taste)
+
+* it "tweaks" files to add (navigational) information, and I thought it was
+ not necessary
+
+* it does (did?) not have dependency control functionalities (like make)
+
+Shortly after version 0.3 I lost sync with the official codebase because of
+some modifications of mine, and I did not follow later developments.
+
+Given the high level of correctness attained by the `Gnome XSLT library`_, I
+decided to try and look if it was possible to use just xsltproc and make to
+obtain the same results.
+
+So I developed a DTD to describe the structure of the site, a stylesheet to
+convert this structure into a makefile, and retouched the stylesheets to keep
+them working after the modifications.
+
+How it works
+------------
+
+Given a description of the site's structure in the file sitemap.xml, the
+stylesheet compile.xsl generates a Makefile containing rules for the
+transformation of every page, along with their prerequisites.
+
+In this way calling make causes the regenaration of only those files whose
+source have actually been modified. Moreover, each stylesheet implicitly gets
+two parameters: sitemapuri containing the URI of the sitemap relative to the
+stylesheet, and active which is an XPath expression indicating, inside the
+sitemap, the node corresponding to the page being transformed. This way the
+stylesheets can access all relevant navigational information.
+
+You can consult the site's sources.
+
+.. _`xml`:
+ http://www.w3.org/TR/REC-xml
+
+.. _`gnome xslt library`:
+ http://xmlsoft.org/XSLT
+
+.. _`xweb`:
+ http://xweb.sourceforge.net
+
+.. _`xslt`:
+ http://www.w3.org/TR/xslt