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.

199 lines
6.7KB

  1. {{ define "title" }}{{ end }}
  2. {{ define "scripts" }}{{ end }}
  3. {{ define "layout" }}
  4. <!DOCTYPE html>
  5. <html lang="en">
  6. <head>
  7. <meta charset="utf-8">
  8. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  9. <meta name="viewport" content="width=device-width, initial-scale=1">
  10. <title>{{ template "title" . }} - {{ .Title }}</title>
  11. <!-- Bootstrap -->
  12. <link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css">
  13. <!-- FontAwesome -->
  14. <link rel="stylesheet" type="text/css" href="/vendor/FontAwesome/css/fa-svg-with-js.css">
  15. <!-- Kirsle.net Flare -->
  16. <link rel="stylesheet" type="text/css" href="/flare/ui.css">
  17. <link rel="stylesheet" type="text/css" href="/solar/monokai.css">
  18. <link rel="stylesheet" type="text/css" href="/solar/vim-syntax.css">
  19. <link rel="alternate" type="application/rss+xml" title="Kirsle's RSS Feed" href="/blog.rss">
  20. <link rel="alternate" type="application/atom+xml" title="Kirsle's Atom Feed" href="/blog.atom">
  21. </head>
  22. <body>
  23. <div class="mobile-nav">
  24. <a href="#navbar" class="btn btn-primary"><i class="fas fa-bars"></i></a>
  25. </div>
  26. <div class="brand d-lg-none">
  27. <a href="/">
  28. <img src="/flare/cjk-48.png" width="48" height="48" alt="Kirsle.net logo">
  29. Kirsle.net
  30. </a>
  31. </div>
  32. <div class="wallpaper"></div>
  33. <div class="container-fluid">
  34. <div class="row">
  35. <div class="order-1 order-lg-12 col-12 col-lg-10 col-xl-8">
  36. <div class="content-panel mb-4">
  37. {{ if .SetupNeeded }}
  38. <div class="alert alert-success">
  39. Your web blog needs to be set up!
  40. Please <a href="/initial-setup">click here</a> to
  41. configure your blog.
  42. </div>
  43. {{ end }}
  44. {{ range .Flashes }}
  45. <div class="alert alert-success">
  46. {{ . }}
  47. </div>
  48. {{ end }}
  49. {{ if .Error }}
  50. <div class="alert alert-danger">
  51. <strong>Error:</strong> {{ .Error }}
  52. </div>
  53. {{ end }}
  54. {{ template "content" . }}
  55. {{ if and .CurrentUser.Admin .Editable (ne .TemplatePath ".markdown.gohtml") }}
  56. <p>
  57. <strong>Admin:</strong> [<a href="/admin/editor?file={{ .TemplatePath }}">edit this page</a>]
  58. </p>
  59. {{ end }}
  60. <div class="mt-4 copyright">
  61. Copyright &copy; {{ Now.Format "2006" }} Noah Petherbridge &mdash; All rights reserved<br>
  62. Hosted by <a href="https://www.digitalocean.com/?refcode=ea01734d3fc7">DigitalOcean</a><br>
  63. Page generated in <code>{{ printf "%.4f" .RequestDuration.Seconds }}s</code>.
  64. </div>
  65. </div>
  66. </div>
  67. <div id="navbar" class="nav-panel order-12 order-lg-1 col-12 col-lg-2">
  68. <div class="brand">
  69. <a href="/">
  70. <img src="/flare/cjk-48.png" width="48" height="48" alt="Kirsle.net logo">
  71. Kirsle.net
  72. </a>
  73. </div>
  74. <div class="mb-4 center d-lg-none">
  75. <a href="#"><i class="fa fa-arrow-up"></i> Back to Top</a>
  76. </div>
  77. <div class="mb-4">
  78. <ul class="list-unstyled">
  79. <li>&#0187; <a href="/">Homepage</a> <small>(<a href="/blog.rss">RSS</a>/<a href="/blog.atom">Atom</a>)</small></li>
  80. <li>&#0187; <a href="/about">About Me</a></li>
  81. <li>&#0187; <a href="/ask">Ask Me Anything</a></li>
  82. <!-- <li>&#0187; <a href="/photos/albums">Photo Albums</a></li> -->
  83. <li>&#0187; <a href="/current-projects">Current Projects</a></li>
  84. <li>&#0187; <a href="/wiki/Main-Page">My Wiki</a></li>
  85. <li>&#0187; <a href="/guestbook">Guestbook</a></li>
  86. <li>&#0187; <a href="/contact">Contact Me</a></li>
  87. <li>&#0187; <a href="/tagged">Blog Tags</a></li>
  88. <li>&#0187; <a href="/archive">Archive</a></li>
  89. </ul>
  90. <h2>Creativity</h2>
  91. <ul class="list-unstyled">
  92. <li>&#0187; <a href="/rendering">3D Renderings</a></li>
  93. <li>&#0187; <a href="/flash">Flash Animations</a></li>
  94. <li>&#0187; <a href="/javascript">JavaScript Games</a></li>
  95. <li>&#0187; <a href="/fonts">TrueType Fonts</a></li>
  96. <li>&#0187; <a href="/designs">Past Web Designs</a></li>
  97. </ul>
  98. <h2>Web Tools</h2>
  99. <ul class="list-unstyled">
  100. <li>&#0187; <a href="/wizards/ttf2eot.cgi">TTF to EOT Font Converter</a></li>
  101. <li>&#0187; <a href="/wizards/ps1.html">Bash $PS1 Prompt Generator</a></li>
  102. <li>&#0187; <a href="/wizards/fader.cgi">Text Color Fader</a></li>
  103. <li>&#0187; <a href="/wizards/translator.html">Azulian Translater</a></li>
  104. <li>&#0187; <a href="/wizards/flask-session.cgi">Flask Session Viewer</a></li>
  105. </ul>
  106. <h2>Out of Network</h2>
  107. <ul class="list-unstyled">
  108. <li>&#0187; <a href="https://github.com/kirsle" rel="me">Github</a></li>
  109. <li>&#0187; <a href="http://search.cpan.org/~kirsle" rel="me">CPAN</a></li>
  110. <li>&#0187; <a href="https://www.npmjs.org/~kirsle" rel="me">npm</a></li>
  111. </ul>
  112. <div class="center">
  113. <a href="https://validator.w3.org/check?uri=referer">
  114. <img src="/static/images/html5.png" width="80" height="15" alt="W3C Valid HTML5">
  115. </a><br>
  116. <a href="https://jigsaw.w3.org/css-validator/validator?uri=http://www.kirsle.com/solar/screen.css">
  117. <img src="/static/images/css3.png" width="80" height="15" alt="W3C Valid CSS3">
  118. </a><p>
  119. <a href="https://www.digitalocean.com/?refcode=ea01734d3fc7" target="_blank">
  120. <img src="/static/images/digital-ocean.png" width="140" height="39" alt="Proudly hosted by DigitalOcean">
  121. </a>
  122. </div>
  123. <ul class="list-unstyled">
  124. {{ if .LoggedIn }}
  125. <li>&#0164; Hi, <big><a href="/account">{{ or .CurrentUser.Name .CurrentUser.Username }}</a></big></li>
  126. {{ if .CurrentUser.Admin }}
  127. <li>&#0187; <a href="/admin">Admin Center</a></li>
  128. {{ end }}
  129. <li>&#0187; <a href="/blog/edit">Update Blog</a></li>
  130. <li>&#0187; <a href="/blog/drafts">Drafts</a>/<a href="/blog/private">Private</a></li>
  131. <li>&#0187; <a href="/logout">Log Out</a>
  132. {{ else }}
  133. <li id="login-link">
  134. <small><a href="/login" class="login-link text-muted">Log In</a></small>
  135. </li>
  136. {{ end }}
  137. </ul>
  138. <div id="login-inline" style="display: none">
  139. <form action="/login" method="POST">
  140. <input type="hidden" name="_csrf" value="{{ .CSRF }}">
  141. <input type="hidden" name="next" value="{{ .Path }}">
  142. <input type="text" class="form-control" size="4" name="username" style="display: inline; width: 46%">
  143. <input type="password" class="form-control" size="4" name="password" style="display: inline; width: 46%">
  144. <br>
  145. <button type="submit" class="btn btn-primary" style="width: 100%">Log In</button>
  146. </form>
  147. </div>
  148. </div>
  149. </div>
  150. </div>
  151. </div>
  152. <script src="/js/jquery-2.1.0.min.js"></script>
  153. <script src="/js/offsite.js"></script>
  154. <script src="/js/bootstrap.min.js"></script>
  155. <script src="/vendor/FontAwesome/js/fontawesome-all.min.js"></script>
  156. <script>
  157. $(document).ready(function() {
  158. $(".login-link").click(function() {
  159. $("#login-link").hide();
  160. $("#login-inline").show(500);
  161. return false;
  162. });
  163. });
  164. </script>
  165. {{ template "scripts" }}
  166. </body>
  167. </html>
  168. {{ end }}