aboutsummaryrefslogtreecommitdiff
path: root/source/99_result
diff options
context:
space:
mode:
authorAdrian Kummerlaender2019-04-13 00:36:45 +0200
committerAdrian Kummerlaender2019-04-13 00:49:11 +0200
commit6e5e71882d9d9969e0ffe3013e656cac8fa4f115 (patch)
treeb25460980bf2a9a172c7c7872f0468e05261c2bc /source/99_result
parentcd9463e572f31b82a73cdab6db6b53f3a1237b3e (diff)
downloadOverview-6e5e71882d9d9969e0ffe3013e656cac8fa4f115.tar
Overview-6e5e71882d9d9969e0ffe3013e656cac8fa4f115.tar.gz
Overview-6e5e71882d9d9969e0ffe3013e656cac8fa4f115.tar.bz2
Overview-6e5e71882d9d9969e0ffe3013e656cac8fa4f115.tar.lz
Overview-6e5e71882d9d9969e0ffe3013e656cac8fa4f115.tar.xz
Overview-6e5e71882d9d9969e0ffe3013e656cac8fa4f115.tar.zst
Overview-6e5e71882d9d9969e0ffe3013e656cac8fa4f115.zip
Replace commit feed aggregation with manual import
This is the starting point for extending _Overview_ to support various types of recent updates (i.e. not just blog articles and commits over a certain message size). While direct fetching and rendering of markdown-formatted Git commit messages is an attractive concept, this new approach should be much more flexible. As a side benefit commit entries can now be edited and expanded compared to their fixed Git reference. e.g. retroactively expanding upon older commits or adding example media that doesn't strictly belong inside the actual commit message.
Diffstat (limited to 'source/99_result')
-rw-r--r--source/99_result/overview.xsl52
-rw-r--r--source/99_result/timeline.xsl35
2 files changed, 25 insertions, 62 deletions
diff --git a/source/99_result/overview.xsl b/source/99_result/overview.xsl
index a21aa8a..5a319b8 100644
--- a/source/99_result/overview.xsl
+++ b/source/99_result/overview.xsl
@@ -21,63 +21,41 @@
<datasource type="main" mode="full" source="00_content/meta.xml" target="meta"/>
<datasource type="support" mode="full" source="02_augment/articles.xml" target="articles"/>
<datasource type="support" mode="full" source="03_merge/timeline.xml" target="timeline"/>
- <datasource type="support" mode="full" source="02_augment/commits.xml" target="commits"/>
- <datasource type="support" mode="full" source="00_content/repositories.xml" target="repositories"/>
<target mode="plain" value="index.html"/>
</xsl:variable>
<xsl:variable name="root" select="/datasource"/>
-<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:variable name="project" select="$root/repositories/entry[
- @handle = $repository
- ]"/>
-
+<xsl:template match="timeline/entry">
<h3>
<span class="arrow">
<xsl:text>» </xsl:text>
</span>
- <a href="{$commit/link}">
- <xsl:value-of select="$commit/title"/>
+ <a href="{$root/meta/repository_base}/{@repo}/commit/?id={@hash}">
+ <xsl:value-of select="title"/>
</a>
</h3>
<span class="info">
<xsl:call-template name="format-date">
- <xsl:with-param name="date" select="$commit/date"/>
+ <xsl:with-param name="date" select="date"/>
<xsl:with-param name="format" select="'M x, Y'"/>
</xsl:call-template>
<xsl:text> at </xsl:text>
- <xsl:value-of select="$commit/date/@time"/>
+ <xsl:value-of select="date/@time"/>
<xsl:text> | </xsl:text>
- <a href="{$project/url}">
- <xsl:value-of select="$repository"/>
+ <a href="{$root/meta/repository_base}/{@repo}/">
+ <xsl:value-of select="@repo"/>
</a>
<xsl:text> | </xsl:text>
- <a href="{$commit/link}">
- <xsl:value-of select="$commit/@hash"/>
+ <a href="{$root/meta/repository_base}/{@repo}/commit/?id={@hash}">
+ <xsl:value-of select="substring(@hash,0,7)"/>
</a>
<xsl:text> | </xsl:text>
- <xsl:value-of select="$commit/author"/>
+ <xsl:value-of select="$root/meta/author"/>
</span>
- <xsl:apply-templates select="$commit/message/node()" mode="xhtml"/>
-</xsl:template>
-
-<xsl:template match="timeline/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:apply-templates select="content/node()" mode="xhtml"/>
</xsl:template>
<xsl:template match="articles/entry">
@@ -113,8 +91,8 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <meta name="author" content="Adrian Kummerländer"/>
- <meta name="description" content="Overview of kummerlaender.eu; blog and commit timeline aggregator"/>
+ <meta name="author" content="{$root/meta/author}"/>
+ <meta name="description" content="{$root/meta/description}"/>
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<title>
@@ -170,7 +148,7 @@
<div class="normal menuhead">
<h2>
- <a href="https://code.kummerlaender.eu">
+ <a href="{$root/meta/repository_base}">
<xsl:text>Selected commits</xsl:text>
</a>
</h2>
@@ -187,7 +165,7 @@
</ul>
</div>
- <xsl:apply-templates select="timeline/commit[position() &lt;= $root/meta/overview/commit_count]"/>
+ <xsl:apply-templates select="timeline/entry[position() &lt;= $root/meta/overview/commit_count]"/>
</div>
</body>
</html>
diff --git a/source/99_result/timeline.xsl b/source/99_result/timeline.xsl
index de0c6e4..5c4630c 100644
--- a/source/99_result/timeline.xsl
+++ b/source/99_result/timeline.xsl
@@ -16,31 +16,27 @@
<xsl:variable name="meta">
<datasource type="main" mode="full" source="03_merge/timeline.xml" target="timeline"/>
- <datasource type="support" mode="full" source="02_augment/commits.xml" target="repositories"/>
<datasource type="support" mode="full" source="00_content/meta.xml" target="meta"/>
<target mode="plain" value="timeline.xml"/>
</xsl:variable>
<xsl:variable name="root" select="/datasource"/>
<xsl:variable name="url" select="concat($root/meta/url, '/timeline.xml')"/>
-<xsl:variable name="latest" select="$root/repositories/entry[
- @handle = $root/timeline/commit[1]/@repository
-]/commit[
- @hash = $root/timeline/commit[1]/@hash
-]"/>
-<xsl:template match="repositories/entry/commit">
+<xsl:template match="timeline/entry">
+ <xsl:variable name="link" select="concat($root/meta/repository_base, '/', @repo, '/commits/?id=', @hash)"/>
+
<entry xmlns="http://www.w3.org/2005/Atom">
<id>
- <xsl:value-of select="link"/>
+ <xsl:value-of select="$link"/>
</id>
<title>
<xsl:value-of select="title"/>
</title>
- <link rel="alternate" title="{title}" href="{link}"/>
+ <link rel="alternate" title="{title}" href="$link"/>
<author>
<name>
- <xsl:value-of select="author"/>
+ <xsl:value-of select="$root/meta/author"/>
</name>
</author>
<updated>
@@ -51,7 +47,7 @@
</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
- <xsl:apply-templates select="message/*" mode="xhtml"/>
+ <xsl:apply-templates select="content/*" mode="xhtml"/>
</div>
</content>
</entry>
@@ -69,25 +65,14 @@
<xsl:value-of select="$root/meta/title"/>
</title>
<updated>
- <xsl:value-of select="$latest/date"/>
+ <xsl:value-of select="timeline/entry[1]/date"/>
<xsl:text>T</xsl:text>
- <xsl:value-of select="$latest/date/@time"/>
+ <xsl:value-of select="timeline/entry[1]/date/@time"/>
<xsl:text>:00+02:00</xsl:text>
</updated>
- <xsl:apply-templates select="timeline/commit[position() &lt;= $root/meta/timeline/commit_count]"/>
+ <xsl:apply-templates select="timeline/entry[position() &lt;= $root/meta/timeline/commit_count]"/>
</feed>
</xsl:template>
-<xsl:template match="timeline/commit">
- <xsl:variable name="repository" select="@repository"/>
- <xsl:variable name="hash" select="@hash"/>
-
- <xsl:apply-templates select="$root/repositories/entry[
- @handle = $repository
- ]/commit[
- @hash = $hash
- ]"/>
-</xsl:template>
-
</xsl:stylesheet>