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/01_raw | |
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/01_raw')
-rw-r--r-- | source/01_raw/commits.xsl | 44 | ||||
-rw-r--r-- | source/01_raw/repository_feeds.xsl | 26 |
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> |