aboutsummaryrefslogtreecommitdiff
path: root/source/99_result
diff options
context:
space:
mode:
authorAdrian Kummerlaender2014-10-17 22:59:45 +0200
committerAdrian Kummerlaender2014-10-17 22:59:45 +0200
commitacacfda54016cbd4437d1ccaa609a52e9c1739d0 (patch)
tree6429c262d2e33fe215613e6b0ac69a0af5f0492b /source/99_result
downloadOverview-acacfda54016cbd4437d1ccaa609a52e9c1739d0.tar
Overview-acacfda54016cbd4437d1ccaa609a52e9c1739d0.tar.gz
Overview-acacfda54016cbd4437d1ccaa609a52e9c1739d0.tar.bz2
Overview-acacfda54016cbd4437d1ccaa609a52e9c1739d0.tar.lz
Overview-acacfda54016cbd4437d1ccaa609a52e9c1739d0.tar.xz
Overview-acacfda54016cbd4437d1ccaa609a52e9c1739d0.tar.zst
Overview-acacfda54016cbd4437d1ccaa609a52e9c1739d0.zip
Added basic commit timeline aggregator implementation
* another application based on StaticXSLT * git is instructed to export XML through a special log format definition * the commit messages are processed as Markdown * currently implemented result views are commits-by-repo and a paginated timeline of all commits in every repository * repositories to be read have to be defined in the `repositories.xml` file in the `00_content` level
Diffstat (limited to 'source/99_result')
-rw-r--r--source/99_result/repositories/repository_log.xsl20
-rw-r--r--source/99_result/stream.xsl54
2 files changed, 74 insertions, 0 deletions
diff --git a/source/99_result/repositories/repository_log.xsl b/source/99_result/repositories/repository_log.xsl
new file mode 100644
index 0000000..9ffd173
--- /dev/null
+++ b/source/99_result/repositories/repository_log.xsl
@@ -0,0 +1,20 @@
+<?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"
+>
+
+<xsl:include href="[utility/xhtml.xsl]"/>
+<xsl:include href="[utility/master.xsl]"/>
+
+<xsl:variable name="meta">
+ <datasource type="main" mode="iterate" source="02_augment/formatted_commits.xml" target="repositories"/>
+ <target mode="xpath" value="concat($datasource/repositories/entry/@handle, '/index.html')"/>
+</xsl:variable>
+
+<xsl:template match="repositories/entry/commit/message">
+ <xsl:copy-of select="node()"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/source/99_result/stream.xsl b/source/99_result/stream.xsl
new file mode 100644
index 0000000..4f1bfde
--- /dev/null
+++ b/source/99_result/stream.xsl
@@ -0,0 +1,54 @@
+<?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"
+>
+
+<xsl:include href="[utility/master.xsl]"/>
+<xsl:include href="[utility/xhtml.xsl]"/>
+
+<xsl:variable name="meta">
+ <datasource type="main" mode="iterate" source="04_meta/paginated_timeline.xml" target="page"/>
+ <datasource type="support" mode="full" source="02_augment/formatted_commits.xml" target="commits"/>
+ <target mode="xpath" value="concat($datasource/page/entry/@index, '/index.html')"/>
+</xsl:variable>
+
+<xsl:template name="get_commit">
+ <xsl:param name="repository"/>
+ <xsl:param name="hash"/>
+
+ <xsl:variable name="commit" select="$root/commits/entry[@handle = $repository]/commit[@hash = $hash]"/>
+
+ <xsl:apply-templates select="$commit/message/node()" mode="xhtml"/>
+</xsl:template>
+
+<xsl:template match="page/entry">
+ <xsl:apply-templates />
+
+ <div id="pagination">
+ <xsl:if test="@index > 0">
+ <span>
+ <a class="pagination-previous" href="/{@index - 1}">
+ <xsl:text>« newer</xsl:text>
+ </a>
+ </span>
+ </xsl:if>
+ <xsl:if test="@index &lt; @total - 1">
+ <span>
+ <a class="pagination-next" href="/{@index + 1}">
+ <xsl:text>older »</xsl:text>
+ </a>
+ </span>
+ </xsl:if>
+ </div>
+</xsl:template>
+
+<xsl:template match="page/entry/commit">
+ <xsl:call-template name="get_commit">
+ <xsl:with-param name="repository" select="@repository"/>
+ <xsl:with-param name="hash" select="@hash"/>
+ </xsl:call-template>
+</xsl:template>
+
+</xsl:stylesheet>