From e3b6ddeea3e7fa568f1d9ecd1fbbed4773702fe4 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Sun, 20 Jul 2014 16:44:30 +0200 Subject: Implemented new "layered" site generation architecture * "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 --- generate.xsl | 177 +++++++++++++++++++++++-------------- meta.xml | 15 ---- source/00_content/meta.xml | 5 ++ source/00_content/pages/about.md | 9 ++ source/00_content/pages/contact.md | 5 ++ source/01_files/source.xsl | 51 +++++++++++ source/02_data/pages.xsl | 44 +++++++++ source/03_result/page.xsl | 35 ++++++++ source/pages/about.md | 9 -- source/pages/contact.md | 5 -- template/compiler/pages.xsl | 33 ------- template/datasource/pages.xsl | 32 ------- template/output/master.xsl | 64 -------------- template/output/page.xsl | 23 ----- utility/context.xsl | 47 ---------- utility/generator.xsl | 22 ----- utility/master.xsl | 68 ++++++++++++++ utility/reader.xsl | 16 ---- utility/transformer.xsl | 20 ----- utility/writer.xsl | 20 ----- 20 files changed, 330 insertions(+), 370 deletions(-) delete mode 100644 meta.xml create mode 100644 source/00_content/meta.xml create mode 100644 source/00_content/pages/about.md create mode 100644 source/00_content/pages/contact.md create mode 100644 source/01_files/source.xsl create mode 100644 source/02_data/pages.xsl create mode 100644 source/03_result/page.xsl delete mode 100644 source/pages/about.md delete mode 100644 source/pages/contact.md delete mode 100644 template/compiler/pages.xsl delete mode 100644 template/datasource/pages.xsl delete mode 100644 template/output/master.xsl delete mode 100644 template/output/page.xsl delete mode 100644 utility/context.xsl delete mode 100644 utility/generator.xsl create mode 100644 utility/master.xsl delete mode 100644 utility/reader.xsl delete mode 100644 utility/transformer.xsl delete mode 100644 utility/writer.xsl diff --git a/generate.xsl b/generate.xsl index 04a9c2f..405f940 100644 --- a/generate.xsl +++ b/generate.xsl @@ -2,9 +2,10 @@ - - - - - - - + + + - - - - - - - - - - - - - - - - - - - + - + + - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/meta.xml b/meta.xml deleted file mode 100644 index 3dca27c..0000000 --- a/meta.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - /home/adrian - - /home/common/projects/dev/static_site_generator/datasource - /home/common/projects/dev/static_site_generator/result - /home/common/projects/dev/static_site_generator/result - - - /home/common/projects/dev/static_site_generator/source - /home/common/projects/dev/static_site_generator/template/datasource - /home/common/projects/dev/static_site_generator/template/compiler - /home/common/projects/dev/static_site_generator/template/output - - diff --git a/source/00_content/meta.xml b/source/00_content/meta.xml new file mode 100644 index 0000000..8c1af22 --- /dev/null +++ b/source/00_content/meta.xml @@ -0,0 +1,5 @@ + + + /home/adrian + /home/common/projects/dev/static_site_generator/target/03_result + diff --git a/source/00_content/pages/about.md b/source/00_content/pages/about.md new file mode 100644 index 0000000..827b612 --- /dev/null +++ b/source/00_content/pages/about.md @@ -0,0 +1,9 @@ +# About + +Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. + +* Lorem ipsum dolor sit amet +* consetetur sadipscing elitr +* sed diam nonumy eirmod tempor + +Invidunt ut *labore* et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. diff --git a/source/00_content/pages/contact.md b/source/00_content/pages/contact.md new file mode 100644 index 0000000..a9d8be1 --- /dev/null +++ b/source/00_content/pages/contact.md @@ -0,0 +1,5 @@ +# Contact + +Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. + +Invidunt ut *labore* et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. diff --git a/source/01_files/source.xsl b/source/01_files/source.xsl new file mode 100644 index 0000000..d13e3bd --- /dev/null +++ b/source/01_files/source.xsl @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [source/00_content] + + + + + diff --git a/source/02_data/pages.xsl b/source/02_data/pages.xsl new file mode 100644 index 0000000..4f3002f --- /dev/null +++ b/source/02_data/pages.xsl @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + /usr/bin/markdown + + + + + + + + + + + + + + diff --git a/source/03_result/page.xsl b/source/03_result/page.xsl new file mode 100644 index 0000000..f6113f3 --- /dev/null +++ b/source/03_result/page.xsl @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
diff --git a/source/pages/about.md b/source/pages/about.md deleted file mode 100644 index 827b612..0000000 --- a/source/pages/about.md +++ /dev/null @@ -1,9 +0,0 @@ -# About - -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. - -* Lorem ipsum dolor sit amet -* consetetur sadipscing elitr -* sed diam nonumy eirmod tempor - -Invidunt ut *labore* et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. diff --git a/source/pages/contact.md b/source/pages/contact.md deleted file mode 100644 index a9d8be1..0000000 --- a/source/pages/contact.md +++ /dev/null @@ -1,5 +0,0 @@ -# Contact - -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. - -Invidunt ut *labore* et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. diff --git a/template/compiler/pages.xsl b/template/compiler/pages.xsl deleted file mode 100644 index dbde8c9..0000000 --- a/template/compiler/pages.xsl +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/template/datasource/pages.xsl b/template/datasource/pages.xsl deleted file mode 100644 index 5c036c9..0000000 --- a/template/datasource/pages.xsl +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - /usr/bin/markdown - - - - - - - - - - - - - - diff --git a/template/output/master.xsl b/template/output/master.xsl deleted file mode 100644 index fa00f9e..0000000 --- a/template/output/master.xsl +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - <xsl:call-template name="title-text"/> - - - - - -
-
- -
- -
- - -
-
- - -
- -
- diff --git a/template/output/page.xsl b/template/output/page.xsl deleted file mode 100644 index a271e4a..0000000 --- a/template/output/page.xsl +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - @ /home/adrian - - - -
- -
-
- -
diff --git a/utility/context.xsl b/utility/context.xsl deleted file mode 100644 index 9dbfdc9..0000000 --- a/utility/context.xsl +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/utility/generator.xsl b/utility/generator.xsl deleted file mode 100644 index eb65996..0000000 --- a/utility/generator.xsl +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - diff --git a/utility/master.xsl b/utility/master.xsl new file mode 100644 index 0000000..01bfd3c --- /dev/null +++ b/utility/master.xsl @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + <xsl:call-template name="title-text"/> @ /home/adrian + + + + + +
+
+ +
+ +
+ + +
+
+ + +
+ + + +
+ diff --git a/utility/reader.xsl b/utility/reader.xsl deleted file mode 100644 index 31d6fcc..0000000 --- a/utility/reader.xsl +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - diff --git a/utility/transformer.xsl b/utility/transformer.xsl deleted file mode 100644 index 0812f33..0000000 --- a/utility/transformer.xsl +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - diff --git a/utility/writer.xsl b/utility/writer.xsl deleted file mode 100644 index 42e9502..0000000 --- a/utility/writer.xsl +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - -- cgit v1.2.3