diff options
Diffstat (limited to 'source/99_result')
-rw-r--r-- | source/99_result/archive.xsl | 66 | ||||
-rw-r--r-- | source/99_result/article/article.xsl | 54 | ||||
-rw-r--r-- | source/99_result/atom.xsl | 63 | ||||
-rw-r--r-- | source/99_result/category/category.xsl | 48 | ||||
-rw-r--r-- | source/99_result/main.css | 106 | ||||
-rw-r--r-- | source/99_result/media/bottom.png | bin | 0 -> 1527 bytes | |||
-rw-r--r-- | source/99_result/media/favicon.ico | bin | 0 -> 1150 bytes | |||
-rw-r--r-- | source/99_result/media/me_header.jpg | bin | 0 -> 621043 bytes | |||
-rw-r--r-- | source/99_result/media/single.png | bin | 0 -> 263 bytes | |||
-rw-r--r-- | source/99_result/media/top.png | bin | 0 -> 1481 bytes | |||
-rw-r--r-- | source/99_result/page/page.xsl | 32 | ||||
-rw-r--r-- | source/99_result/stream.xsl | 97 | ||||
-rw-r--r-- | source/99_result/tag/tag.xsl | 40 |
13 files changed, 506 insertions, 0 deletions
diff --git a/source/99_result/archive.xsl b/source/99_result/archive.xsl new file mode 100644 index 0000000..909f77f --- /dev/null +++ b/source/99_result/archive.xsl @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" +> + +<xsl:include href="[utility/master.xsl]"/> + +<xsl:variable name="meta"> + <datasource type="main" mode="full" source="02_meta/articles.xml" target="articles"/> + <datasource type="support" mode="full" source="02_meta/meta.xml" target="meta"/> + <datasource type="support" mode="full" source="00_content/microblog.xml" target="microblog"/> + <target mode="plain" value="archive/index.html"/> +</xsl:variable> + +<xsl:template name="title-text">Archive</xsl:template> + +<xsl:template match="datasource"> + <div class="archiv columns"> + <xsl:apply-templates /> + </div> +</xsl:template> + +<xsl:template match="articles"> + <div class="column articlelist archivlist"> + <xsl:text>Past articles:</xsl:text> + <ol> + <xsl:apply-templates select="entry"/> + </ol> + </div> +</xsl:template> + +<xsl:template match="microblog"> + <div class="column taglist archivtag"> + <a href="https://twitter.com/KnairdA">Microblog:</a> + <ul class="prettylist"> + <xsl:apply-templates select="item[substring(text, 1, 1) != '@'][position() <= 9]" /> + </ul> + </div> +</xsl:template> + +<xsl:template match="articles/entry"> + <li class="dateitem"> + <xsl:value-of select="@handle"/> + </li> + <xsl:apply-templates /> +</xsl:template> + +<xsl:template match="entry/article"> + <li> + <a href="/article/{@handle}"> + <xsl:value-of select="title"/> + </a> + </li> +</xsl:template> + +<xsl:template match="microblog/item"> + <li> + <em>»</em> + <a href="{link}"> + <xsl:value-of select="text" disable-output-escaping="yes" /> + </a> + </li> +</xsl:template> + +</xsl:stylesheet> diff --git a/source/99_result/article/article.xsl b/source/99_result/article/article.xsl new file mode 100644 index 0000000..9ce19df --- /dev/null +++ b/source/99_result/article/article.xsl @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" +> + +<xsl:include href="[utility/master.xsl]"/> +<xsl:include href="[utility/date-time.xsl]"/> + +<xsl:variable name="meta"> + <datasource type="main" mode="iterate" source="01_data/articles.xml" target="article"/> + <datasource type="support" mode="full" source="02_meta/meta.xml" target="meta"/> + <target mode="xpath" value="concat($datasource/article/entry/@handle, '/index.html')"/> +</xsl:variable> + +<xsl:template name="title-text"> + <xsl:value-of select="/datasource/article/entry/title"/> +</xsl:template> + +<xsl:template match="article/entry"> + <div class="article"> + <h2> + <xsl:text>» </xsl:text> + <a href="/article/{@handle}"> + <xsl:value-of select="title"/> + </a> + </h2> + <p class="info"> + <xsl:call-template name="format-date"> + <xsl:with-param name="date" select="date/full"/> + <xsl:with-param name="format" select="'M x, Y'"/> + </xsl:call-template> + <xsl:text> | </xsl:text> + <xsl:for-each select="tags/tag"> + <a href="/tag/{.}"> + <xsl:value-of select="."/> + </a> + </xsl:for-each> + <xsl:text> | </xsl:text> + <xsl:value-of select="$root/meta/author"/> + <xsl:text> | </xsl:text> + <a href="#isso-thread">Comments</a> + </p> + <xsl:copy-of select="content/node()"/> + </div> + + <div id="isso-thread"></div> + + <script type="text/javascript" src="/comments/js/embed.min.js" data-isso-avatar="false" data-isso-vote="false" data-isso-css="false"> + <xsl:text> </xsl:text> + </script> +</xsl:template> + +</xsl:stylesheet> diff --git a/source/99_result/atom.xsl b/source/99_result/atom.xsl new file mode 100644 index 0000000..e67f89c --- /dev/null +++ b/source/99_result/atom.xsl @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" +> + +<xsl:output + method="xml" + omit-xml-declaration="no" + encoding="UTF-8" + indent="no" +/> + +<xsl:variable name="meta"> + <datasource type="main" mode="full" source="01_data/articles.xml" target="articles"/> + <datasource type="support" mode="full" source="02_meta/meta.xml" target="meta"/> + <target mode="plain" value="atom.xml"/> +</xsl:variable> + +<xsl:variable name="url" select="datasource/meta/url"/> +<xsl:variable name="author" select="datasource/meta/author"/> + +<xsl:template match="*" mode="xhtml_copy"> + <xsl:element name="{name()}" namespace="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates select="@*|node()" mode="xhtml_copy" /> + </xsl:element> +</xsl:template> + +<xsl:template match="@*|text()|comment()" mode="xhtml_copy"> + <xsl:copy/> +</xsl:template> + +<xsl:template match="/"> + <feed xmlns="http://www.w3.org/2005/Atom"> + <id><xsl:value-of select="$url"/></id> + <title><xsl:value-of select="datasource/meta/title"/></title> + <author> + <name> + <xsl:value-of select="$author"/> + </name> + </author> + + <xsl:apply-templates select="datasource/articles/entry[position() <= 5]"/> + </feed> +</xsl:template> + +<xsl:template match="datasource/articles/entry"> + <entry xmlns="http://www.w3.org/2005/Atom"> + <title><xsl:value-of select="title"/></title> + <link><xsl:value-of select="$url"/>/article/<xsl:value-of select="@handle"/></link> + <content type="xhtml"> + <div xmlns="http://www.w3.org/1999/xhtml"> + <xsl:apply-templates mode="xhtml_copy" select="content/node()" /> + </div> + </content> + <updated> + <xsl:value-of select="date/full"/> + <xsl:text>T00:00:01+02:00</xsl:text> + </updated> + </entry> +</xsl:template> + +</xsl:stylesheet> diff --git a/source/99_result/category/category.xsl b/source/99_result/category/category.xsl new file mode 100644 index 0000000..4b49705 --- /dev/null +++ b/source/99_result/category/category.xsl @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:xalan="http://xml.apache.org/xalan" + exclude-result-prefixes="xalan" +> + +<xsl:include href="[utility/master.xsl]"/> + +<xsl:variable name="meta"> + <datasource type="main" mode="iterate" source="02_meta/categories.xml" target="category"/> + <datasource type="support" mode="full" source="02_meta/meta.xml" target="meta"/> + <target mode="xpath" value="concat($datasource/category/entry/@handle, '/index.html')"/> +</xsl:variable> + +<xsl:template name="title-text"> + <xsl:value-of select="/datasource/category/entry/@handle"/> +</xsl:template> + +<xsl:template match="entry/page"> + <li> + <em>»</em> + <a href="/page/{@handle}"> + <strong><xsl:value-of select="title"/></strong> + <p> + <xsl:copy-of select="digest/node()"/> + </p> + </a> + </li> +</xsl:template> + +<xsl:template match="category/entry"> + <h3> + <xsl:text>All pages categorized as »</xsl:text> + <xsl:value-of select="@handle"/> + <xsl:text>«</xsl:text> + </h3> + <div class="archiv columns"> + <ul class="prettylist"> + <xsl:apply-templates select="page"> + <xsl:sort select="digest/@size" data-type="number" order="descending"/> + </xsl:apply-templates> + </ul> + </div> +</xsl:template> + +</xsl:stylesheet> diff --git a/source/99_result/main.css b/source/99_result/main.css new file mode 100644 index 0000000..4a4aab0 --- /dev/null +++ b/source/99_result/main.css @@ -0,0 +1,106 @@ +body{margin:0;padding:0;font:1em Droid Sans,sans-serif,Verdana,Arial,FreeSans;color:#272828;word-wrap:break-word} +p{margin:0;line-height:1.5em} +ul{margin:0;padding:0;list-style:none} +ul li{float:left;padding:0 .2em} +ul li.last_item{padding-right:0} +ul li a{text-decoration:none;color:#272828;background:#e3e8e8;border-radius:.3em;padding:.2em} +ul li a:hover{text-decoration:underline} +blockquote{border-left:.4em solid #e3e8e8;margin-left:0;padding-left:1em} +pre{padding:1em;border-radius:.75em;color:#f8f8f2;background:#272822;white-space:pre-wrap} +#wrapper{width:870px;margin:2em auto;background:url(media/top.png) no-repeat top center,url(media/bottom.png) no-repeat bottom center,url(media/single.png) repeat top center} +#content{width:720px;margin:0 auto;padding-top:70px;padding-bottom:70px} +#nav_wrap{overflow:hidden;border-bottom:.3em solid #e3e8e8;padding-bottom:.1em} +#nav_wrap ul{float:right;padding:.4em 0} +#nav_wrap h1{color:#F80;font-size:1.2em;font-weight:normal;float:left;padding:.2em;padding-left:0;margin:0} +#main{overflow:hidden} +#main .article{border-bottom:.3em dotted #e3e8e8;padding-bottom:.5em;margin-top:1em;text-align:justify} +#main .last{border:0} +#main p{margin-bottom:.7em} +#main h2{font-size:1.4em;margin:0;color:#F80} +#main h2 a{font-size:.8em;text-decoration:none !important;color:#272828;font-weight:normal;display:inline-block;vertical-align:middle;max-width:95%} +#main h2 a:hover{text-decoration:underline !important} +#main h3{font-size:1.05em;font-weight:normal;margin-bottom:.5em;border-bottom:.1em solid #e3e8e8} +#main h4{font-size:1.05em;font-weight:normal;margin-bottom:.5em;border-bottom:.1em solid #e3e8e8} +#main .article a{text-decoration:underline;color:#272828} +#main .article a:hover{color:black} +#main .article ul{float:none;margin-left:2em;text-align:left} +#main .article ul li{list-style-type:circle;float:none} +#main .article ul li a{background:0} +#main .article .info{font-size:.8em;margin-bottom:.5em;margin-left:1.5em} +#main .article .info a{text-decoration:none;color:#272828;margin:0 .1em 0 .1em} +#main .article .info a:hover{text-decoration:underline} +#main .article table{border-collapse:collapse;border-left:.4em solid #e3e8e8;margin:1em} +#main .article table thead{border-bottom:.1em solid #272828} +#main .article table tr{border-bottom:.1em solid #272828} +#main .article table tr:last-child{border-bottom:0} +#main .article table tr th{font-weight:normal;padding:.2em 1em} +#main .article table tr td{padding:.2em 1em} +#main .footnotes {border-top:.3em dotted #e3e8e8} +#main img{padding:.2em;border:.1em solid #e3e8e8;display:block;margin-left:auto;margin-right:auto} +#main img.full{max-width:100%} +#main img.clear{border:0} +#pagination{height:1.5em;margin-top:.5em} +#pagination span.disabled{display:none} +#pagination span a{text-decoration:none;color:#272828} +#pagination span a:hover{text-decoration:underline} +#pagination span a.pagination-previous{float:left} +#pagination span a.pagination-next{float:right} +#footer_wrap{overflow:hidden;border-top:.3em solid #e3e8e8} +#last_line{border-top:.3em solid #e3e8e8;height:1.5em;padding-top:.3em} +#last_line a{text-decoration:none;color:#272828} +#last_line a:hover{text-decoration:underline} +#last_line ul{margin-top:-0.2em;float:right;padding:.4em 0} +#isso-thread{margin-top:1em;font-size:.95em} +#isso-thread h4{font-weight:normal;font-size:1.25em;margin:0} +#isso-thread .form-wrapper{padding:1em;overflow:hidden} +#isso-thread .form-wrapper input{border:.3em solid #e3e8e8;margin:.3em 0 .3em 0} +#isso-thread .form-wrapper .textarea{border:.3em solid #e3e8e8;width:100%;height:8em;color:#272828} +#isso-thread .form-wrapper .placeholder{color:#858585} +#isso-thread .auth-section .input-wrapper{float:left;margin-right:.3em} +#isso-root{padding:1em} +#isso-root a{text-decoration:underline;color:#272828} +#isso-root a:hover{color:black} +#isso-root .isso-follow-up{margin-left:2em;padding-top:.5em} +#isso-root .isso-comment{border-top:.3em solid #e3e8e8;margin-bottom:.5em;text-align:justify} +#isso-root .isso-comment-header{font-size:.75em;padding:.3em 0 .3em 0} +#isso-root .isso-comment-header .spacer{visibility:hidden} +#isso-root .isso-comment-header a{text-decoration:none;margin:0 .1em 0 .1em} +#isso-root .isso-comment-header a:hover{text-decoration:underline} +#isso-root .isso-comment-footer{overflow:hidden;font-size:.75em} +#isso-root .isso-comment-footer .reply{float:right} +.archiv{margin-top:1em} +.columns{column-count:2;-moz-column-count:2;-webkit-column-count:2;column-gap:0;-moz-column-gap:0;-webkit-column-gap:0} +.columns a{color:#272828;text-decoration:none} +.columns a:hover{text-decoration:underline} +.column{-webkit-column-break-inside:avoid;-moz-column-break-inside:avoid;column-break-inside:avoid} +.taglist ul{padding:.2em;float:none;overflow:hidden} +.taglist ul li{margin:.2em 0 .2em 0;padding:.2em} +.articlelist ol{margin:0;padding:.3em;list-style:none} +.articlelist ol li{background:#e3e8e8;border-radius:.3em;margin:.2em;padding:.2em} +.articlelist ol li a{color:#272828;text-decoration:none} +.articlelist ol li a:hover{text-decoration:underline} +.archivlist ol{margin-top:.2em;border-top:.1em solid #e3e8e8} +.archivlist ol li{background:0;padding-left:1em;font-size:.8em} +.archivlist ol li.dateitem{padding:0;font-weight:bold} +.archivtag ul{margin-top:.2em;border-top:.1em solid #e3e8e8} +.archivtag div{overflow:hidden;margin-bottom:.5em} +.prettylist li{float:none;display:inline-block} +.prettylist li a{background:0} +.prettylist li p{margin:0 !important} +.prettylist li em{font-style:normal;font-size:1.4em;color:#F80} +.commentlist ol{margin-top:.2em;border-top:.1em solid #e3e8e8} +.commentlist ol li{background:0;font-size:.8em} +.commentlist ol li.dateitem{padding:0;font-weight:bold} +.lpos{float:left} +.rpos{float:right} +.mpos{margin:0 auto;display:block} + +@media screen and (max-width:870px){#wrapper{width:100%;margin:0;background:0} + #content{margin:0 auto;padding:0} +} +@media screen and (max-width:725px){#content{width:98%} + #main img{width:98%} + #main .article h2 a{max-width:90%} + .columns{column-count:1;-moz-column-count:1;-webkit-column-count:1} + .columns .column{width:100%} +} diff --git a/source/99_result/media/bottom.png b/source/99_result/media/bottom.png Binary files differnew file mode 100644 index 0000000..ff2afa7 --- /dev/null +++ b/source/99_result/media/bottom.png diff --git a/source/99_result/media/favicon.ico b/source/99_result/media/favicon.ico Binary files differnew file mode 100644 index 0000000..f5a9ac4 --- /dev/null +++ b/source/99_result/media/favicon.ico diff --git a/source/99_result/media/me_header.jpg b/source/99_result/media/me_header.jpg Binary files differnew file mode 100644 index 0000000..35249b8 --- /dev/null +++ b/source/99_result/media/me_header.jpg diff --git a/source/99_result/media/single.png b/source/99_result/media/single.png Binary files differnew file mode 100644 index 0000000..514d39a --- /dev/null +++ b/source/99_result/media/single.png diff --git a/source/99_result/media/top.png b/source/99_result/media/top.png Binary files differnew file mode 100644 index 0000000..ca71f84 --- /dev/null +++ b/source/99_result/media/top.png diff --git a/source/99_result/page/page.xsl b/source/99_result/page/page.xsl new file mode 100644 index 0000000..b703f46 --- /dev/null +++ b/source/99_result/page/page.xsl @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" +> + +<xsl:include href="[utility/master.xsl]"/> + +<xsl:variable name="meta"> + <datasource type="main" mode="iterate" source="01_data/pages.xml" target="page"/> + <datasource type="support" mode="full" source="02_meta/meta.xml" target="meta"/> + <target mode="xpath" value="concat($datasource/page/entry/@handle, '/index.html')"/> +</xsl:variable> + +<xsl:template name="title-text"> + <xsl:value-of select="/datasource/page/entry/title"/> +</xsl:template> + +<xsl:template match="page/entry"> + <div class="last article"> + <h2> + <xsl:text>» </xsl:text> + <a href="/page/{@handle}"> + <xsl:value-of select="title"/> + </a> + </h2> + <p class="info"/> + <xsl:copy-of select="content/*"/> + </div> +</xsl:template> + +</xsl:stylesheet> diff --git a/source/99_result/stream.xsl b/source/99_result/stream.xsl new file mode 100644 index 0000000..3fe93e1 --- /dev/null +++ b/source/99_result/stream.xsl @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" +> + +<xsl:include href="[utility/master.xsl]"/> +<xsl:include href="[utility/date-time.xsl]"/> + +<xsl:variable name="meta"> + <datasource type="main" mode="iterate" source="02_meta/paginated_articles.xml" target="page"/> + <datasource type="support" mode="full" source="02_meta/meta.xml" target="meta"/> + <datasource type="support" mode="full" source="01_data/articles.xml" target="articles"/> + <target mode="xpath" value="concat($datasource/page/entry/@index, '/index.html')"/> +</xsl:variable> + +<xsl:template name="title-text"> + <xsl:choose> + <xsl:when test="/datasource/page/entry/@index = 0"> + <xsl:text>Start</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>Page </xsl:text> + <xsl:value-of select="/datasource/page/entry/@index"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template name="get_article"> + <xsl:param name="handle"/> + + <xsl:variable name="article" select="$root/articles/entry[@handle = $handle]"/> + + <h2> + <xsl:text>» </xsl:text> + <a href="/article/{$handle}"> + <xsl:value-of select="$article/title"/> + </a> + </h2> + <p class="info"> + <xsl:call-template name="format-date"> + <xsl:with-param name="date" select="$article/date/full"/> + <xsl:with-param name="format" select="'M x, Y'"/> + </xsl:call-template> + <xsl:text> | </xsl:text> + <xsl:for-each select="$article/tags/tag"> + <a href="/tag/{.}"> + <xsl:value-of select="."/> + </a> + </xsl:for-each> + <xsl:text> | </xsl:text> + <xsl:value-of select="$root/meta/author"/> + </p> + <xsl:copy-of select="$article/content/*"/> +</xsl:template> + +<xsl:template match="page/entry"> + <xsl:apply-templates /> + + <div id="pagination"> + <xsl:if test="@index > 0"> + <span> + <a class="pagination-previous" href="/{@index - 1}"> + <xsl:text>« newer</xsl:text> + </a> + </span> + </xsl:if> + <xsl:if test="@index < @total - 1"> + <span> + <a class="pagination-next" href="/{@index + 1}"> + <xsl:text>older »</xsl:text> + </a> + </span> + </xsl:if> + </div> +</xsl:template> + +<xsl:template match="page/entry/article"> + <xsl:choose> + <xsl:when test="position() = last()"> + <div class="last article"> + <xsl:call-template name="get_article"> + <xsl:with-param name="handle" select="@handle"/> + </xsl:call-template> + </div> + </xsl:when> + <xsl:otherwise> + <div class="article"> + <xsl:call-template name="get_article"> + <xsl:with-param name="handle" select="@handle"/> + </xsl:call-template> + </div> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> diff --git a/source/99_result/tag/tag.xsl b/source/99_result/tag/tag.xsl new file mode 100644 index 0000000..a727111 --- /dev/null +++ b/source/99_result/tag/tag.xsl @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" +> + +<xsl:include href="[utility/master.xsl]"/> + +<xsl:variable name="meta"> + <datasource type="main" mode="iterate" source="02_meta/tags.xml" target="tag"/> + <datasource type="support" mode="full" source="02_meta/meta.xml" target="meta"/> + <target mode="xpath" value="concat($datasource/tag/entry/@handle, '/index.html')"/> +</xsl:variable> + +<xsl:template name="title-text"> + <xsl:value-of select="/datasource/tag/entry/@handle"/> +</xsl:template> + +<xsl:template match="tag/entry"> + <div class="archiv articlelist archivlist"> + <xsl:text>All articles tagged as »</xsl:text> + <xsl:value-of select="@handle"/> + <xsl:text>«</xsl:text> + <ol> + <xsl:apply-templates /> + </ol> + </div> +</xsl:template> + +<xsl:template match="tag/entry/article"> + <li> + <xsl:value-of select="date"/> + <xsl:text> » </xsl:text> + <a href="/article/{@handle}"> + <xsl:value-of select="title"/> + </a> + </li> +</xsl:template> + +</xsl:stylesheet> |