diff options
author | Adrian Kummerlaender | 2019-04-13 00:36:45 +0200 |
---|---|---|
committer | Adrian Kummerlaender | 2019-04-13 00:49:11 +0200 |
commit | 6e5e71882d9d9969e0ffe3013e656cac8fa4f115 (patch) | |
tree | b25460980bf2a9a172c7c7872f0468e05261c2bc /source/99_result | |
parent | cd9463e572f31b82a73cdab6db6b53f3a1237b3e (diff) | |
download | Overview-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.xsl | 52 | ||||
-rw-r--r-- | source/99_result/timeline.xsl | 35 |
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() <= $root/meta/overview/commit_count]"/> + <xsl:apply-templates select="timeline/entry[position() <= $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() <= $root/meta/timeline/commit_count]"/> + <xsl:apply-templates select="timeline/entry[position() <= $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> |