diff options
Implemented new "layered" site generation architecture
* "source" directory contains layers as subdirectories
** ordered by their name
** e.g. layer 0 is "00_content" and contains the content alongside some metadata
* transformations contained within the "source" layers are processed sequentally
* transformations define their requirements in a "meta" variable
** the "meta" variable is interpreted by the core transformation "generate.xsl"
* requirements are currently datasources and target information
** every transformation may have one datasource of type "main"
*** this data source offers e.g. the option to iterate over it
** every transformation may have a arbitrary number of "support" datasources
*** e.g. "meta" is a support datasource
** the target node may provide a fixed target path or a Xpath to be evaluated
* the result of each transformation is written to the appropriate layer of the "result" directory
* this approach to XSLT based static site generation should be quite flexible and offer good expandability
** e.g. adding new datasource options and types
Diffstat (limited to 'utility/master.xsl')
-rw-r--r-- | utility/master.xsl | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/utility/master.xsl b/utility/master.xsl new file mode 100644 index 0000000..01bfd3c --- /dev/null +++ b/utility/master.xsl @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:xalan="http://xml.apache.org/xalan" + xmlns:InputXSLT="function.inputxslt.application" + exclude-result-prefixes="xalan InputXSLT" +> + +<xsl:output + method="xml" + doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" + doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" + omit-xml-declaration="yes" + encoding="UTF-8" + indent="yes" +/> + +<xsl:variable name="url" select="datasource/meta/url"/> + +<xsl:template match="/"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta name="author" content="Adrian Kummerländer" /> + <meta name="robots" content="all"/> + <meta name="viewport" content="width=device-width,initial-scale=1.0"/> + + <title><xsl:call-template name="title-text"/> @ /home/adrian</title> + <link rel="stylesheet" type="text/css" href="{$url}/main.css" /> + + <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" /> +</head> +<body> + <div id="wrapper"> + <div id="content"> + <div id="nav_wrap"> + <h1><xsl:value-of select="datasource/meta/title"/></h1> + <ul> + <li><a href="{$url}">Start</a></li> + <li><a href="{$url}/archiv">Archiv</a></li> + <li><a href="{$url}/projekte">Projekte</a></li> + <li><a href="{$url}/seiten/kontakt">Kontakt</a></li> + <li class="last_item"><a href="{$url}/rss">RSS</a></li> + </ul> + </div> + <div id="main"> + <xsl:apply-templates /> + </div> + <div id="footer_wrap"> + </div> + <div id="last_line"> + <a href="https://github.com/KnairdA/InputXSLT">Gemacht mit XSLT</a> + <ul> + <li><a href="{$url}/seiten/kontakt">Kontakt</a></li> + <li class="last_item"><a href="{$url}/rss">RSS</a></li> + </ul> + </div> + </div> + </div> +</body> +</html> +</xsl:template> + +<xsl:template match="text()|@*"/> + +</xsl:stylesheet> + |