diff options
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.xsl | 41 | ||||
-rw-r--r-- | source/03_meta/categories.xsl | 45 | ||||
-rw-r--r-- | source/03_meta/meta.xsl | 29 | ||||
-rw-r--r-- | source/03_meta/paginated_articles.xsl | 26 | ||||
-rw-r--r-- | source/03_meta/tags.xsl | 42 |
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> |