Age | Commit message (Collapse) | Author |
|
* last article on a page has to contain the CSS classes "last" and "article"
** previously the position had to be manually increased by one because of some whitespace-only nodes
** due to the removal of indentation to enable code highlighting this manual increase is not only unneeded but prevented the correct classes from being set
|
|
* 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
|