diff options
Diffstat (limited to 'source/02_augment')
-rw-r--r-- | source/02_augment/commits.xsl | 51 |
1 files changed, 34 insertions, 17 deletions
diff --git a/source/02_augment/commits.xsl b/source/02_augment/commits.xsl index 27f9bcd..7f17240 100644 --- a/source/02_augment/commits.xsl +++ b/source/02_augment/commits.xsl @@ -2,49 +2,66 @@ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:InputXSLT="function.inputxslt.application" - exclude-result-prefixes="InputXSLT" > <xsl:include href="[utility/datasource.xsl]"/> +<xsl:include href="[utility/formatter.xsl]"/> <xsl:variable name="meta"> - <datasource type="main" mode="full" source="01_raw/commits.xml" target="repositories"/> + <datasource type="main" mode="full" source="01_raw/repository_feeds.xml" target="repositories"/> <target mode="plain" value="commits.xml"/> </xsl:variable> -<xsl:template name="formatter"> - <xsl:param name="format"/> - <xsl:param name="source"/> - - <xsl:copy-of select="InputXSLT:external-command( - $format, - $source - )/self::command/node()"/> +<xsl:template match="entry" mode="commit"> + <commit hash="{id}"> + <xsl:apply-templates select="@*|node()" mode="commit"/> + </commit> </xsl:template> -<xsl:template match="date" mode="commit"> +<xsl:template match="id" mode="commit"/> +<xsl:template match="updated" mode="commit"/> +<xsl:template match="content[@type = 'xhtml']" mode="commit"/> + +<xsl:template match="author" mode="commit"> <xsl:copy> + <xsl:value-of select="name"/> + </xsl:copy> +</xsl:template> + +<xsl:template match="published" mode="commit"> + <date> <xsl:attribute name="time"> <xsl:value-of select="substring(text(), 12, 5)"/> </xsl:attribute> <xsl:apply-templates select="@*|node()" mode="commit"/> - </xsl:copy> + </date> </xsl:template> -<xsl:template match="date/text()" mode="commit"> +<xsl:template match="published/text()" mode="commit"> <xsl:value-of select="substring(., 0, 11)"/> </xsl:template> -<xsl:template match="message/text()" mode="commit"> +<xsl:template match="link" mode="commit"> + <link> + <xsl:value-of select="@href"/> + </link> +</xsl:template> + +<xsl:template match="content[@type = 'text']" mode="commit"> + <message> + <xsl:apply-templates select="node()" mode="commit"/> + </message> +</xsl:template> + +<xsl:template match="content[@type = 'text']/text()" mode="commit"> <xsl:call-template name="formatter"> <xsl:with-param name="format">markdown</xsl:with-param> <xsl:with-param name="source" select="."/> </xsl:call-template> </xsl:template> -<xsl:template match="@*|node()" mode="commit"> +<xsl:template match="@* | node()" mode="commit"> <xsl:copy> <xsl:apply-templates select="@*|node()" mode="commit"/> </xsl:copy> @@ -52,7 +69,7 @@ <xsl:template match="repositories/entry"> <entry handle="{@handle}"> - <xsl:apply-templates select="commit" mode="commit"/> + <xsl:apply-templates select="entry" mode="commit"/> </entry> </xsl:template> |