| Age | Commit message (Collapse) | Author | 
|---|
|  | * performed additional selection of which articles I want to present on this new blog implementation
* added tag symlinks accordingly | 
|  | * a "previous" link was generated even if the end of the stream was reached | 
|  | * replaced "pre" node returned by the hightlighting script with an unstyled one
* "pre" style is now declared in css | 
|  | * 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 | 
|  | * i.e. inline code is automatically highlighted using an external syntax highligher | 
|  |  | 
|  | * base url is now a local webserver for more realistic testing
** i.e. otherwise the atom feed is not served correctly
* article, page, tag and stream pages are now generated as "index.html" inside appropriately named directories
** this is needed for pretty urls that actually work | 
|  | * all xhtml elements contained a empty xmlns attribute
** this was fixed through a custom "xhtml_copy" mode template | 
|  | * atom was choosen in favor of RSS mainly because it is not easily possible to generate the required RSS timestamp in xalan-c (day of the week required)
* modified master template accordingly | 
|  | * 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 | 
|  | * returns "Start" for the first page instead of "Page 0"
** this corresponds to the navigation
* changed "Start" navigation link in master template
* i.e. the index page is named "0", server config will have to be changed accordingly
** thought about generating it as "index" directly
** while this is possible using the XPath evaluation functionality of the target meta attribute the lack of a if-statement in XPath 1.0 would require a very ugly workaround (e.g. the answer to http://stackoverflow.com/questions/971067/is-there-an-if-then-else-statement-in-xpath) | 
|  | * stream transformation is iterated over the paginated article datasource implemented in 854eab6
* stream template contains navigation generation for traversing the article stream | 
|  | * paginates article datasource into chunks of two articles
** this is needed to generate a normal blog article stream
** includes index and total pages for each page entry
* to be resolved against the normal article datasource | 
|  |  | 
|  | * displays articles in descending order grouped by year
** based on the article metadata source implemented in adbe381 | 
|  |  | 
|  | * 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 | 
|  | * xalan and/or InputXSLT namespace should only be included when they are actually required | 
|  | * dates in lists such as the tag list are displayed in plain ISO formatting
** this way the article titles all start at the same horizontal offset which I find much more visually pleasing
* dates on article pages are formatted in the English way instead of in English but formatted as in Germany | 
|  |  | 
|  | * merges the content of the "00_content/meta.xml" file with additional data such as the available tags
* simplifies providing a basic datasource to every result transformation
* modified master, article and tag page template accordingly | 
|  | * the master template generates a list of all available tags into the footer
** this currently requires the unaugmented tags datasource to be included into every template making use of the master template | 
|  | * contains tags and their articles but no further article data
* the unaugmented tags datasource is merged with article data on the metadata level | 
|  | * this was done to simplifiy support data queries while resolving the main datasource | 
|  | * added "tags.xsl" meta datasource
** augments tags and their articles extracted from the content tree with article data from the article datasource
* added basic tag page template
* renamed "pages" directory to "page" as it is more intuitive from a user perspective | 
|  | * otherwise it is not easily possible to add additional datasource layers between the content and result generation level
* changed meta url appropriately | 
|  | * 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 | 
|  | * 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 | 
|  | * enables representing the result folder structure in the source
** e.g. the "page.xsl" transformation is located in "source/pages" and the result is therefore written to "target/pages"
** this enables simplification of target metadata as it is now automatically relative to the level
* modified page template accordingly | 
|  | * root template iterates through the levels and calls the "process" template for each stylesheet
* the "process" template handles metadata extraction and main datasource resolution
** calls "compile" template for generation preparation
* the "compile" template resolves the support datasources, merges the final datasource and resolves the target path using additional helper templates
* actual generation of the result is preformed by the "generate" template as before | 
|  |  | 
|  | * 'h1' node is used as title and any other node as content
* modified result page transformation accordingly | 
|  |  | 
|  | * "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 | 
|  | * including example data and current "/home/adrian" layout |