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.
 
 
 
 

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