aboutsummaryrefslogtreecommitdiff
path: root/source/02_augment/commits.xsl
diff options
context:
space:
mode:
authorAdrian Kummerlaender2014-10-24 18:59:25 +0200
committerAdrian Kummerlaender2014-10-24 18:59:25 +0200
commitee1786edd7972f9ff55fc8abb90a6d981d66998e (patch)
treec8776d08ded942982f6bc40438f1dffbeef25361 /source/02_augment/commits.xsl
parentc3c2a4f161ab168debb64ed8a99dc1e4e3403364 (diff)
downloadOverview-ee1786edd7972f9ff55fc8abb90a6d981d66998e.tar
Overview-ee1786edd7972f9ff55fc8abb90a6d981d66998e.tar.gz
Overview-ee1786edd7972f9ff55fc8abb90a6d981d66998e.tar.bz2
Overview-ee1786edd7972f9ff55fc8abb90a6d981d66998e.tar.lz
Overview-ee1786edd7972f9ff55fc8abb90a6d981d66998e.tar.xz
Overview-ee1786edd7972f9ff55fc8abb90a6d981d66998e.tar.zst
Overview-ee1786edd7972f9ff55fc8abb90a6d981d66998e.zip
Added timeline ATOM feed and removed XHTML target
* moved repository feeds to `repository` directory * replaced paginated XHTML timeline target with and ATOM feed ** removed `paginated_timeline.xsl` transformation including the `04_meta` level ** removed CSS and master stylesheets * added title, url and commit count meta data to `meta.xml` * expanded ATOM feed URLs * timeline feed has an upper limit of `commit_count` items ** repository feeds have the same limit because only `commit_count` commits of every repository are fetched in the first place
Diffstat (limited to 'source/02_augment/commits.xsl')
-rw-r--r--source/02_augment/commits.xsl59
1 files changed, 59 insertions, 0 deletions
diff --git a/source/02_augment/commits.xsl b/source/02_augment/commits.xsl
new file mode 100644
index 0000000..27f9bcd
--- /dev/null
+++ b/source/02_augment/commits.xsl
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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:variable name="meta">
+ <datasource type="main" mode="full" source="01_raw/commits.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>
+
+<xsl:template match="date" mode="commit">
+ <xsl:copy>
+ <xsl:attribute name="time">
+ <xsl:value-of select="substring(text(), 12, 5)"/>
+ </xsl:attribute>
+
+ <xsl:apply-templates select="@*|node()" mode="commit"/>
+ </xsl:copy>
+</xsl:template>
+
+<xsl:template match="date/text()" mode="commit">
+ <xsl:value-of select="substring(., 0, 11)"/>
+</xsl:template>
+
+<xsl:template match="message/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:copy>
+ <xsl:apply-templates select="@*|node()" mode="commit"/>
+ </xsl:copy>
+</xsl:template>
+
+<xsl:template match="repositories/entry">
+ <entry handle="{@handle}">
+ <xsl:apply-templates select="commit" mode="commit"/>
+ </entry>
+</xsl:template>
+
+</xsl:stylesheet>