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.
 
 
 
 

233 lines
8.7 KiB

  1. <!DOCTYPE html>
  2. <html lang="en">
  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" id="navbar">
  63. <div class="k-section">Kirsle</div>
  64. <ul>
  65. <li>&#0187; <a href="/">Homepage</a> (<a href="{{ url_for('blog.rss') }}">RSS</a>)</li>
  66. <li>&#0187; <a href="/about">About Me</a></li>
  67. <li>&#0187; <a href="/photos/albums">Photo Albums</a></li>
  68. <li>&#0187; <a href="/wiki/Main-Page">Wiki</a></li>
  69. <li>&#0187; <a href="/guestbook">Guestbook</a></li>
  70. <li>&#0187; <a href="/contact">Contact Me</a></li>
  71. </ul>
  72. <div class="k-section">Channels</div>
  73. {{ include_page("blog.partial_tags")|safe }}
  74. <div class="k-section">Creativity</div>
  75. <ul>
  76. <li>&#0187; <a href="/rendering">3D Renderings</a></li>
  77. <li>&#0187; <a href="/flash">Flash Animation</a></li>
  78. <li>&#0187; <a href="/javascript">JavaScript</a></li>
  79. <li>&#0187; <a href="/fonts">Fonts</a></li>
  80. <li>&#0187; <a href="/doc/">Tutorials</a></li>
  81. <li>&#0187; <a href="/designs">Web Design</a></li>
  82. </ul>
  83. <div class="k-section">Software</div>
  84. <ul>
  85. <li>&#0187; <a href="/rivescript">RiveScript</a></li>
  86. <li>&#0187; <a href="/errorgen">Error Generator</a></li>
  87. <li>&#0187; <a href="/tkcalc">Tk Calculator</a></li>
  88. <li>&#0187; <a href="http://sh.kirsle.net/" target="_blank">Terminal Apps</a></li>
  89. <li>&#0187; <a href="/pccc">CyanChat Client</a></li>
  90. </ul>
  91. <div class="k-section">Web Tools</div>
  92. <ul>
  93. <li>&#0187; <a href="/wizards/ttf2eot.cgi">TTF to EOT</a></li>
  94. <li>&#0187; <a href="/wizards/ps1.html">Bash $PS1 Prompt</a></li>
  95. <li>&#0187; <a href="/wizards/fader.cgi">Text Fader</a></li>
  96. <li>&#0187; <a href="/wizards/favicon.cgi">Favicons</a></li>
  97. <li>&#0187; <a href="/wizards/distance.cgi">Distance Calc</a></li>
  98. <li>&#0187; <a href="/wizards/translator.html">Azulian Translater</a></li>
  99. <li>&#0187; <a href="/wizards/xbmask.cgi">XBM Masks</a></li>
  100. <li>&#0187; <a href="/wizards/flask-session.cgi">Flask Session</a></li>
  101. </ul>
  102. <div class="k-section">Subdomains</div>
  103. <ul>
  104. <li>&#0187; <a href="https://rophako.kirsle.net/">Rophako CMS</a></li>
  105. <li>&#0187; <a href="https://mc.kirsle.net/">Minecraft Server</a></li>
  106. <li>&#0187; <a href="https://rpm.kirsle.net/">Linux RPMs</a></li>
  107. </ul>
  108. <div class="k-section">Miscellany</div>
  109. <ul>
  110. <li>&#0187; <a href="/firered">Pok&#0233;mon Fuchsia City</a></li>
  111. <li>&#0187; <a href="/msdos">DOS and Windows</a></li>
  112. <li>&#0187; <a href="/raspberrypi">Raspberry Pi</a></li>
  113. </ul>
  114. <div class="k-section">Social Links</div>
  115. <ul>
  116. <li>&#0187; <a href="https://www.google.com/+NoahPetherbridge" rel="me">Google+</a></li>
  117. <li>&#0187; <a href="https://www.facebook.com/noah.lee.petherbridge" rel="me">Facebook</a></li>
  118. <li>&#0187; <a href="https://twitter.com/kirsle" rel="me">Twitter</a></li>
  119. <li>&#0187; <a href="https://www.instagram.com/kirsle" rel="me">Instagram</a></li>
  120. <li>&#0187; <a href="https://myspace.com/kirsle" rel="me">MySpace</a></li>
  121. <li>&#0187; <a href="https://github.com/kirsle" rel="me">Github</a></li>
  122. <li>&#0187; <a href="http://search.cpan.org/~kirsle" rel="me">CPAN</a></li>
  123. <li>&#0187; <a href="https://www.npmjs.org/~kirsle" rel="me">npm</a></li>
  124. </ul>
  125. <br>
  126. {{ nav_ads() }}
  127. <br>
  128. <div class="k-section">Fan Club</div>
  129. <ul>
  130. {% if session["login"] %}
  131. <li>&#0164; Hi, <big>{{ session["name"] }}</big></li>
  132. {% if session["role"] == "admin" %}
  133. <li>&#0187; <a href="{{ url_for('admin.index') }}">Admin Center</a></li>
  134. {% endif %}
  135. <li>&#0187; <a href="{{ url_for('blog.update') }}">Update Blog</a></li>
  136. <li>&#0187; <a href="{{ url_for('blog.drafts') }}">Drafts</a>/<a href="{{ url_for('blog.private') }}">Private</a></li>
  137. {% if "impersonator" in session %}
  138. <li>&#0187; <a href="{{ url_for('admin.unimpersonate') }}">Unimpersonate</a></li>
  139. {% endif %}
  140. <li>&#0187; <a href="{{ url_for('account.logout') }}">Log Out</a>
  141. {% else %}
  142. <li id="login-link">&#0187; <a href="{{ url_for('account.login') }}" class="login-link">Log In</a></li>
  143. {% endif %}
  144. </ul>
  145. <div id="login-inline" style="display: none">
  146. <form action="{{ url_for('account.login') }}" method="POST">
  147. <input type="hidden" name="token" value="{{ csrf_token() }}">
  148. <input type="hidden" name="url" value="{{ request.path }}">
  149. <input type="text" class="form-control" size="4" name="username" style="display: inline; width: 45%">
  150. <input type="password" class="form-control" size="4" name="password" style="display: inline; width: 45%">
  151. <br>
  152. <button type="submit" class="btn btn-primary" style="width: 100%">Log In</button>
  153. </form>
  154. </div>
  155. <div class="center">
  156. <a href="https://www.python.org/" target="_blank">
  157. <img src="/static/images/python.png" width="80" height="15" alt="Python powered">
  158. </a><br>
  159. <a href="https://validator.w3.org/check?uri=referer">
  160. <img src="/static/images/html5.png" width="80" height="15" alt="W3C Valid HTML5">
  161. </a><br>
  162. <a href="https://jigsaw.w3.org/css-validator/validator?uri=http://www.kirsle.com/solar/screen.css">
  163. <img src="/static/images/css3.png" width="80" height="15" alt="W3C Valid CSS3">
  164. </a><p>
  165. <a href="https://www.digitalocean.com/?refcode=ea01734d3fc7" target="_blank">
  166. <img src="/static/images/digital-ocean.png" width="140" height="39" alt="Proudly hosted by DigitalOcean">
  167. </a>
  168. </div>
  169. </div>
  170. </div>
  171. </div>
  172. </div>
  173. <script type="text/javascript" src="/js/jquery-2.1.0.min.js"></script>
  174. <script type="text/javascript" src="/js/offsite.js"></script>
  175. <script type="text/javascript" src="/js/bootstrap.min.js"></script>
  176. <script type="text/javascript">
  177. $(document).ready(function() {
  178. $(".login-link").click(function() {
  179. $("#login-link").hide();
  180. $("#login-inline").show(500);
  181. return false;
  182. });
  183. });
  184. </script>
  185. {% block scripts %}{% endblock %}
  186. <!-- Google Analytics -->
  187. <script>
  188. (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  189. (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  190. m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  191. })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
  192. ga('create', 'UA-27498092-1', 'kirsle.net');
  193. ga('require', 'displayfeatures');
  194. ga('send', 'pageview');
  195. </script>
  196. </body>
  197. </html>