Commits

jason kirtland committed 7508097

Imported, extracted jek

Comments (0)

Files changed (41)

+env
+out
+/.*\.py.$
+

assets/disco-main1.xcf

Binary file added.

assets/disco-main2.xcf

Binary file added.

assets/disco-micro.xcf

Binary file added.

assets/disco-mini.xcf

Binary file added.

assets/discorporate.xcf

Binary file added.

assets/favicon.xcf

Binary file added.

assets/header-bg.xcf

Binary file added.

assets/x-bling.xcf

Binary file added.

assets/x-header-bg.xcf

Binary file added.
+[blatter]
+
+static_dir=static
+template_dir=templates
+dynamic_dir=site
+output_dir=out
+
+# 'publish' target can be configured or use --destination
+#publish_location=some.host:/remote/path/
+#publish_location=/local/path
+
+# 'serve' options
+index_document=index.html
+url_prefix=/
+
+# 'serve' can add other blatters into the URL space.  If a URL can't be
+# found in this blatter, each of the fallbacks will be tried in turn.
+# If the fallbacks themselves have fallbacks, they're tried as well.
+#
+# Fallbacks are useful for splitting a site into semi-independent
+# pieces.  For example, one might have separate blatters for '/'
+# (holding global images and css), a blatter for '/projects/', and
+# individual blatters for each project under /projects/.
+#
+#fallbacks=other_blatter
+#[fallback.other_blatter]
+#location=../other_blatter
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+  <head>
+    <title>discorporate</title>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
+    <link rel="stylesheet" href="/css/screen.css" type="text/css" media="screen, projection">
+
+    <style type="text/css">
+      html, body { width: 100%; }
+      body { background-color: #e3a41f; }
+      img { border: 0; }
+      p {
+        position: absolute;
+        left: 50%;
+        top: 40%;
+        margin: -100px 0 0 -200px;
+        text-align: center;
+      }
+      dl {
+        padding-left: 32px;
+      }
+      a, a:link {
+        color: #2069ae;
+        text-decoration: none;
+      }
+      a:visited, a:hover, a:active {
+          color: #3f7ab1;
+      }
+      a:hover {
+          text-decoration: underline;
+      }
+      a.out:after, .out_:after {
+          content: "»";
+          padding-left: 0.15em;
+          color: red;
+      }
+    </style>
+  </head>
+  <body>
+    <p>
+      <a href="/jek/"><img src="/i/disco-main.png" alt="discorporate
+      logo" width="400" height="200"></a>
+      <br>
+      <a href="/projects/">projects</a> |
+      <a href="/jek/">jason kirtland</a>
+    </p>
+  </body>
+</html>

site/projects/index.html

+{% extends "/projects/base.html" %}
+{% set title = "discorporate: projects" %}
+{% set section = 'projects' %}
+
+{% block content %}
+<hr class="space">
+<div class="span-22 push-1">
+
+<h2>discorporate projects</h2>
+<ul>
+  <li><a href="sliderepl/">sliderepl</a></li>
+  <li><a href="flatland/">flatland</a></li>
+</ul>
+
+<h2>jek's hacks</h2>
+<ul>
+  <li><a href="/jek/projects/wfront/">wfront</a></li>
+  <li><a href="/jek/projects/blatter/">blatter</a></li>
+</ul>
+</div>
+{% endblock %}

static/css/disco.css

+/* Copyright (c) Jason Kirtland */
+
+body {
+    margin-top: 0;
+    background: #F3C056 url(/i/body-bg.png) repeat;
+}
+
+.main {
+    background-color: #F8F4ED;
+    min-height: 50em;
+}
+
+a, a:link {
+    color: #2069ae;
+    text-decoration: none;
+}
+a:visited, a:hover, a:active {
+    color: #3f7ab1;
+}
+a:hover {
+    text-decoration: underline;
+}
+
+a.out:after, .out_:after {
+    content: "»";
+    padding-left: 0.15em;
+    color: red;
+}
+
+#header, #footer {
+    color: #7f7f7f;
+    font-size: 0.8em;
+}
+#header {
+    background: #e3a41f url(/i/bg3-lg-b.png) repeat-x left bottom;
+    margin-top: 12px;
+    background-color: #E3A41F;
+    border-radius: 8px 8px 0 0;
+    -moz-border-radius: 8px 8px 0 0;
+    -webkit-border-top-left-radius: 8px;
+    -webkit-border-top-right-radius: 8px;
+    height: 68px;
+}
+#header p, #footer p {
+    padding: 8px;
+    margin: 0;
+}
+
+#header img { float: left; }
+
+#footer {
+    margin-bottom: 6px;
+    background-color: #E3A41F;
+    background: #E3A41F url(/i/bg3-lg-t.png) repeat-x left top;
+    border-radius: 0 0 8px 8px;
+    -moz-border-radius: 0 0 8px 8px;
+    -webkit-border-bottom-left-radius: 8px;
+    -webkit-border-bottom-right-radius: 8px;
+}
+
+#header ul {
+    margin: 0 0 0 258px;
+    padding: 3px 0;
+    border-bottom: 1px solid #F3C056;
+}
+
+#header ul a, #header ul a:link, #header ul a:visited {
+    border: 1px solid #7f7f7f;
+    border-radius: 8px 2px 0 0;
+    -moz-border-radius: 8px 2px 0 0;
+    -webkit-border-top-left-radius: 8px;
+    -webkit-border-top-right-radius: 2px;
+    padding: 1px 0.5em;
+    color: #4f4f4f;
+    background-color: #f8f4ed;
+    text-decoration: none;
+    background-image: url(/i/x-bling-sm.png);
+    background-repeat: no-repeat;
+}
+
+#header ul a:hover, #header ul a:active, #header ul a:focus {
+    border: 1px solid #7f7f7f;
+    background-color: #7f7f7f;
+    color: #fff;
+}
+
+body.about #header a.about,
+  body.blog #header ul a.blog,
+  body.projects #header ul a.projects,
+  body.consulting #header ul a.consulting,
+  body.talks #header ul a.talks,
+  body.bookshelf #header ul a.bookshelf {
+    background-color: #F3C056;
+    border-color: #F3C66A;
+    color: #3f3f3f;
+}
+
+body.about #header a.about:hover,
+  body.blog #header ul a.blog:hover,
+  body.projects #header ul a.projects:hover,
+  body.consulting #header ul a.consulting:hover,
+  body.talks #header ul a.talks:hover,
+  body.bookshelf #header ul a.bookshelf:hover {
+    border-color: #7f7f7f;
+}
+
+#header li {
+    padding-right: 1px;
+    display: inline;
+}
+
+ul.b > li > a > img {
+    float: right;
+    margin-bottom: 1em;
+    padding-left: 0.5em;
+}
+ul.b > li {
+    clear: right;
+    list-style-type: none;
+    margin: 0 0 1em 0;
+    padding: 0;
+    border: solid #eec673;
+    border-width: 0 0 1px 2px;
+    min-height: 84px;
+}
+ul.b li li {
+    list-style-type: disc;
+    margin-bottom: 0.5em;
+}
+ul.b li div {
+    margin: 0.75em 2.5em;
+}
+ul.b li p {
+    display: inline;
+    font-size: 0.9em;
+}
+ul.b li div > br {
+    margin-bottom: 1em;
+}
+
+h3 { color: #332507; clear: both; }
+
+br.clear { clear: both }
+
+.bling {
+    background-image: url(/i/x-bling.png);
+    background-repeat: no-repeat;
+}
+
+blockquote.note {
+    border: solid #e2c62b 1px;
+    border-color: #e2c62b #cdb42c #cdb42c #e2c62b;
+    padding: 0 0.5em 0.25em 0.5em;
+    -moz-border-radius: 8px 0 0 0;
+    background-color: #f7da29;
+    margin-top: 2em;
+}
+blockquote.note p {
+    margin: 0;
+}
+blockquote.note .callout {
+    margin: -1em 0 0.5em 2em;
+    background-color: white;
+    width: 15em;
+    text-align: center;
+    font-weight: bold;
+    background-color: #f7da29;
+    border: solid #B7A32E 1px;
+    -moz-border-radius: 4px;
+    border-radius: 4px;

static/css/ie.css

+/* Derived from the Blueprint CSS Framework 0.7.1, MIT License
+   Copyright (c) 2007-2008 Olav Bjorkoy
+   Copyright (c) Jason Kirtland
+*/
+
+/* ie.css */
+body {text-align:center;}
+.container {text-align:left;}
+* html .column {overflow-x:hidden;}
+* html legend {margin:-18px -8px 16px 0;padding:0;}
+ol {margin-left:2em;}
+sup {vertical-align:text-top;}
+sub {vertical-align:text-bottom;}
+html>body p code {*white-space:normal;}
+hr {margin:-8px auto 11px;}
+.bling { background-image: none; }
+#header ul a { background-image: none !important;}

static/css/print.css

+/* Derived from the Blueprint CSS Framework 0.7.1, MIT License
+   Copyright (c) 2007-2008 Olav Bjorkoy
+*/
+
+/* print.css */
+body {line-height:1.5;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;color:#000;background:none;font-size:10pt;}
+.container {background:none;}
+hr {background:#ccc;color:#ccc;width:100%;height:2px;margin:2em 0;padding:0;border:none;}
+hr.space {background:#fff;color:#fff;}
+h1, h2, h3, h4, h5, h6 {font-family:"Helvetica Neue", Arial, "Lucida Grande", sans-serif;}
+code {font:.9em "Courier New", Monaco, Courier, monospace;}
+img {float:left;margin:1.5em 1.5em 1.5em 0;}
+a img {border:none;}
+p img.top {margin-top:0;}
+blockquote {margin:1.5em;padding:1em;font-style:italic;font-size:.9em;}
+.small {font-size:.9em;}
+.large {font-size:1.1em;}
+.quiet {color:#999;}
+.hide {display:none;}
+a:link, a:visited {background:transparent;font-weight:700;text-decoration:underline;}
+a:link:after, a:visited:after {content:" (" attr(href) ") ";font-size:90%;}

static/css/screen.css

+/* Derived from the Blueprint CSS Framework 0.7.1, MIT License
+   Copyright (c) 2007-2008 Olav Bjorkoy
+   Copyright (c) Jason Kirtland
+*/
+
+/* reset.css */
+html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;}
+body {line-height:1.5;}
+table {border-collapse:separate;border-spacing:0;}
+caption, th, td {text-align:left;font-weight:normal;}
+table, td, th {vertical-align:middle;}
+blockquote:before, blockquote:after, q:before, q:after {content:"";}
+blockquote, q {quotes:"" "";}
+a img {border:none;}
+
+/* typography.css */
+body {font-size:100%;color:#222;background:#fff;font-family:"Helvetica Neue", FreeSans, "Nimbus Sans L", Helvetica, Arial, sans-serif;}
+h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#111;}
+h1 {font-size:3em;line-height:1;margin-bottom:0.5em;}
+h2 {font-size:2em;margin-bottom:0.75em;}
+h3 {font-size:1.5em;line-height:1;margin-bottom:1em;}
+h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;height:1.25em;}
+h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
+h6 {font-size:1em;font-weight:bold;}
+h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
+p {margin:0 0 1.5em;}
+p img {float:left;margin:1.5em 1.5em 1.5em 0;padding:0;}
+p img.right {float:right;margin:1.5em 0 1.5em 1.5em;}
+a:focus, a:hover {color:#000;}
+a {color:#009;text-decoration:underline;}
+blockquote {margin:1.5em;color:#666;font-style:italic;}
+strong {font-weight:bold;}
+em, dfn {font-style:italic;}
+dfn {font-weight:bold;}
+sup, sub {line-height:0;}
+abbr, acronym {border-bottom:1px dotted #666;}
+address {margin:0 0 1.5em;font-style:italic;}
+del {color:#666;}
+pre, code {margin:1.5em 0;white-space:pre;}
+pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;}
+li ul, li ol {margin:0 1.5em;}
+ul, ol {margin:0 1.5em 1.5em 1.5em;}
+ul {list-style-type:disc;}
+ol {list-style-type:decimal;}
+dl {margin:0 0 1.5em 0;}
+dl dt {font-weight:bold;}
+dd {margin-left:1.5em;}
+table {margin-bottom:1.4em;width:100%;}
+th {font-weight:bold;background:#C3D9FF;}
+th, td {padding:4px 10px 4px 5px;}
+tr.even td {background:#E5ECF9;}
+tfoot {font-style:italic;}
+caption {background:#eee;}
+.small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
+.large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
+.hide {display:none;}
+.quiet {color:#666;}
+.loud {color:#000;}
+.highlight {background:#ff0;}
+.added {background:#060;color:#fff;}
+.removed {background:#900;color:#fff;}
+.first {margin-left:0;padding-left:0;}
+.last {margin-right:0;padding-right:0;}
+.top {margin-top:0;padding-top:0;}
+.bottom {margin-bottom:0;padding-bottom:0;}
+
+/* grid.css */
+.container {width:950px;margin:0 auto;}
+.showgrid {background:url(src/grid.png);}
+body {margin:1.5em 0;}
+div.span-1, div.span-2, div.span-3, div.span-4, div.span-5, div.span-6, div.span-7, div.span-8, div.span-9, div.span-10, div.span-11, div.span-12, div.span-13, div.span-14, div.span-15, div.span-16, div.span-17, div.span-18, div.span-19, div.span-20, div.span-21, div.span-22, div.span-23, div.span-24 {float:left;margin-right:10px;}
+div.last {margin-right:0;}
+.span-1 {width:30px;}
+.span-2 {width:70px;}
+.span-3 {width:110px;}
+.span-4 {width:150px;}
+.span-5 {width:190px;}
+.span-6 {width:230px;}
+.span-7 {width:270px;}
+.span-8 {width:310px;}
+.span-9 {width:350px;}
+.span-10 {width:390px;}
+.span-11 {width:430px;}
+.span-12 {width:470px;}
+.span-13 {width:510px;}
+.span-14 {width:550px;}
+.span-15 {width:590px;}
+.span-16 {width:630px;}
+.span-17 {width:670px;}
+.span-18 {width:710px;}
+.span-19 {width:750px;}
+.span-20 {width:790px;}
+.span-21 {width:830px;}
+.span-22 {width:870px;}
+.span-23 {width:910px;}
+.span-24, div.span-24 {width:950px;margin:0;}
+.append-1 {padding-right:40px;}
+.append-2 {padding-right:80px;}
+.append-3 {padding-right:120px;}
+.append-4 {padding-right:160px;}
+.append-5 {padding-right:200px;}
+.append-6 {padding-right:240px;}
+.append-7 {padding-right:280px;}
+.append-8 {padding-right:320px;}
+.append-9 {padding-right:360px;}
+.append-10 {padding-right:400px;}
+.append-11 {padding-right:440px;}
+.append-12 {padding-right:480px;}
+.append-13 {padding-right:520px;}
+.append-14 {padding-right:560px;}
+.append-15 {padding-right:600px;}
+.append-16 {padding-right:640px;}
+.append-17 {padding-right:680px;}
+.append-18 {padding-right:720px;}
+.append-19 {padding-right:760px;}
+.append-20 {padding-right:800px;}
+.append-21 {padding-right:840px;}
+.append-22 {padding-right:880px;}
+.append-23 {padding-right:920px;}
+.prepend-1 {padding-left:40px;}
+.prepend-2 {padding-left:80px;}
+.prepend-3 {padding-left:120px;}
+.prepend-4 {padding-left:160px;}
+.prepend-5 {padding-left:200px;}
+.prepend-6 {padding-left:240px;}
+.prepend-7 {padding-left:280px;}
+.prepend-8 {padding-left:320px;}
+.prepend-9 {padding-left:360px;}
+.prepend-10 {padding-left:400px;}
+.prepend-11 {padding-left:440px;}
+.prepend-12 {padding-left:480px;}
+.prepend-13 {padding-left:520px;}
+.prepend-14 {padding-left:560px;}
+.prepend-15 {padding-left:600px;}
+.prepend-16 {padding-left:640px;}
+.prepend-17 {padding-left:680px;}
+.prepend-18 {padding-left:720px;}
+.prepend-19 {padding-left:760px;}
+.prepend-20 {padding-left:800px;}
+.prepend-21 {padding-left:840px;}
+.prepend-22 {padding-left:880px;}
+.prepend-23 {padding-left:920px;}
+div.border {padding-right:4px;margin-right:5px;border-right:1px solid #eee;}
+div.colborder {padding-right:24px;margin-right:25px;border-right:1px solid #eee;}
+.pull-1 {margin-left:-40px;}
+.pull-2 {margin-left:-80px;}
+.pull-3 {margin-left:-120px;}
+.pull-4 {margin-left:-160px;}
+.pull-5 {margin-left:-200px;}
+.pull-6 {margin-left:-240px;}
+.pull-7 {margin-left:-280px;}
+.pull-8 {margin-left:-320px;}
+.pull-9 {margin-left:-360px;}
+.pull-10 {margin-left:-400px;}
+.pull-11 {margin-left:-440px;}
+.pull-12 {margin-left:-480px;}
+.pull-13 {margin-left:-520px;}
+.pull-14 {margin-left:-560px;}
+.pull-15 {margin-left:-600px;}
+.pull-16 {margin-left:-640px;}
+.pull-17 {margin-left:-680px;}
+.pull-18 {margin-left:-720px;}
+.pull-19 {margin-left:-760px;}
+.pull-20 {margin-left:-800px;}
+.pull-21 {margin-left:-840px;}
+.pull-22 {margin-left:-880px;}
+.pull-23 {margin-left:-920px;}
+.pull-24 {margin-left:-960px;}
+.pull-1, .pull-2, .pull-3, .pull-4, .pull-5, .pull-6, .pull-7, .pull-8, .pull-9, .pull-10, .pull-11, .pull-12, .pull-13, .pull-14, .pull-15, .pull-16, .pull-17, .pull-18, .pull-19, .pull-20, .pull-21, .pull-22, .pull-23, .pull-24 {float:left;position:relative;}
+.push-1 {margin:0 -40px 1.5em 40px;}
+.push-2 {margin:0 -80px 1.5em 80px;}
+.push-3 {margin:0 -120px 1.5em 120px;}
+.push-4 {margin:0 -160px 1.5em 160px;}
+.push-5 {margin:0 -200px 1.5em 200px;}
+.push-6 {margin:0 -240px 1.5em 240px;}
+.push-7 {margin:0 -280px 1.5em 280px;}
+.push-8 {margin:0 -320px 1.5em 320px;}
+.push-9 {margin:0 -360px 1.5em 360px;}
+.push-10 {margin:0 -400px 1.5em 400px;}
+.push-11 {margin:0 -440px 1.5em 440px;}
+.push-12 {margin:0 -480px 1.5em 480px;}
+.push-13 {margin:0 -520px 1.5em 520px;}
+.push-14 {margin:0 -560px 1.5em 560px;}
+.push-15 {margin:0 -600px 1.5em 600px;}
+.push-16 {margin:0 -640px 1.5em 640px;}
+.push-17 {margin:0 -680px 1.5em 680px;}
+.push-18 {margin:0 -720px 1.5em 720px;}
+.push-19 {margin:0 -760px 1.5em 760px;}
+.push-20 {margin:0 -800px 1.5em 800px;}
+.push-21 {margin:0 -840px 1.5em 840px;}
+.push-22 {margin:0 -880px 1.5em 880px;}
+.push-23 {margin:0 -920px 1.5em 920px;}
+.push-24 {margin:0 -960px 1.5em 960px;}
+.push-1, .push-2, .push-3, .push-4, .push-5, .push-6, .push-7, .push-8, .push-9, .push-10, .push-11, .push-12, .push-13, .push-14, .push-15, .push-16, .push-17, .push-18, .push-19, .push-20, .push-21, .push-22, .push-23, .push-24 {float:right;position:relative;}
+.box {padding:1.5em;margin-bottom:1.5em;background:#E5ECF9;}
+hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:.1em;margin:0 0 1.45em;border:none;}
+hr.space {background:#fff;color:#fff;}
+.clearfix:after, .container:after {content:".";display:block;height:0;clear:both;visibility:hidden;}
+.clearfix, .container {display:inline-block;}
+* html .clearfix, * html .container {height:1%;}
+.clearfix, .container {display:block;}
+.clear {clear:both;}
+
+/* forms.css */
+label {font-weight:bold;}
+fieldset {padding:1.4em;margin:0 0 1.5em 0;border:1px solid #ccc;}
+legend {font-weight:bold;font-size:1.2em;}
+input.text, input.title, textarea, select {margin:0.5em 0;border:1px solid #bbb;}
+input.text:focus, input.title:focus, textarea:focus, select:focus {border:1px solid #666;}
+input.text, input.title {width:300px;padding:5px;}
+input.title {font-size:1.5em;}
+textarea {width:390px;height:250px;padding:5px;}
+.error, .notice, .success {padding:.8em;margin-bottom:1em;border:2px solid #ddd;}
+.error {background:#FBE3E4;color:#8a1f11;border-color:#FBC2C4;}
+.notice {background:#FFF6BF;color:#514721;border-color:#FFD324;}
+.success {background:#E6EFC2;color:#264409;border-color:#C6D880;}
+.error a {color:#8a1f11;}
+.notice a {color:#514721;}
+.success a {color:#264409;}
+

static/favicon.ico

Added
New image

static/favicon.png

Added
New image

static/i/backy.png

Added
New image

static/i/backy2.png

Added
New image

static/i/bg-lg-b.png

Added
New image

static/i/bg-lg-t.png

Added
New image

static/i/bg-vs.png

Added
New image

static/i/bg2-lg-b.png

Added
New image

static/i/bg2.png

Added
New image

static/i/bg2r.png

Added
New image

static/i/bg3-lg-b.png

Added
New image

static/i/bg3-lg-t.png

Added
New image

static/i/body-bg.png

Added
New image

static/i/disco-lg.png

Added
New image

static/i/disco-main.png

Added
New image

static/i/disco-sm.png

Added
New image

static/i/disco-vs.png

Added
New image

static/i/disco1.png

Added
New image

static/i/disco2.png

Added
New image

static/i/discorporate.png

Added
New image

static/i/x-bling-sm.png

Added
New image

static/i/x-bling.png

Added
New image

templates/base.html

+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+{% set title = title | default('discorporate') %}
+<html>
+  <head>
+    <title>{{ title }}</title>
+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
+    <link rel="stylesheet" href="/css/screen.css" type="text/css" media="screen, projection">
+    <link rel="stylesheet" href="/css/disco.css" type="text/css" media="all">
+    <link rel="stylesheet" href="/css/print.css" type="text/css" media="print">
+    <!--[if IE]><link rel="stylesheet" href="/css/ie.css" type="text/css" media="screen, projection"><![endif]-->
+
+    {% block head_extra %}{% endblock %}
+  </head>
+
+  <body{% if section %} class="{{ section }}"{% endif %}>
+    <div class="container">
+      <div id="header">
+        {% block header %}
+        <img src="/i/disco-lg.png" alt="discorporate">
+          <ul>
+            <li><a class="discorporate" href="/">discorporate</a></li>
+          </ul>
+          {% endblock %}
+      </div>
+    </div>
+    <div class="main container">
+      {% block content %}
+      {% endblock %}
+    </div>
+    <div class="container">
+      <div id="footer" class="span-24 last">
+        {% block footer %}
+        <p>
+          &copy; jason kirtland &lt;jek discorporate us&gt;
+        </p>
+        {% endblock %}
+      </div>
+    </div>
+  </body>
+</html>
+

templates/projects/base.html

+{% extends "/base.html" %}
+{% block head_extra %}
+{{ super() }}
+<style type="text/css">
+body.projects #header a.projects {
+    background-color: #F3C056;
+    border-color: #F3C66A;
+    color: #3f3f3f;
+}
+
+body.projects #header a.projects:hover {
+    border-color: #7f7f7f;
+}
+</style>
+{% endblock %}
+{% block header %}
+        <img src="/i/disco-lg.png" alt="discorporate">
+          <ul>
+            <li><a class="projects" href="/projects">projects</a></li>
+          </ul>
+{% endblock %}
+{% block footer %}
+        <p>
+          &copy; jason kirtland &lt;jek discorporate us&gt;
+        </p>
+{% endblock %}
+