My static website generator using poole https://www.xythobuz.de
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

page.html 9.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="{{ htmlspecialchars(__encoding__) }}" />
  5. <title>{{ htmlspecialchars(page.title) }} - xythobuz.de</title>
  6. <meta name="description" content="{{ htmlspecialchars(page.get("description", "Electronics & Software Projects")) }}" />
  7. <meta name="keywords" content="{{ htmlspecialchars(page.get("keywords", "xythobuz")) }}" />
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  9. <link rel="author" href="xythobuz@xythobuz.de">
  10. <link rel="shortcut icon" href="img/favicon.ico">
  11. <link rel="alternate" type="application/rss+xml" title="Blog" href="rss.xml">
  12. <link type="text/css" rel="stylesheet" href="css/style.css" />
  13. <link type="text/css" rel="stylesheet" href="css/sh_bright.min.css" />
  14. <link type="text/css" rel="stylesheet" href="css/gh-fork-ribbon.css" />
  15. <link type="text/css" rel="stylesheet" href="https://fonts.googleapis.com/css?family=Droid+Sans:400,700">
  16. <link type="text/css" rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/lightgallery/1.2.18/css/lightgallery.min.css" />
  17. <script type="text/javascript" src="js/sh_main.js"></script>
  18. <!--%
  19. if page.get("flattr", "false") == "true":
  20. print "<script type='text/javascript'>"
  21. print "/* <![CDATA[ */"
  22. print "(function() {"
  23. print "var s = document.createElement('script');"
  24. print "var t = document.getElementsByTagName('script')[0];"
  25. print "s.type = 'text/javascript';"
  26. print "s.async = true;"
  27. print "s.src = '//api.flattr.com/js/0.6/load.js?mode=auto&uid=xythobuz&category=text';"
  28. print "t.parentNode.insertBefore(s, t);"
  29. print "})();"
  30. print "/* ]]> */"
  31. print "</script>"
  32. %-->
  33. </head>
  34. <body onload="sh_highlightDocument('/js/sh/', '.min.js');">
  35. <!--%
  36. if page.get("github", "") != "":
  37. # GitHub Fork-Me Ribbon
  38. print '<div class="github-fork-ribbon-wrapper right fixed">'
  39. print '<div class="github-fork-ribbon"><a href="'
  40. print page.github
  41. print '">Fork me on GitHub</a></div></div>'
  42. %-->
  43. <div id="nav">
  44. <ul>
  45. <li id="home"><a href="index.html">xythobuz.de</a></li>
  46. <!--%
  47. mpages = [p for p in pages if p.get("parent", "") == "main" and p.lang == "en"]
  48. mpages.sort(key=lambda p: int(p["position"]))
  49. entry = ' <li><a href="%s">%s</a></li>'
  50. for p in mpages[1:]:
  51. print(entry % (htmlspecialchars(p["url"]), htmlspecialchars(p["title"])))
  52. %-->
  53. <li><a href="https://github.com/xythobuz">GitHub</a></li>
  54. <li><a href="https://git.xythobuz.de/explore/repos">Git</a></li>
  55. <li><a href="lastmusic">🎵</a></li>
  56. <li><a href="printer.html">🔨</a></li>
  57. <div class="fonts">
  58. <li><span class="font-big">Text:</span></li>
  59. <li><a class="dec" href="#"><span class="font-big">A</span><span class="font-small">A</span></a></li>
  60. <li><a class="reset" href="#"><span class="font-big">A</span><span class="font-big">A</span></a></li>
  61. <li><a class="inc" href="#"><span class="font-small">A</span><span class="font-big">A</span></a></li>
  62. </div>
  63. <!--%
  64. tmp = [p for p in page["lang_links"].iteritems()]
  65. if len(tmp) > 1:
  66. print ' <li>'
  67. print " ".join(["<li><a href='%s'>%s</a></li>" % (url, lang) for lang, url in page["lang_links"].iteritems()]).replace(">en<", '><img src="img/en.png" alt="English"><').replace(">de<", '><img src="img/de.png" alt="Deutsch"><')
  68. print "</li>"
  69. %-->
  70. </ul>
  71. </div>
  72. <div id="content">
  73. {{ __content__ }}
  74. <!--%
  75. import sys
  76. # Centered DIV
  77. # Flattr Button
  78. if page.get("flattr", "false") == "true":
  79. print '<div style="margin-top: 1em; text-align: center;">'
  80. print '<span id="flattr">'
  81. sys.stdout.write('<a class="FlattrButton" href="')
  82. sys.stdout.write(BASE_URL)
  83. sys.stdout.write('/')
  84. sys.stdout.write(page.url)
  85. sys.stdout.write('" title="')
  86. sys.stdout.write(htmlspecialchars(page.title))
  87. sys.stdout.write('" data-flattr-button="compact">')
  88. sys.stdout.write(htmlspecialchars(page.get("description", page.title)))
  89. sys.stdout.write("</a>\n")
  90. print '</span>'
  91. print '</div>'
  92. # Disqus Comments (only show button to load afterwards)
  93. if page.get("comments", "false") == "true":
  94. print '<div style="margin-top: 1em; text-align: center;">'
  95. print '<button class="show-comments">Load Disqus comments</button>'
  96. print '</div>'
  97. print '<div id="disqus_thread"></div>'
  98. print '<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>'
  99. elif page.get("comments", "false") != "false":
  100. print '<p><a href="%s">Head over here to discuss this article!</a></p>' % page.get("comments", "false")
  101. %-->
  102. </div>
  103. <div id="footer">
  104. <a href="http://bitbucket.org/obensonne/poole">Poole</a>
  105. &middot;
  106. <a href="http://shjs.sourceforge.net">SHJS</a>
  107. &middot;
  108. <a href="https://github.com/sachinchoolur/lightGallery">lightGallery</a>
  109. &middot;
  110. <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">CC-BY</a>
  111. &middot;
  112. <a href="http://www.amazon.de/?_encoding=UTF8&amp;camp=1638&amp;creative=19454&amp;linkCode=ur2&amp;site-redirect=de&amp;tag=xythobuzorg-21">Amazon.de Affiliate</a>
  113. &middot;
  114. <a href="http://www.amazon.de/registry/wishlist/1TURV4XV2J3VT">Amazon.de Wishlist</a>
  115. &middot;
  116. <a href="http://steamcommunity.com/id/xythobuz/wishlist/?sort=price">Steam Wishlist</a>
  117. &middot;
  118. <a href="https://www.paypal.com/us/cgi-bin/webscr?cmd=_send-money&nav=1&email=xythobuz@me.com">PayPal</a>
  119. </div>
  120. <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
  121. <!--%
  122. # Dynamically load Disqus comments after user requested it
  123. if page.get("comments", "false") == "true":
  124. print '<script type="text/javascript">'
  125. print 'var disqus_shortname = "xythobuz";'
  126. print 'var disqus_identifier = "http://xythobuz.org/' + page["url"] + '";'
  127. print 'var disqus_url = "http://xythobuz.org/' + page["url"] + '";'
  128. print '$(document).ready(function() {'
  129. print '$(".show-comments").on("click", function(){'
  130. print '(function() {'
  131. print 'var dsq = document.createElement("script"); dsq.type = "text/javascript"; dsq.async = true;'
  132. print 'dsq.src = "http://" + disqus_shortname + ".disqus.com/embed.js";'
  133. print '(document.getElementsByTagName("head")[0] || document.getElementsByTagName("body")[0] ).appendChild(dsq);'
  134. print '})();'
  135. print '$(this).fadeOut();'
  136. print '});'
  137. print '});'
  138. print '</script>'
  139. %-->
  140. <script type="text/javascript">
  141. $(document).ready(function(){
  142. var fontSize = parseInt($('body').css('font-size'), 10);
  143. var initialFontSize = fontSize;
  144. $('.inc').on('click', function() {
  145. fontSize += 1;
  146. $('body').css('font-size', fontSize + 'px');
  147. })
  148. $('.dec').on('click', function() {
  149. if (fontSize > 1) {
  150. fontSize -= 1;
  151. $('body').css('font-size', fontSize + 'px');
  152. }
  153. })
  154. $('.reset').on('click', function() {
  155. if (fontSize != initialFontSize) {
  156. fontSize = initialFontSize;
  157. $('body').css('font-size', initialFontSize + 'px');
  158. }
  159. })
  160. })
  161. </script>
  162. <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js"></script>
  163. <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/lightgallery/1.2.18/js/lightgallery-all.min.js"></script>
  164. <script type="text/javascript">
  165. $(document).ready(function() {
  166. $(".lightgallery").lightGallery();
  167. });
  168. </script>
  169. <!-- Fathom - simple website analytics - https://github.com/usefathom/fathom -->
  170. <script>
  171. (function(f, a, t, h, o, m){
  172. a[h]=a[h]||function(){
  173. (a[h].q=a[h].q||[]).push(arguments)
  174. };
  175. o=f.createElement('script'),
  176. m=f.getElementsByTagName('script')[0];
  177. o.async=1; o.src=t; o.id='fathom-script';
  178. m.parentNode.insertBefore(o,m)
  179. })(document, window, '//stats.xythobuz.de/tracker.js', 'fathom');
  180. fathom('set', 'siteId', 'APYRK');
  181. fathom('trackPageview');
  182. </script>
  183. <!-- / Fathom -->
  184. </body>
  185. </html>