aboutsummaryrefslogtreecommitdiff
path: root/utility
diff options
context:
space:
mode:
authorAdrian Kummerlaender2014-10-26 11:40:28 +0100
committerAdrian Kummerlaender2014-10-26 11:40:28 +0100
commit0d0e34feb65ba998f8b1df06b498de3f56ea6b7e (patch)
treebf404e95a5abb1ac95c7c638e112ca8d4e812171 /utility
parentee1786edd7972f9ff55fc8abb90a6d981d66998e (diff)
downloadOverview-0d0e34feb65ba998f8b1df06b498de3f56ea6b7e.tar
Overview-0d0e34feb65ba998f8b1df06b498de3f56ea6b7e.tar.gz
Overview-0d0e34feb65ba998f8b1df06b498de3f56ea6b7e.tar.bz2
Overview-0d0e34feb65ba998f8b1df06b498de3f56ea6b7e.tar.lz
Overview-0d0e34feb65ba998f8b1df06b498de3f56ea6b7e.tar.xz
Overview-0d0e34feb65ba998f8b1df06b498de3f56ea6b7e.tar.zst
Overview-0d0e34feb65ba998f8b1df06b498de3f56ea6b7e.zip
Replaced local Git log extraction with CGit ATOM feeds
* I just realized that repository specific commit feeds are already provided by both CGit and GitHub ** i.e. I made the mistake of not checking if my current system already provides the required functionality when I wanted to aggregate my commits and found this to be a use case for StaticXSLT * feeds are fetched via `curl` ** this will be a local request in production ** the messages are still cleaned using `sed` and transformed into _XHTML_ using `peg-markdown` * instead of reading a customized Git log output CommitLog now simply transforms CGit ATOM feeds using identity templates ** this requires ATOM namespace removal which is implemented in `utility/remove_namespace.xsl`
Diffstat (limited to 'utility')
-rwxr-xr-xutility/fetch_feed.sh3
-rw-r--r--utility/formatter.xsl19
-rwxr-xr-xutility/git_log.sh7
-rw-r--r--utility/reference_commit.xsl2
-rw-r--r--utility/remove_namespace.xsl18
5 files changed, 41 insertions, 8 deletions
diff --git a/utility/fetch_feed.sh b/utility/fetch_feed.sh
new file mode 100755
index 0000000..45dbc6c
--- /dev/null
+++ b/utility/fetch_feed.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+curl $1 | sed -e 's~^\([\*]\)\{3\}~\t\t\*~g' -e 's~^\([\*]\)\{2\}~\t\*~g'
diff --git a/utility/formatter.xsl b/utility/formatter.xsl
new file mode 100644
index 0000000..d2c2f7c
--- /dev/null
+++ b/utility/formatter.xsl
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet
+ version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:InputXSLT="function.inputxslt.application"
+ exclude-result-prefixes="InputXSLT"
+>
+
+<xsl:template name="formatter">
+ <xsl:param name="format"/>
+ <xsl:param name="source"/>
+
+ <xsl:copy-of select="InputXSLT:external-command(
+ $format,
+ $source
+ )/self::command/node()"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/utility/git_log.sh b/utility/git_log.sh
deleted file mode 100755
index 4d00552..0000000
--- a/utility/git_log.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-format="<commit hash=\"%h\"><date>%cd</date><message><![CDATA[# %B]]></message></commit>"
-
- git --no-pager -C $1 log -n $2 --date=iso --pretty=tformat:"$format" \
-| tidy --input-xml yes --escape-cdata true --wrap 0 \
-| sed -e 's~^\([\*]\)\{3\}~\t\t\*~g' -e 's~^\([\*]\)\{2\}~\t\*~g'
diff --git a/utility/reference_commit.xsl b/utility/reference_commit.xsl
index 63cb064..3423cd9 100644
--- a/utility/reference_commit.xsl
+++ b/utility/reference_commit.xsl
@@ -20,6 +20,6 @@
</xsl:copy>
</xsl:template>
-<xsl:template match="message | date | text()" mode="commit"/>
+<xsl:template match="title | message | date | author | link | text()" mode="commit"/>
</xsl:stylesheet>
diff --git a/utility/remove_namespace.xsl b/utility/remove_namespace.xsl
new file mode 100644
index 0000000..6775901
--- /dev/null
+++ b/utility/remove_namespace.xsl
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet
+ version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+>
+
+<xsl:template match="*" mode="remove_namespace">
+ <xsl:element name="{local-name()}">
+ <xsl:copy-of select="@*"/>
+ <xsl:apply-templates select="node()" mode="remove_namespace"/>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="comment() | processing-instruction()" mode="remove_namespace">
+ <xsl:copy/>
+</xsl:template>
+
+</xsl:stylesheet>