diff options
Implemented tag overview page generation
* added "tags.xsl" meta datasource
** augments tags and their articles extracted from the content tree with article data from the article datasource
* added basic tag page template
* renamed "pages" directory to "page" as it is more intuitive from a user perspective
Diffstat (limited to 'source/99_result/tag')
-rw-r--r-- | source/99_result/tag/tag.xsl | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/source/99_result/tag/tag.xsl b/source/99_result/tag/tag.xsl new file mode 100644 index 0000000..45cb247 --- /dev/null +++ b/source/99_result/tag/tag.xsl @@ -0,0 +1,49 @@ +<?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" + omit-xml-declaration="no" + encoding="UTF-8" + indent="yes" +/> + +<xsl:include href="[utility/master.xsl]"/> +<xsl:include href="[utility/date-time.xsl]"/> + +<xsl:variable name="meta"> + <datasource type="main" mode="iterate" source="target/03_meta/tags.xml" target="tag"/> + <datasource type="support" mode="full" source="source/00_content/meta.xml" target="meta"/> + <target mode="xpath" value="xalan:nodeset($datasource)/datasource/tag/entry/@handle"/> +</xsl:variable> + +<xsl:template name="title-text"> + <xsl:value-of select="/datasource/tag/entry/@handle"/> +</xsl:template> + +<xsl:template match="tag/entry"> + <div class="archiv left articlelist archivlist"> + All articles tagged as »<xsl:value-of select="@handle"/>« + <ol> + <xsl:apply-templates select="article"/> + </ol> + </div> +</xsl:template> + +<xsl:template match="article"> + <li> + <xsl:call-template name="format-date"> + <xsl:with-param name="date" select="date"/> + <xsl:with-param name="format" select="'x. M Y'"/> + </xsl:call-template> + ยป <a href="{$url}/article/{@handle}"><xsl:value-of select="title"/></a> + </li> +</xsl:template> + +</xsl:stylesheet> |