aboutsummaryrefslogtreecommitdiff
path: root/source
AgeCommit message (Collapse)Author
2014-08-18Implemented basic cleaning and linking facilitiesAdrian Kummerlaender
* 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
2014-08-17Updated formatter helper templateAdrian Kummerlaender
* recent changes in InputXSLT revamped "external-text-formatter" into a general "external-command" function * this changes were implemented to enable e.g. symlinking and copying files from the source to the target
2014-08-12Somewhat fleshed out the project pagesAdrian Kummerlaender
* e.g. linked Github and cgit repositories
2014-08-11Added further basic project pagesAdrian Kummerlaender
2014-08-11Added category overview heading and randomized orderAdrian Kummerlaender
* while articles can be ordered by e.g. date there is no useful order for the pages in a given category ** this is why the order of pages on category overview pages is now random (in each generation)
2014-08-11Implemented page categorization functionalityAdrian Kummerlaender
* 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
2014-08-10Minor improvements to article, stream and master transformationAdrian Kummerlaender
* wrap text in "xsl:text elements to clean up the output
2014-08-10Added microblog to archive pageAdrian Kummerlaender
* changed archive page markup two enable setting two columns in CSS
2014-08-10Switched content formatter to kramdownAdrian Kummerlaender
* 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
2014-08-09Updated external text formatter commandsAdrian Kummerlaender
* 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
2014-08-09Restricted amount of articles generated into the atom feedAdrian Kummerlaender
* the feed should not return all articles ever posted but only e.g. the last five * disabled indentation to fix source highlighting
2014-08-08Imported another batch of articles from my blogAdrian Kummerlaender
* this should be the last one, as the remaining articles are not really worth preserving ** at least that is my current assessment * updated contact page with actual content instead of filler text
2014-08-08Fixed stream template article CSS classesAdrian Kummerlaender
* 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
2014-08-07Imported even more articles from my blogAdrian Kummerlaender
* performed additional selection of which articles I want to present on this new blog implementation * added tag symlinks accordingly
2014-08-07Fixed stream navigation logicAdrian Kummerlaender
* a "previous" link was generated even if the end of the stream was reached
2014-08-07Cleaned code highlighter markupAdrian Kummerlaender
* replaced "pre" node returned by the hightlighting script with an unstyled one * "pre" style is now declared in css
2014-08-06Improved automatic source code highlightingAdrian Kummerlaender
* 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
2014-08-05Added basic article content embellishmentAdrian Kummerlaender
* i.e. inline code is automatically highlighted using an external syntax highligher
2014-08-04Imported further data from my blogAdrian Kummerlaender
2014-08-04Changed base url and url schemeAdrian Kummerlaender
* 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
2014-08-04Fixed namespace of atom feed XHTML summaryAdrian Kummerlaender
* all xhtml elements contained a empty xmlns attribute ** this was fixed through a custom "xhtml_copy" mode template
2014-07-28Implemented basic atom feed transformationAdrian Kummerlaender
* 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
2014-07-27Removed duplicated xsl output declarationsAdrian Kummerlaender
* 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
2014-07-27Improved article stream title-text templateAdrian Kummerlaender
* 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)
2014-07-27Implemented article stream generationAdrian Kummerlaender
* stream transformation is iterated over the paginated article datasource implemented in 854eab6 * stream template contains navigation generation for traversing the article stream
2014-07-27Implemented paginated meta article datasourceAdrian Kummerlaender
* 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
2014-07-27Renamed "year" node to "entry" to match other datasourcesAdrian Kummerlaender
2014-07-26Implemented basic archive page templateAdrian Kummerlaender
* displays articles in descending order grouped by year ** based on the article metadata source implemented in adbe381
2014-07-26Implemented articles meta datasource grouped by yearAdrian Kummerlaender
2014-07-26Added separate year node to article datasourceAdrian Kummerlaender
* 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
2014-07-26Removed unnecessary namespace declarationsAdrian Kummerlaender
* xalan and/or InputXSLT namespace should only be included when they are actually required
2014-07-26Changed date formatting to ISO / EnglishAdrian Kummerlaender
* 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
2014-07-26Added descending sort by date to article datasourcesAdrian Kummerlaender
2014-07-26Added meta datasourceAdrian Kummerlaender
* 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
2014-07-26Included unaugmented tag datasource into the page footerAdrian Kummerlaender
* 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
2014-07-26Added unaugmented tags datasourceAdrian Kummerlaender
* contains tags and their articles but no further article data * the unaugmented tags datasource is merged with article data on the metadata level
2014-07-25Added root variable to datasource templateAdrian Kummerlaender
* this was done to simplifiy support data queries while resolving the main datasource
2014-07-25Implemented tag overview page generationAdrian Kummerlaender
* 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
2014-07-25Moved result transformations into "99_result"Adrian Kummerlaender
* otherwise it is not easily possible to add additional datasource layers between the content and result generation level * changed meta url appropriately
2014-07-24Implemented basic article tagging facilityAdrian Kummerlaender
* 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
2014-07-24Added basic article datasource and output transformationsAdrian Kummerlaender
* 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
2014-07-23Added recursive traversion of all folders in each levelAdrian Kummerlaender
* 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
2014-07-22Restructured generation logic into separate templatesAdrian Kummerlaender
* 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
2014-07-21Based file source transformation on the datasource templateAdrian Kummerlaender
2014-07-20Split page datasource entry into title and contentAdrian Kummerlaender
* 'h1' node is used as title and any other node as content * modified result page transformation accordingly
2014-07-20Removed unnecessary extension distinction from page datasourceAdrian Kummerlaender
2014-07-20Implemented new "layered" site generation architectureAdrian Kummerlaender
* "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
2014-07-14Initial commit of basic generator structureAdrian Kummerlaender
* including example data and current "/home/adrian" layout