<feed xmlns='http://www.w3.org/2005/Atom'>
<title>blog.kummerlaender.eu/source/02_data, branch master</title>
<subtitle>Static XSLT based implementation of my blog</subtitle>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/'/>
<entry>
<title>Revamped transformation layout to remove need for the "01_files" level</title>
<updated>2014-09-03T19:11:52+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2014-09-03T19:11:52+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/commit/?id=6150e834e72000dfd4005789d3a1ef9b542802f1'/>
<id>6150e834e72000dfd4005789d3a1ef9b542802f1</id>
<content type='text'>
* "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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* "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
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed need for prefixing datasource source attribute</title>
<updated>2014-08-29T21:35:16+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2014-08-29T21:35:16+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/commit/?id=9c8d55ae5ee4b4d2dd8b5d69c4a635ac1b1236c6'/>
<id>9c8d55ae5ee4b4d2dd8b5d69c4a635ac1b1236c6</id>
<content type='text'>
* transformations contain one or more "datasource" meta nodes
** these nodes define the required datasources
** up until now it was required to define the whole path to the file to be loaded
* the implementation of directory linkage in b942f8e removed the underlying need for providing the source / target prefix
** this commit now updates the generation transformations to match this change
*** this simplifies the datasource definition process for the end-user
*** additionally it makes the target / source directories easier to maintain
* changed cleanage task implementation to remove the whole directory and recreate it from scratch
** otherwise directory linkage and in turn the whole generation failed when the target directory did not exist in the first place
* removed task reordering in the process transformation
** tasks are now processed exactly as they were scheduled
** this was changed so that e.g. the "00_content" directory is linked before the first datasource is required
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* transformations contain one or more "datasource" meta nodes
** these nodes define the required datasources
** up until now it was required to define the whole path to the file to be loaded
* the implementation of directory linkage in b942f8e removed the underlying need for providing the source / target prefix
** this commit now updates the generation transformations to match this change
*** this simplifies the datasource definition process for the end-user
*** additionally it makes the target / source directories easier to maintain
* changed cleanage task implementation to remove the whole directory and recreate it from scratch
** otherwise directory linkage and in turn the whole generation failed when the target directory did not exist in the first place
* removed task reordering in the process transformation
** tasks are now processed exactly as they were scheduled
** this was changed so that e.g. the "00_content" directory is linked before the first datasource is required
</pre>
</div>
</content>
</entry>
<entry>
<title>Implemented basic cleaning and linking facilities</title>
<updated>2014-08-18T18:44:05+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2014-08-18T18:44:05+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/commit/?id=99b8d15f33ac71fe85bb2fa7001d080931bba7ba'/>
<id>99b8d15f33ac71fe85bb2fa7001d080931bba7ba</id>
<content type='text'>
* e.g. removing the target directory before each regeneration and symlinking CSS files
** this will be extended to include ressource directories and so on
* renamed "formatter.xsl" stylesheet to "helper.xsl" as it now includes various helper templates
* finally checked the main CSS into the VCS
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* e.g. removing the target directory before each regeneration and symlinking CSS files
** this will be extended to include ressource directories and so on
* renamed "formatter.xsl" stylesheet to "helper.xsl" as it now includes various helper templates
* finally checked the main CSS into the VCS
</pre>
</div>
</content>
</entry>
<entry>
<title>Implemented page categorization functionality</title>
<updated>2014-08-11T18:24:46+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2014-08-11T18:24:46+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/commit/?id=49768b7c10fd6466edcd8262587bf142c919ccb5'/>
<id>49768b7c10fd6466edcd8262587bf142c919ccb5</id>
<content type='text'>
* expanded "02_data/pages.xsl" transformation to include pages in subfolders
* "03_meta/categories.xsl" transformation generates a categorized view of all pages simmilar to the one provided for tags by "03_meta/tags.xsl"
* "99_result/category/category.xsl" transformation generates category overview pages
* added basic project related pages inside the "projects" category
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* expanded "02_data/pages.xsl" transformation to include pages in subfolders
* "03_meta/categories.xsl" transformation generates a categorized view of all pages simmilar to the one provided for tags by "03_meta/tags.xsl"
* "99_result/category/category.xsl" transformation generates category overview pages
* added basic project related pages inside the "projects" category
</pre>
</div>
</content>
</entry>
<entry>
<title>Switched content formatter to kramdown</title>
<updated>2014-08-10T11:09:42+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2014-08-10T11:09:42+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/commit/?id=71fcf7c296f16e31fe0e75eee08059456c080206'/>
<id>71fcf7c296f16e31fe0e75eee08059456c080206</id>
<content type='text'>
* implemented language selection for automatic syntax highlighting
** language selection requires the language to be used to be passed as a class of the code element
** kramdown enables easy definition of this class attribute
* kramdown offers more functionality such as table and class attribute support
* updated all articles accordingly
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* implemented language selection for automatic syntax highlighting
** language selection requires the language to be used to be passed as a class of the code element
** kramdown enables easy definition of this class attribute
* kramdown offers more functionality such as table and class attribute support
* updated all articles accordingly
</pre>
</div>
</content>
</entry>
<entry>
<title>Updated external text formatter commands</title>
<updated>2014-08-09T16:44:57+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2014-08-09T16:44:57+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/commit/?id=1232de16d63bc16ba84999018ff5b468c7b878ba'/>
<id>1232de16d63bc16ba84999018ff5b468c7b878ba</id>
<content type='text'>
* directly pass the executable including its arguments
** the "highlight.sh" proxy script is no longer required
* this was made possible by a recent commit to InputXSLT
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* directly pass the executable including its arguments
** the "highlight.sh" proxy script is no longer required
* this was made possible by a recent commit to InputXSLT
</pre>
</div>
</content>
</entry>
<entry>
<title>Cleaned code highlighter markup</title>
<updated>2014-08-07T18:59:44+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2014-08-07T18:59:44+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/commit/?id=40e8c5200f2e0ac227265f6166a5e33186cc4c09'/>
<id>40e8c5200f2e0ac227265f6166a5e33186cc4c09</id>
<content type='text'>
* replaced "pre" node returned by the hightlighting script with an unstyled one
* "pre" style is now declared in css
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* replaced "pre" node returned by the hightlighting script with an unstyled one
* "pre" style is now declared in css
</pre>
</div>
</content>
</entry>
<entry>
<title>Improved automatic source code highlighting</title>
<updated>2014-08-06T21:49:20+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2014-08-06T21:49:20+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/commit/?id=4ba35f4999514043d2ff420779cb07cedb8b0d96'/>
<id>4ba35f4999514043d2ff420779cb07cedb8b0d96</id>
<content type='text'>
* disable indentation in both the page and datasource master stylesheets
** indentation was interfering with correct output of formatted code
* simplified call to formatter helper template
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* disable indentation in both the page and datasource master stylesheets
** indentation was interfering with correct output of formatted code
* simplified call to formatter helper template
</pre>
</div>
</content>
</entry>
<entry>
<title>Added basic article content embellishment</title>
<updated>2014-08-05T20:15:51+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2014-08-05T20:15:51+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/commit/?id=96895b711b282e914d064273ef9f74b2c5f0c920'/>
<id>96895b711b282e914d064273ef9f74b2c5f0c920</id>
<content type='text'>
* i.e. inline code is automatically highlighted using an external syntax highligher
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* i.e. inline code is automatically highlighted using an external syntax highligher
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed duplicated xsl output declarations</title>
<updated>2014-07-27T19:18:26+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2014-07-27T19:18:26+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/commit/?id=a6c539589757b24e53d53ae07ab5bf6753e60f81'/>
<id>a6c539589757b24e53d53ae07ab5bf6753e60f81</id>
<content type='text'>
* the output node is defined in both the master and datasource transformation
** i.e. they do not have to be defined in transformations making use of one of these transformations
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* the output node is defined in both the master and datasource transformation
** i.e. they do not have to be defined in transformations making use of one of these transformations
</pre>
</div>
</content>
</entry>
<entry>
<title>Added separate year node to article datasource</title>
<updated>2014-07-26T21:31:12+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2014-07-26T21:31:12+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/commit/?id=cff2b8fe9a763752e0f871cad09dee6ed86da1ea'/>
<id>cff2b8fe9a763752e0f871cad09dee6ed86da1ea</id>
<content type='text'>
* this is needed for the implementation of a article datasource grouped by year
** this in turn is needed for the archive page template
* modified tags meta transformation and article result transformation accordingly
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* this is needed for the implementation of a article datasource grouped by year
** this in turn is needed for the archive page template
* modified tags meta transformation and article result transformation accordingly
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed unnecessary namespace declarations</title>
<updated>2014-07-26T12:22:52+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2014-07-26T12:22:52+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/commit/?id=93d4a7e4e1d1e577cb7fddc42345f5eb9c117678'/>
<id>93d4a7e4e1d1e577cb7fddc42345f5eb9c117678</id>
<content type='text'>
* xalan and/or InputXSLT namespace should only be included when they are actually required
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* xalan and/or InputXSLT namespace should only be included when they are actually required
</pre>
</div>
</content>
</entry>
<entry>
<title>Added descending sort by date to article datasources</title>
<updated>2014-07-26T11:58:47+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2014-07-26T11:58:47+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/commit/?id=d1519b500c0c32b3ad0a1af617e40dd5e0c3b3db'/>
<id>d1519b500c0c32b3ad0a1af617e40dd5e0c3b3db</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Added unaugmented tags datasource</title>
<updated>2014-07-26T07:59:58+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2014-07-26T07:59:58+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/commit/?id=04dd5fb877a3cc13eff4868018e518f479a34bda'/>
<id>04dd5fb877a3cc13eff4868018e518f479a34bda</id>
<content type='text'>
* contains tags and their articles but no further article data
* the unaugmented tags datasource is merged with article data on the metadata level
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* contains tags and their articles but no further article data
* the unaugmented tags datasource is merged with article data on the metadata level
</pre>
</div>
</content>
</entry>
<entry>
<title>Added root variable to datasource template</title>
<updated>2014-07-25T19:17:15+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2014-07-25T19:17:15+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/commit/?id=c0cd6ee34a0ed1290acdf6058d1dea8437a8dcff'/>
<id>c0cd6ee34a0ed1290acdf6058d1dea8437a8dcff</id>
<content type='text'>
* this was done to simplifiy support data queries while resolving the main datasource
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* this was done to simplifiy support data queries while resolving the main datasource
</pre>
</div>
</content>
</entry>
<entry>
<title>Implemented basic article tagging facility</title>
<updated>2014-07-24T18:34:09+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2014-07-24T18:34:09+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/commit/?id=776c0031c05c8660fee8d1b06a2371cbb43248f9'/>
<id>776c0031c05c8660fee8d1b06a2371cbb43248f9</id>
<content type='text'>
* articles are tagged by symlinking them to the appropriate "tag" in the "tags" directory
* tags are resolved by the article datasource transformation
* added tags for the example articles
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* articles are tagged by symlinking them to the appropriate "tag" in the "tags" directory
* tags are resolved by the article datasource transformation
* added tags for the example articles
</pre>
</div>
</content>
</entry>
<entry>
<title>Added basic article datasource and output transformations</title>
<updated>2014-07-24T14:46:52+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2014-07-24T14:46:52+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/commit/?id=305eb17cd2d70c2e922b8997ada86b29329d660e'/>
<id>305eb17cd2d70c2e922b8997ada86b29329d660e</id>
<content type='text'>
* articles contain the handle and date in their file name
** i.e. it is split using XPath string functions
** usage of the ISO date format provides automatic ordering
* added some articles from my blog as example data
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* articles contain the handle and date in their file name
** i.e. it is split using XPath string functions
** usage of the ISO date format provides automatic ordering
* added some articles from my blog as example data
</pre>
</div>
</content>
</entry>
<entry>
<title>Split page datasource entry into title and content</title>
<updated>2014-07-20T18:02:55+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2014-07-20T18:02:55+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/commit/?id=6265f7f4be3a54a8a27330918c59ef16da458124'/>
<id>6265f7f4be3a54a8a27330918c59ef16da458124</id>
<content type='text'>
* 'h1' node is used as title and any other node as content
* modified result page transformation accordingly
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'h1' node is used as title and any other node as content
* modified result page transformation accordingly
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed unnecessary extension distinction from page datasource</title>
<updated>2014-07-20T17:48:30+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2014-07-20T17:48:30+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/commit/?id=e15b3bc2c4036363c5d9b9fd7e62d224920b5514'/>
<id>e15b3bc2c4036363c5d9b9fd7e62d224920b5514</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Implemented new "layered" site generation architecture</title>
<updated>2014-07-20T14:44:30+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2014-07-20T14:44:30+00:00</published>
<link rel='alternate' type='text/html' href='https://code.kummerlaender.eu/blog.kummerlaender.eu/commit/?id=e3b6ddeea3e7fa568f1d9ecd1fbbed4773702fe4'/>
<id>e3b6ddeea3e7fa568f1d9ecd1fbbed4773702fe4</id>
<content type='text'>
* "source" directory contains layers as subdirectories
** ordered by their name
** e.g. layer 0 is "00_content" and contains the content alongside some metadata
* transformations contained within the "source" layers are processed sequentally
* transformations define their requirements in a "meta" variable
** the "meta" variable is interpreted by the core transformation "generate.xsl"
* requirements are currently datasources and target information
** every transformation may have one datasource of type "main"
*** this data source offers e.g. the option to iterate over it
** every transformation may have a arbitrary number of "support" datasources
*** e.g. "meta" is a support datasource
** the target node may provide a fixed target path or a Xpath to be evaluated
* the result of each transformation is written to the appropriate layer of the "result" directory
* this approach to XSLT based static site generation should be quite flexible and offer good expandability
** e.g. adding new datasource options and types
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* "source" directory contains layers as subdirectories
** ordered by their name
** e.g. layer 0 is "00_content" and contains the content alongside some metadata
* transformations contained within the "source" layers are processed sequentally
* transformations define their requirements in a "meta" variable
** the "meta" variable is interpreted by the core transformation "generate.xsl"
* requirements are currently datasources and target information
** every transformation may have one datasource of type "main"
*** this data source offers e.g. the option to iterate over it
** every transformation may have a arbitrary number of "support" datasources
*** e.g. "meta" is a support datasource
** the target node may provide a fixed target path or a Xpath to be evaluated
* the result of each transformation is written to the appropriate layer of the "result" directory
* this approach to XSLT based static site generation should be quite flexible and offer good expandability
** e.g. adding new datasource options and types
</pre>
</div>
</content>
</entry>
</feed>
