aboutsummaryrefslogtreecommitdiff
path: root/source/01_raw
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/01_raw
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/01_raw')
-rw-r--r--source/01_raw/commits.xsl44
-rw-r--r--source/01_raw/repository_feeds.xsl26
2 files changed, 44 insertions, 26 deletions
diff --git a/source/01_raw/commits.xsl b/source/01_raw/commits.xsl
new file mode 100644
index 0000000..c70beab
--- /dev/null
+++ b/source/01_raw/commits.xsl
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet
+ version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xalan="http://xml.apache.org/xalan"
+ xmlns:InputXSLT="function.inputxslt.application"
+ exclude-result-prefixes="xalan InputXSLT"
+>
+
+<xsl:include href="[utility/formatter.xsl]"/>
+<xsl:include href="[utility/datasource.xsl]"/>
+
+<xsl:variable name="meta">
+ <datasource type="main" mode="xpath" source="$source_tree/directory[@name = '00_content']/directory" target="files"/>
+ <target mode="plain" value="commits.xml"/>
+</xsl:variable>
+
+<xsl:template match="files/directory[@name = 'commits']">
+ <xsl:apply-templates select="directory">
+ <xsl:sort select="@name" order="descending"/>
+ </xsl:apply-templates>
+</xsl:template>
+
+<xsl:template match="files/directory[@name = 'commits']/directory/file[@extension = '.md']">
+ <xsl:variable name="content">
+ <xsl:call-template name="formatter">
+ <xsl:with-param name="source" select="InputXSLT:read-file(./full)/text()"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <entry hash="{substring(@name, 18, string-length(@name))}" repo="{parent::directory/@name}">
+ <title>
+ <xsl:value-of select="xalan:nodeset($content)/h1"/>
+ </title>
+ <date time="{substring(@name, 12, 2)}:{substring(@name, 15, 2)}">
+ <xsl:value-of select="substring(@name, 0, 11)"/>
+ </date>
+ <content>
+ <xsl:copy-of select="xalan:nodeset($content)/*[name() != 'h1']"/>
+ </content>
+ </entry>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/source/01_raw/repository_feeds.xsl b/source/01_raw/repository_feeds.xsl
deleted file mode 100644
index 961c08a..0000000
--- a/source/01_raw/repository_feeds.xsl
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet
- version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:atom="http://www.w3.org/2005/Atom"
- xmlns:InputXSLT="function.inputxslt.application"
- exclude-result-prefixes="InputXSLT"
->
-
-<xsl:include href="[utility/datasource.xsl]"/>
-<xsl:include href="[utility/remove_namespace.xsl]"/>
-
-<xsl:variable name="meta">
- <datasource type="main" mode="full" source="00_content/repositories.xml" target="repositories"/>
- <target mode="plain" value="repository_feeds.xml"/>
-</xsl:variable>
-
-<xsl:template match="repositories/entry">
- <entry handle="{@handle}">
- <xsl:apply-templates mode="remove_namespace" select="InputXSLT:external-command(
- concat('./utility/fetch_feed.sh ', feed/text())
- )/self::command/atom:feed/atom:entry"/>
- </entry>
-</xsl:template>
-
-</xsl:stylesheet>