summaryrefslogtreecommitdiff
path: root/source/99_result/branches.xsl
diff options
context:
space:
mode:
authorAdrian Kummerlaender2017-02-11 22:22:27 +0100
committerAdrian Kummerlaender2017-02-11 22:22:27 +0100
commit490963c1550efffe046179ced9b39573185e3e1d (patch)
treea5d7ed4bd1dc7408a77dda09b22ae0d332938925 /source/99_result/branches.xsl
downloadtree.kummerlaender.eu-490963c1550efffe046179ced9b39573185e3e1d.tar
tree.kummerlaender.eu-490963c1550efffe046179ced9b39573185e3e1d.tar.gz
tree.kummerlaender.eu-490963c1550efffe046179ced9b39573185e3e1d.tar.bz2
tree.kummerlaender.eu-490963c1550efffe046179ced9b39573185e3e1d.tar.lz
tree.kummerlaender.eu-490963c1550efffe046179ced9b39573185e3e1d.tar.xz
tree.kummerlaender.eu-490963c1550efffe046179ced9b39573185e3e1d.tar.zst
tree.kummerlaender.eu-490963c1550efffe046179ced9b39573185e3e1d.zip
Initial implementation of a tree-like website generator based on InputXSLT
The foundation was forked from `blog.kummerlaender.eu`. Currently generates arbitrarily nested markdown documents in addition to overview pages for branches in the tree. This includes resolution of branch node contents.
Diffstat (limited to 'source/99_result/branches.xsl')
-rw-r--r--source/99_result/branches.xsl61
1 files changed, 61 insertions, 0 deletions
diff --git a/source/99_result/branches.xsl b/source/99_result/branches.xsl
new file mode 100644
index 0000000..86467ef
--- /dev/null
+++ b/source/99_result/branches.xsl
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet
+ version="1.0"
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xalan="http://xml.apache.org/xalan"
+ exclude-result-prefixes="xalan"
+>
+
+<xsl:include href="[utility/master.xsl]"/>
+<xsl:include href="[utility/xhtml.xsl]"/>
+
+<xsl:variable name="meta">
+ <datasource type="main" mode="iterate" source="02_data/branches.xml" target="branch"/>
+ <datasource type="support" mode="full" source="03_meta/meta.xml" target="meta"/>
+ <target mode="xpath" value="concat($datasource/branch/entry/@handle, '/index.html')"/>
+</xsl:variable>
+
+<xsl:template name="title-text">
+ <xsl:value-of select="/datasource/branch/entry/@handle"/>
+</xsl:template>
+
+<xsl:template match="branch/entry">
+ <div class="article">
+ <h2>
+ <xsl:text>» </xsl:text>
+ <a href="{@handle}">
+ <xsl:value-of select="payload/title"/>
+ </a>
+ </h2>
+ <p class="info"/>
+
+ <xsl:apply-templates select="payload/content/node()" mode="xhtml"/>
+ </div>
+
+ <div class="columns">
+ <ul class="prettylist">
+ <xsl:apply-templates select="branches/node">
+ <xsl:sort select="digest/@size" data-type="number" order="descending"/>
+ </xsl:apply-templates>
+
+ <xsl:apply-templates select="leaves/node">
+ <xsl:sort select="digest/@size" data-type="number" order="descending"/>
+ </xsl:apply-templates>
+ </ul>
+ </div>
+</xsl:template>
+
+<xsl:template match="entry/*/node">
+ <li>
+ <em>»</em>
+ <a href="{@name}/index.html">
+ <strong><xsl:value-of select="title"/></strong>
+ <p>
+ <xsl:apply-templates select="digest/node()" mode="xhtml"/>
+ </p>
+ </a>
+ </li>
+</xsl:template>
+
+</xsl:stylesheet>