The web design and pages for my personal website.
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.
 
 
 
 

242 lines
11 KiB

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <title>{% block title %}{% endblock %} - Kirsle.net</title>
  8. <!-- Bootstrap -->
  9. <link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css">
  10. <link rel="stylesheet" type="text/css" href="/css/bootstrap-theme.min.css">
  11. <!-- Kirsle.net Solar -->
  12. <link rel="stylesheet" type="text/css" media="screen" href="/solar/ui.css">
  13. <link rel="stylesheet" type="text/css" media="print" href="/solar/print.css">
  14. <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
  15. <!--[if lt IE 9]>
  16. <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  17. <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  18. <![endif]-->
  19. </head>
  20. <body>
  21. {% from "google-ads.inc.html" import leaderboard, nav_ads %}
  22. <div class="k-supernova"></div>
  23. <div class="container-fluid">
  24. <div class="row">
  25. <div class="col-md-4 col-md-offset-3">
  26. <div class="k-kirsle" onclick="self.location='/'"></div>
  27. </div>
  28. </div>
  29. <div class="row">
  30. <div class="col-sm-10 col-sm-push-2">
  31. <div class="k-content-panel">
  32. {% with messages = get_flashed_messages() %}
  33. {% if messages %}
  34. <h1>Notice!</h1>
  35. <ul>
  36. {% for message in messages %}
  37. <li>{{ message }}</li>
  38. {% endfor %}
  39. </ul>
  40. {% endif %}
  41. {% endwith %}
  42. {% block content %}{% endblock %}
  43. {% if uri not in ["/", "/blog/index"] and not "/blog/category" in uri %}
  44. <br>
  45. {{ leaderboard() }}
  46. {% endif %}
  47. <div class="k-copyright">
  48. Copyright &copy; 2014 Noah Petherbridge &mdash; All rights reserved<br>
  49. Powered by <a href="http://rophako.kirsle.net/" target="_blank">{{ app["name"] }}</a> v{{ app["version"] }} -
  50. Hosted by <a href="https://www.digitalocean.com/?refcode=ea01734d3fc7">DigitalOcean</a><br>
  51. Page generated in %time_elapsed%s.
  52. </div>
  53. </div>
  54. </div>
  55. <div class="col-sm-2 col-sm-pull-10">
  56. <div class="k-navpanel">
  57. <div class="k-section">Kirsle</div>
  58. <ul>
  59. <li>&#0187; <a href="/">Homepage</a> (<a href="{{ url_for('blog.rss') }}">RSS</a>)</li>
  60. <li>&#0187; <a href="/about">About Me</a></li>
  61. <li>&#0187; <a href="/photos/albums">Photo Albums</a></li>
  62. <li>&#0187; <a href="/guestbook">Guestbook</a></li>
  63. <li>&#0187; <a href="/contact">Contact Me</a></li>
  64. </ul>
  65. <div class="k-section">Channels</div>
  66. <ul>
  67. <li>&#0187; <a href="{{ url_for('blog.archive') }}">Blog Archives</a></li>
  68. {{ include_page("blog.partial_tags")|safe }}
  69. </ul>
  70. <div class="k-section">Creativity</div>
  71. <ul>
  72. <li>&#0187; <a href="/rendering">3D Renderings</a></li>
  73. <li>&#0187; <a href="/flash">Flash Animation</a></li>
  74. <li>&#0187; <a href="/javascript">JavaScript</a></li>
  75. <li>&#0187; <a href="/fonts">Fonts</a></li>
  76. <li>&#0187; <a href="/metacity">Metacity</a></li>
  77. <li>&#0187; <a href="/doc/">Tutorials</a></li>
  78. </ul>
  79. <div class="k-section">Software</div>
  80. <ul>
  81. <li>&#0187; <a href="/rivescript">RiveScript</a></li>
  82. <li>&#0187; <a href="/errorgen">Error Generator</a></li>
  83. <li>&#0187; <a href="/tkcalc">Tk Calculator</a></li>
  84. <li>&#0187; <a href="http://sh.kirsle.net/" target="_blank">Terminal Apps</a></li>
  85. <li>&#0187; <a href="/pccc">CyanChat Client</a></li>
  86. </ul>
  87. <div class="k-section">Web Tools</div>
  88. <ul>
  89. <li>&#0187; <a href="/wizards/ttf2eot.cgi">TTF to EOT</a></li>
  90. <li>&#0187; <a href="/wizards/ps1.html">Base $PS1 Prompt</a></li>
  91. <li>&#0187; <a href="/wizards/fader.cgi">Text Fader</a></li>
  92. <li>&#0187; <a href="/wizards/favicon.cgi">Favicons</a></li>
  93. <li>&#0187; <a href="/wizards/distance.cgi">Distance Calc</a></li>
  94. <li>&#0187; <a href="/wizards/translator.html">Azulian Translater</a></li>
  95. <li>&#0187; <a href="/wizards/xbmask.cgi">XBM Masks</a></li>
  96. <li>&#0187; <a href="/wizards/flask-session.py">Flask Session</a></li>
  97. </ul>
  98. <div class="k-section">Subdomains</div>
  99. <ul>
  100. <li>&#0187; <a href="http://sh.kirsle.net/">Shell Scripts</a></li>
  101. <li>&#0187; <a href="http://rpm.kirsle.net/">Linux RPMs</a></li>
  102. <li>&#0187; <a href="http://rophako.kirsle.net/">Rophako CMS</a></li>
  103. <li>&#0187; <a href="http://nano.kirsle.net/">Kirsle::Nano</a></li>
  104. <li>&#0187; <a href="http://mc.kirsle.net/">Minecraft Server</a></li>
  105. </ul>
  106. <div class="k-section">Miscellany</div>
  107. <ul>
  108. <li>&#0187; <a href="/firered">Pok&#0233;mon Fuchsia City</a></li>
  109. <li>&#0187; <a href="/msdos">DOS and Windows</a></li>
  110. <li>&#0187; <a href="/raspberrypi">Raspberry Pi</a></li>
  111. </ul>
  112. <div class="k-section">Links</div>
  113. <ul>
  114. <li>&#0187; <a href="https://www.google.com/+NoahPetherbridge">Google+</a></li>
  115. <li>&#0187; <a href="https://twitter.com/kirsle">Twitter</a></li>
  116. <li>&#0187; <a href="https://myspace.com/kirsle">MySpace</a></li>
  117. <li>&#0187; <a href="https://github.com/kirsle">Github</a></li>
  118. <li>&#0187; <a href="http://search.cpan.org/~kirsle">CPAN</a></li>
  119. <li>&#0187; <a href="https://www.npmjs.org/~kirsle">npm</a></li>
  120. </ul>
  121. <br>
  122. {{ nav_ads() }}
  123. <br>
  124. <div class="k-section">Fan Club</div>
  125. <ul>
  126. {% if session["login"] %}
  127. <li>&#0164; Hi, <big>{{ session["name"] }}</big></li>
  128. {% if session["role"] == "admin" %}
  129. <li>&#0187; <a href="{{ url_for('admin.index') }}">Admin Center</a></li>
  130. {% endif %}
  131. <li>&#0187; <a href="{{ url_for('blog.update') }}">Update Blog</a></li>
  132. {% if "impersonator" in session %}
  133. <li>&#0187; <a href="{{ url_for('admin.unimpersonate') }}">Unimpersonate</a></li>
  134. {% endif %}
  135. <li>&#0187; <a href="{{ url_for('account.logout') }}">Log Out</a>
  136. {% else %}
  137. <li id="login-link">&#0187; <a href="{{ url_for('account.login') }}" class="login-link">Log In</a></li>
  138. {% endif %}
  139. </ul>
  140. <div id="login-inline" style="display: none">
  141. <form action="{{ url_for('account.login') }}" method="POST">
  142. <input type="hidden" name="token" value="{{ csrf_token() }}">
  143. <input type="hidden" name="url" value="{{ request.path }}">
  144. <input type="text" size="4" name="username" style="width: 45%">
  145. <input type="password" size="4" name="password" style="width: 45%">
  146. <br>
  147. <button type="submit" style="width: 100%">Log In</button>
  148. </form>
  149. </div>
  150. <div class="center">
  151. <a href="https://www.python.org/" target="_blank">
  152. <img src="/static/images/python.png" width="80" height="15" alt="Python powered">
  153. </a><br>
  154. <a href="http://validator.w3.org/check?uri=referer">
  155. <img src="/static/images/html5.png" width="80" height="15" alt="W3C Valid HTML5">
  156. </a><br>
  157. <a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.kirsle.com/solar/screen.css">
  158. <img src="/static/images/css3.png" width="80" height="15" alt="W3C Valid CSS3">
  159. </a><p>
  160. <a href="https://www.digitalocean.com/?refcode=ea01734d3fc7" target="_blank">
  161. <img src="/static/images/digital-ocean.png" width="140" height="39" alt="Proudly hosted by DigitalOcean">
  162. </a>
  163. </div>
  164. </div>
  165. </div>
  166. </div>
  167. </div>
  168. <script type="text/javascript" src="/js/jquery-2.1.0.min.js"></script>
  169. <script type="text/javascript" src="/js/offsite.js"></script>
  170. <script type="text/javascript" src="/js/bootstrap.min.js"></script>
  171. <script type="text/javascript">
  172. $(document).ready(function() {
  173. $(".login-link").click(function() {
  174. $("#login-link").hide();
  175. $("#login-inline").show(500);
  176. return false;
  177. });
  178. });
  179. </script>
  180. {% block scripts %}{% endblock %}
  181. <!-- Google Analytics -->
  182. <script>
  183. (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  184. (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  185. m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  186. })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
  187. ga('create', 'UA-27498092-1', 'kirsle.net');
  188. ga('require', 'displayfeatures');
  189. ga('send', 'pageview');
  190. </script>
  191. <!-- Piwik -->
  192. <script type="text/javascript">
  193. var _paq = _paq || [];
  194. _paq.push(['trackPageView']);
  195. _paq.push(['enableLinkTracking']);
  196. (function() {
  197. var u=(("https:" == document.location.protocol) ? "https" : "http") + "://www.kirsle.net/piwik/";
  198. _paq.push(['setTrackerUrl', u+'piwik.php']);
  199. _paq.push(['setSiteId', 1]);
  200. var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript';
  201. g.defer=true; g.async=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
  202. })();
  203. </script>
  204. <noscript><p><img src="http://www.kirsle.net/piwik/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
  205. <!-- End Piwik Code -->
  206. </body>
  207. </html>