aboutsummaryrefslogtreecommitdiff
path: root/source/03_meta
diff options
context:
space:
mode:
authorAdrian Kummerlaender2014-09-03 21:11:52 +0200
committerAdrian Kummerlaender2014-09-03 21:11:52 +0200
commit6150e834e72000dfd4005789d3a1ef9b542802f1 (patch)
tree134c30aa0335f1f7a831c3da9c69be0152ac7680 /source/03_meta
parent62d309c963eb31cfdce22a867c004072c8f9aaa1 (diff)
downloadblog.kummerlaender.eu-6150e834e72000dfd4005789d3a1ef9b542802f1.tar
blog.kummerlaender.eu-6150e834e72000dfd4005789d3a1ef9b542802f1.tar.gz
blog.kummerlaender.eu-6150e834e72000dfd4005789d3a1ef9b542802f1.tar.bz2
blog.kummerlaender.eu-6150e834e72000dfd4005789d3a1ef9b542802f1.tar.lz
blog.kummerlaender.eu-6150e834e72000dfd4005789d3a1ef9b542802f1.tar.xz
blog.kummerlaender.eu-6150e834e72000dfd4005789d3a1ef9b542802f1.tar.zst
blog.kummerlaender.eu-6150e834e72000dfd4005789d3a1ef9b542802f1.zip
Revamped transformation layout to remove need for the "01_files" level
* "01_files" contained a single "source" transformation which listed the contents of the "00_content" level ** this was unnecessary as the base "list" transformation already lists the contents of all levels * added new "expression" mode to datasource meta tag processing in the task processing transformation ** this expression modes allows for the evaluation of arbitrary XPath statements *** e.g. a query to the results of "list.xsl" * modified base transformation datasource structures to include the level and meta tree * modified all existing content transformations to query the level-tree instead of the deprecated "source.xml" ** i.e. XPath statements ** the main change is that directories are available as "directory" nodes instead of nodes named by the directory name * these changes where implemented to simplify the architecture and to increase flexibility
Diffstat (limited to 'source/03_meta')
-rw-r--r--source/03_meta/articles.xsl41
-rw-r--r--source/03_meta/categories.xsl45
-rw-r--r--source/03_meta/meta.xsl29
-rw-r--r--source/03_meta/paginated_articles.xsl26
-rw-r--r--source/03_meta/tags.xsl42
5 files changed, 0 insertions, 183 deletions
diff --git a/source/03_meta/articles.xsl b/source/03_meta/articles.xsl
deleted file mode 100644
index 8babed3..0000000
--- a/source/03_meta/articles.xsl
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet
- version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
->
-
-<xsl:include href="[utility/datasource.xsl]"/>
-
-<xsl:variable name="meta">
- <datasource type="main" mode="full" source="02_data/articles.xml" target="articles"/>
- <target mode="plain" value="articles.xml"/>
-</xsl:variable>
-
-<xsl:key name="years" match="datasource/articles/entry/date/year/text()" use="." />
-
-<xsl:template match="articles">
- <xsl:for-each select="entry/date/year/text()[generate-id() = generate-id(key('years',.)[1])]">
- <entry handle="{.}">
- <xsl:call-template name="get_articles">
- <xsl:with-param name="year" select="."/>
- </xsl:call-template>
- </entry>
- </xsl:for-each>
-</xsl:template>
-
-<xsl:template name="get_articles">
- <xsl:param name="year"/>
-
- <xsl:for-each select="/datasource/articles/entry[date/year = $year]">
- <article handle="{@handle}">
- <title>
- <xsl:value-of select="title"/>
- </title>
- <date>
- <xsl:value-of select="date/full"/>
- </date>
- </article>
- </xsl:for-each>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/source/03_meta/categories.xsl b/source/03_meta/categories.xsl
deleted file mode 100644
index f1c2f5e..0000000
--- a/source/03_meta/categories.xsl
+++ /dev/null
@@ -1,45 +0,0 @@
-<?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/datasource.xsl]"/>
-
-<xsl:variable name="meta">
- <datasource type="main" mode="full" source="01_files/source.xml" target="files"/>
- <datasource type="support" mode="full" source="02_data/pages.xml" target="pages"/>
- <target mode="plain" value="categories.xml"/>
-</xsl:variable>
-
-<xsl:template name="get_page_data">
- <xsl:param name="handle"/>
-
- <xsl:variable name="page" select="$root/pages/entry[@handle = $handle]"/>
-
- <page handle="{$handle}">
- <title>
- <xsl:value-of select="$page/title"/>
- </title>
- <digest size="{string-length($page/content/p[1])}">
- <xsl:copy-of select="$page/content/p[1]/node()"/>
- </digest>
- </page>
-</xsl:template>
-
-<xsl:template match="files/pages/*[name() != 'file']">
- <entry handle="{name()}">
- <xsl:apply-templates />
- </entry>
-</xsl:template>
-
-<xsl:template match="files/pages/*/file[./extension = '.md']">
- <xsl:call-template name="get_page_data">
- <xsl:with-param name="handle" select="./name"/>
- </xsl:call-template>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/source/03_meta/meta.xsl b/source/03_meta/meta.xsl
deleted file mode 100644
index 2af78de..0000000
--- a/source/03_meta/meta.xsl
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet
- version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
->
-
-<xsl:include href="[utility/datasource.xsl]"/>
-
-<xsl:variable name="meta">
- <datasource type="main" mode="full" source="00_content/meta.xml" target="meta"/>
- <datasource type="support" mode="full" source="02_data/tags.xml" target="tags"/>
- <target mode="plain" value="meta.xml"/>
-</xsl:variable>
-
-<xsl:template match="meta">
- <xsl:copy-of select="./*"/>
-</xsl:template>
-
-<xsl:template match="tags">
- <tags>
- <xsl:apply-templates />
- </tags>
-</xsl:template>
-
-<xsl:template match="tags/entry">
- <entry handle="{@handle}"/>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/source/03_meta/paginated_articles.xsl b/source/03_meta/paginated_articles.xsl
deleted file mode 100644
index e00ee51..0000000
--- a/source/03_meta/paginated_articles.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"
->
-
-<xsl:include href="[utility/datasource.xsl]"/>
-
-<xsl:variable name="meta">
- <datasource type="main" mode="full" source="02_data/articles.xml" target="articles"/>
- <target mode="plain" value="paginated_articles.xml"/>
-</xsl:variable>
-
-<xsl:variable name="total" select="floor(count(datasource/articles/entry) div 2)"/>
-
-<xsl:template match="articles/entry[position() mod 2 = 1]">
- <entry index="{floor(position() div 2)}" total="{$total}">
- <xsl:apply-templates mode="group" select=". | following-sibling::entry[not(position() > 1)]"/>
- </entry>
-</xsl:template>
-
-<xsl:template match="articles/entry" mode="group">
- <article handle="{@handle}"/>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/source/03_meta/tags.xsl b/source/03_meta/tags.xsl
deleted file mode 100644
index 9e399cd..0000000
--- a/source/03_meta/tags.xsl
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet
- version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
->
-
-<xsl:include href="[utility/datasource.xsl]"/>
-
-<xsl:variable name="meta">
- <datasource type="main" mode="full" source="02_data/tags.xml" target="tags"/>
- <datasource type="support" mode="full" source="02_data/articles.xml" target="articles"/>
- <target mode="plain" value="tags.xml"/>
-</xsl:variable>
-
-<xsl:template name="get_article_data">
- <xsl:param name="handle"/>
-
- <xsl:variable name="article" select="$root/articles/entry[@handle = $handle]/*[self::title | self::date]"/>
-
- <title>
- <xsl:value-of select="$article/self::title"/>
- </title>
- <date>
- <xsl:value-of select="$article/self::date/full"/>
- </date>
-</xsl:template>
-
-<xsl:template match="tags/entry">
- <entry handle="{@handle}">
- <xsl:apply-templates />
- </entry>
-</xsl:template>
-
-<xsl:template match="tags/*/article">
- <article handle="{@handle}">
- <xsl:call-template name="get_article_data">
- <xsl:with-param name="handle" select="@handle"/>
- </xsl:call-template>
- </article>
-</xsl:template>
-
-</xsl:stylesheet>