commit 52ff854d0165459caccffd6c4774f8f7977540a7
Author: mcol <mcol@posteo.net>
Date: Wed, 19 Aug 2020 01:05:50 +0100
init new theme
Diffstat:
16 files changed, 1380 insertions(+), 0 deletions(-)
diff --git a/readme.rst b/readme.rst
@@ -0,0 +1,4 @@
+mcol.xyz - pelican theme
+========================
+
+This is the Pelican theme that I use for mcol.xyz, where it can be seen.
diff --git a/static/cgit/cgit.png b/static/cgit/cgit.png
Binary files differ.
diff --git a/static/cgit/head-include.html b/static/cgit/head-include.html
@@ -0,0 +1,2 @@
+<meta name="author" content="mcol">
+<script data-goatcounter=https://goat.mcol.xyz/count async src=//goat.mcol.xyz/count.js></script>
diff --git a/static/cgit/header.html b/static/cgit/header.html
diff --git a/static/css/main.css b/static/css/main.css
@@ -0,0 +1,1168 @@
+/* 🐱 🐭 */
+
+
+/* COMMON */
+
+/* all colours are defined here */
+:root {
+ --trim: #5D479D; /* purple */
+
+ /* code colours */
+ --c0: #030405; /* dark */
+ --c1: #8742a5; /* red */
+ --c2: #e6df52; /* green */
+ --c3: #406794; /* yellow */
+ --c4: #8f4ff0; /* blue */
+ --c5: var(--trim); /* purple */
+ --c6: var(--text2); /* cyan */
+
+ /* mono font */
+ --mono: "Droid Sans Mono", "Lucida Console", Monaco, Inconsolata, monospace;
+}
+
+@viewport {
+ width: device-width;
+ zoom: 1.0;
+}
+
+@font-face {
+ font-family: lato;
+ src: url(/theme/webfonts/Lato-Regular.ttf);
+}
+
+html {
+ font-family: lato, "Liberation Sans", "DejaVu Sans", sans-serif;
+ font-size: 1.1em;
+}
+
+li {
+ list-style-type: square;
+}
+
+a {
+ border: solid 2px #fff;
+ color: inherit;
+}
+
+h1 {
+ font-size: 1.3em;
+ text-transform: capitalize;
+ text-decoration: none;
+}
+
+h1 a {
+ border: none;
+ text-decoration: none;
+}
+
+h1 a:hover {
+ border: none;
+}
+
+h2 {
+ padding-top: 1em;
+ font-size: 1.2em;
+}
+
+::selection {
+ background: var(--trim);
+ color: #fff;
+}
+
+a:hover {
+ color: #000;
+ border: solid 2px #000;
+}
+
+.fas {
+ vertical-align: -5%;
+}
+
+
+/* HOME PAGE */
+
+#home { /* this flex is only used on small screens */
+ display: flex;
+ height: 100%;
+ width: 100%;
+ justify-content: space-evenly;
+ align-items: center;
+}
+
+.win {
+ position: absolute;
+ border-color: #000;
+ margin: 10px 0;
+ font-family: var(--mono);
+ width: 428px;
+ height: 238px;
+ box-shadow: 12px 12px 0px rgba(0, 0, 0, 0.3);
+ border: 6px solid;
+ background-clip: padding-box;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+ flex: 0 0 auto;
+}
+
+.win:hover
+{
+ border-color: var(--trim);
+}
+
+@keyframes blink{50%{opacity:0;}}
+#c{
+ color: var(--trim);
+ animation: blink 2s step-start infinite;
+}
+
+#home2 {
+ top: calc(50% + 22px);
+ left: calc(50% - 352px);
+}
+
+#home1 {
+ top: calc(50% - 260px);
+ left: calc(50% - 88px);
+}
+
+.bar {
+ border-top-style: solid;
+ border-width: 18px;
+ border-color: inherit;
+}
+
+.wc {
+ font-size: 1.1em;
+ display: flex;
+ flex: 1 1 auto;
+ align-items: center;
+ justify-content: center;
+ align-self: center;
+ width: 75%;
+ line-height: 1.4em;
+ padding-bottom: 0.5em;
+}
+
+
+/* PAGES */
+
+body {
+ display: grid;
+ grid-template-columns: 35% 20%;
+ justify-content: center;
+ padding: 2%;
+}
+
+#side {
+ margin: 0 20px;
+}
+
+#side p {
+ padding: 6px 0;
+}
+
+.cen {
+ text-align: center;
+}
+
+.art {
+ padding-bottom: 20px;
+}
+
+footer {
+ font-family: var(--mono);
+ line-height: 0.8em;
+ margin: 20px 0;
+}
+
+.mod {
+ font-style: italic;
+}
+
+table {
+ border-collapse: collapse;
+}
+
+#page img, #page video {
+ max-width: 100%;
+ margin: 0 auto;
+ display: block;
+}
+
+#avatar {
+ width: 60%;
+ max-width: 200px;
+ margin: 30px auto;
+ display: block;
+}
+
+#avatar:hover {
+ transform: scaleX(-1);
+}
+
+#icons img {
+ padding: 1px;
+ border: solid 2px #fff;
+}
+
+#icons img:hover {
+ border: solid 2px #000;
+}
+
+#icons a {
+ border: none;
+}
+
+/* BLOGROLL */
+
+#blogroll li {
+ padding: 6px;
+}
+
+
+/* ARCHIVES */
+
+#ar {
+ display: grid;
+ grid-row-gap: 10px;
+ grid-template-columns: 5fr 1fr;
+}
+
+.ar h2 {
+ padding-top: 20px;
+ font-weight: bold;
+ grid-column: 1 / 2;
+}
+
+.ar-art {
+ padding-bottom: 10px;
+ grid-column: 1;
+}
+
+
+/* CGIT */
+
+#cgit {
+ font-size: 0.8em;
+ height: 100%;
+ width: 90%;
+ margin: 3% auto;
+}
+
+#cgit table#header {
+ width: 100%;
+ margin-bottom: 1em;
+}
+
+#cgit table#header td.logo {
+ width: 96px;
+ vertical-align: top;
+}
+
+#cgit table#header td.main {
+ font-size: 250%;
+ padding-left: 10px;
+ white-space: nowrap;
+}
+
+#cgit table#header td.form {
+ text-align: right;
+ vertical-align: bottom;
+ padding-right: 1em;
+ padding-bottom: 2px;
+ white-space: nowrap;
+}
+
+#cgit table#header td.form form,
+#cgit table#header td.form input,
+#cgit table#header td.form select {
+ font-size: 90%;
+}
+
+#cgit table#header td.sub {
+ font-family: var(--mono);
+ color: #777;
+ border-top: solid 1px #ccc;
+ padding-left: 10px;
+}
+
+#cgit table.tabs {
+ border-bottom: solid 3px #ccc;
+ margin-top: 2em;
+ margin-bottom: 0px;
+ width: 100%;
+}
+
+#cgit table.tabs td {
+ padding: 0px 1em;
+ vertical-align: bottom;
+}
+
+#cgit table.tabs td a {
+ padding: 2px 0.75em;
+ font-size: 1.1em;
+}
+
+#cgit table.tabs td a.active {
+ color: #000;
+ background-color: #ccc;
+}
+
+#cgit table.tabs a[href^="http://"]:after, #cgit table.tabs a[href^="https://"]:after {
+ content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAQAAAAnOwc2AAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfgAhcJDQY+gm2TAAAAHWlUWHRDb21tZW50AAAAAABDcmVhdGVkIHdpdGggR0lNUGQuZQcAAABbSURBVAhbY2BABs4MU4CwhYHBh2Erww4wrGFQZHjI8B8IgUIscJWyDHcggltQhI4zGDCcRwhChPggHIggP1QoAVmQkSETrGoHsiAEsACtBYN0oDAMbgU6EBcAAL2eHUt4XUU4AAAAAElFTkSuQmCC);
+ opacity: 0.5;
+ margin: 0 0 0 5px;
+}
+
+#cgit table.tabs td.form {
+ text-align: right;
+}
+
+#cgit table.tabs td.form form {
+ padding-bottom: 2px;
+ font-size: 90%;
+ white-space: nowrap;
+}
+
+#cgit table.tabs td.form input,
+#cgit table.tabs td.form select {
+ font-size: 90%;
+}
+
+#cgit div.path {
+ padding: 5px 2em 2px 2em;
+ color: #000;
+ background-color: #eee;
+}
+
+#cgit div.content {
+ padding: 2em;
+ border-bottom: solid 3px #ccc;
+}
+
+
+#cgit table.list {
+ width: 100%;
+ border: none;
+}
+
+#cgit table.list tr:hover,
+#cgit table.list tr.logheader {
+ background: #eee;
+}
+
+
+#cgit table.list tr.nohover-highlight:hover:nth-child(even),
+#cgit table.list tr:nth-child(even) {
+ background: #f7f7f7;
+}
+
+#cgit table.list tr.nohover-highlight:hover:nth-child(odd),
+#cgit table.list tr.nohover,
+#cgit table.list tr,
+#cgit table.list td a:hover,
+#cgit table.list tr:nth-child(odd),
+#cgit pager a,
+#cgit table.blame div.alt:nth-child(odd)
+{
+ background: #fff; /* TODO */
+}
+
+#cgit table.list th {
+ font-weight: bold;
+ padding: 0.1em 0.5em 0.05em 0.5em;
+ vertical-align: baseline;
+}
+
+#cgit table.list td {
+ border: none;
+ padding: 0.1em 0.5em 0.1em 0.5em;
+}
+
+#cgit table.list td.logmsg {
+ font-family: var(--mono);
+ white-space: pre;
+ padding: 0 0.5em;
+}
+
+#cgit table.list td a {
+ color: black;
+}
+
+#cgit table.list td a.ls-dir {
+ font-weight: bold;
+ color: var(--c4);
+}
+
+#cgit input#switch-btn {
+ margin: 2px 0px 0px 0px;
+}
+
+#cgit td#sidebar input.txt {
+ width: 100%;
+ margin: 2px 0px 0px 0px;
+}
+
+#cgit table#grid {
+ margin: 0px;
+}
+
+#cgit td#content {
+ vertical-align: top;
+ padding: 1em 2em 1em 1em;
+ border: none;
+}
+
+#cgit div#summary {
+ vertical-align: top;
+ margin: 0 auto;
+ width: 75%;
+}
+
+#cgit table#downloads {
+ float: right;
+ border: solid 1px #777;
+ margin-left: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+#cgit table#downloads th {
+ background-color: #ccc;
+}
+
+#cgit div#blob {
+ border: solid 1px black;
+}
+
+#cgit div.error {
+ color: red;
+ font-weight: bold;
+ margin: 1em 2em;
+}
+
+#cgit a.ls-blob, #cgit a.ls-dir, #cgit .ls-mod {
+ font-family: var(--mono);
+}
+
+#cgit td.ls-size {
+ text-align: right;
+ font-family: var(--mono);
+ width: 10em;
+}
+
+#cgit td.ls-mode {
+ font-family: var(--mono);
+ width: 10em;
+}
+
+#cgit table.blob {
+ margin-top: 0.5em;
+ border-top: solid 1px black;
+}
+
+#cgit table.blob td.hashes,
+#cgit table.blob td.lines {
+ margin: 0; padding: 0 0 0 0.5em;
+ vertical-align: top;
+ color: black;
+}
+
+#cgit table.blob td.linenumbers {
+ margin: 0; padding: 0 0.5em 0 0.5em;
+ vertical-align: top;
+ text-align: right;
+ border-right: 1px solid gray;
+}
+
+#cgit table.blob pre {
+ padding: 0; margin: 0;
+}
+
+#cgit table.blob td.linenumbers a,
+#cgit table.ssdiff td.lineno a {
+ color: gray;
+ text-align: right;
+ text-decoration: none;
+}
+
+#cgit table.blob td.linenumbers a:hover,
+#cgit table.ssdiff td.lineno a:hover {
+ color: black;
+}
+
+#cgit table.blame td.hashes,
+#cgit table.blame td.lines,
+#cgit table.blame td.linenumbers {
+ padding: 0;
+}
+
+#cgit table.blame td.hashes div.alt,
+#cgit table.blame td.lines div.alt {
+ padding: 0 0.5em 0 0.5em;
+}
+
+#cgit table.blame td.linenumbers div.alt {
+ padding: 0 0.5em 0 0;
+}
+
+#cgit table.blame div.alt:nth-child(even) {
+ background: #eee;
+}
+
+#cgit table.blame td.lines > div {
+ position: relative;
+}
+
+#cgit table.blame td.lines > div > pre {
+ padding: 0 0 0 0.5em;
+ position: absolute;
+ top: 0;
+}
+
+#cgit table.bin-blob {
+ margin-top: 0.5em;
+ border: solid 1px black;
+}
+
+#cgit table.bin-blob th {
+ font-family: var(--mono);
+ white-space: pre;
+ border: solid 1px #777;
+ padding: 0.5em 1em;
+}
+
+#cgit table.bin-blob td {
+ font-family: var(--mono);
+ white-space: pre;
+ border-left: solid 1px #777;
+ padding: 0em 1em;
+}
+
+#cgit table.nowrap td {
+ white-space: nowrap;
+}
+
+#cgit table.commit-info {
+ margin-top: 1.5em;
+}
+
+#cgit div.cgit-panel {
+ float: right;
+ margin-top: 1.5em;
+}
+
+#cgit div.cgit-panel table {
+ border: solid 1px #aaa;
+ background-color: #eee;
+}
+
+#cgit div.cgit-panel th {
+ text-align: center;
+}
+
+#cgit div.cgit-panel td {
+ padding: 0.25em 0.5em;
+}
+
+#cgit div.cgit-panel td.label {
+ padding-right: 0.5em;
+}
+
+#cgit div.cgit-panel td.ctrl {
+ padding-left: 0.5em;
+}
+
+#cgit table.commit-info th {
+ text-align: left;
+ font-weight: normal;
+ padding: 0.1em 1em 0.1em 0.1em;
+ vertical-align: top;
+}
+
+#cgit table.commit-info td {
+ font-weight: normal;
+ padding: 0.1em 1em 0.1em 0.1em;
+}
+
+#cgit div.commit-subject {
+ font-weight: bold;
+ font-size: 125%;
+ margin: 1.5em 0em 0.5em 0em;
+ padding: 0em;
+}
+
+#cgit div.commit-msg {
+ white-space: pre;
+ font-family: var(--mono);
+}
+
+#cgit div.notes-header {
+ font-weight: bold;
+ padding-top: 1.5em;
+}
+
+#cgit div.notes {
+ white-space: pre;
+ font-family: var(--mono);
+ border: solid 1px #ee9;
+ background-color: #ffd;
+ padding: 0.3em 2em 0.3em 1em;
+ float: left;
+}
+
+#cgit div.notes-footer {
+ clear: left;
+}
+
+#cgit div.diffstat-header {
+ font-weight: bold;
+ padding-top: 1.5em;
+}
+
+#cgit table.diffstat {
+ border: solid 1px #aaa;
+ background-color: #eee;
+}
+
+#cgit table.diffstat th {
+ font-weight: normal;
+ text-align: left;
+ text-decoration: underline;
+ padding: 0.1em 1em 0.1em 0.1em;
+ font-size: 100%;
+}
+
+#cgit table.diffstat td {
+ padding: 0.2em 0.2em 0.1em 0.1em;
+ font-size: 100%;
+ border: none;
+}
+
+#cgit table.diffstat td.mode {
+ white-space: nowrap;
+}
+
+#cgit table.diffstat td span.modechange {
+ padding-left: 1em;
+ color: red;
+}
+
+#cgit table.diffstat td.add a {
+ color: green;
+}
+
+#cgit table.diffstat td.del a {
+ color: red;
+}
+
+#cgit table.diffstat td.graph {
+ width: 500px;
+ vertical-align: middle;
+}
+
+#cgit table.diffstat td.graph table {
+ border: none;
+}
+
+#cgit table.diffstat td.graph td {
+ padding: 0px;
+ border: 0px;
+ height: 7pt;
+}
+
+#cgit table.diffstat td.graph td.add {
+ background-color: #5c5;
+}
+
+#cgit table.diffstat td.graph td.rem {
+ background-color: #c55;
+}
+
+#cgit div.diffstat-summary {
+ color: #888;
+ padding-top: 0.5em;
+}
+
+#cgit table.diff {
+ width: 75%;
+ font-size: 0.9em;
+}
+
+#cgit table.diff td {
+ font-family: var(--mono);
+ white-space: pre;
+}
+
+#cgit table.diff td div.head {
+ font-weight: bold;
+ margin-top: 1em;
+ color: black;
+}
+
+#cgit table.diff td div.hunk {
+ color: #009;
+}
+
+#cgit table.diff td div.add {
+ color: green;
+}
+
+#cgit table.diff td div.del {
+ color: red;
+}
+
+#cgit .sha1 {
+ font-family: var(--mono);
+ font-size: 90%;
+}
+
+#cgit .left {
+ text-align: left;
+}
+
+#cgit .right {
+ display: none;
+}
+
+#cgit table.list td.reposection {
+ font-style: italic;
+ color: #888;
+}
+
+#cgit a.button {
+ font-size: 80%;
+ padding: 0em 0.5em;
+}
+
+#cgit a.secondary {
+ font-size: 90%;
+}
+
+#cgit table.list td.sublevel-repo {
+ padding-left: 1.5em;
+}
+
+#cgit ul.pager {
+ list-style-type: none;
+ text-align: center;
+ margin: 1em 0 0 0;
+}
+
+#cgit ul.pager li {
+ display: inline-block;
+ margin: 0.25em 0.5em;
+}
+
+#cgit ul.pager .current {
+ font-weight: bold;
+}
+
+#cgit span.age-mins {
+ font-weight: bold;
+ color: #080;
+}
+
+#cgit span.age-hours {
+ color: #080;
+}
+
+#cgit span.age-days {
+ color: #040;
+}
+
+#cgit span.age-weeks {
+ color: #444;
+}
+
+#cgit span.age-months {
+ color: #888;
+}
+
+#cgit span.age-years {
+ color: #bbb;
+}
+
+#cgit span.insertions {
+ color: #080;
+}
+
+#cgit span.deletions {
+ color: #800;
+}
+
+#cgit div.footer {
+ margin: 0.5em 0;
+ text-align: center;
+ font-size: 80%;
+ color: #ccc;
+}
+
+#cgit div.footer a {
+ color: #ccc;
+}
+
+#cgit a.branch-deco {
+ color: #000;
+ margin: 0px 0.5em;
+ padding: 0px 0.25em;
+ background-color: #88ff88;
+ border: solid 1px #007700;
+}
+
+#cgit a.tag-deco {
+ color: #000;
+ margin: 0px 0.5em;
+ padding: 0px 0.25em;
+ background-color: #ffff88;
+ border: solid 1px #777700;
+}
+
+#cgit a.tag-annotated-deco {
+ color: #000;
+ margin: 0px 0.5em;
+ padding: 0px 0.25em;
+ background-color: #ffcc88;
+ border: solid 1px #777700;
+}
+
+#cgit a.remote-deco {
+ color: #000;
+ margin: 0px 0.5em;
+ padding: 0px 0.25em;
+ background-color: #ccccff;
+ border: solid 1px #000077;
+}
+
+#cgit a.deco {
+ color: #000;
+ margin: 0px 0.5em;
+ padding: 0px 0.25em;
+ background-color: #ff8888;
+ border: solid 1px #770000;
+}
+
+#cgit div.commit-subject a.branch-deco,
+#cgit div.commit-subject a.tag-deco,
+#cgit div.commit-subject a.tag-annotated-deco,
+#cgit div.commit-subject a.remote-deco,
+#cgit div.commit-subject a.deco {
+ margin-left: 1em;
+ font-size: 75%;
+}
+
+#cgit table.stats {
+ border: solid 1px black;
+}
+
+#cgit table.stats th {
+ text-align: left;
+ padding: 1px 0.5em;
+ background-color: #eee;
+ border: solid 1px black;
+}
+
+#cgit table.stats td {
+ text-align: right;
+ padding: 1px 0.5em;
+ border: solid 1px black;
+}
+
+#cgit table.stats td.total {
+ font-weight: bold;
+ text-align: left;
+}
+
+#cgit table.stats td.sum {
+ font-weight: bold;
+}
+
+#cgit table.stats td.left {
+ text-align: left;
+}
+
+#cgit table.vgraph {
+ border: solid 1px black;
+ height: 200px;
+}
+
+#cgit table.vgraph th {
+ background-color: #eee;
+ font-weight: bold;
+ border: solid 1px var(--bg);
+ padding: 1px 0.5em;
+}
+
+#cgit table.vgraph td {
+ vertical-align: bottom;
+ padding: 0px 10px;
+}
+
+#cgit table.vgraph div.bar {
+ background-color: #eee;
+}
+
+#cgit table.hgraph {
+ border: solid 1px black;
+ width: 800px;
+}
+
+#cgit table.hgraph th {
+ background-color: #eee;
+ font-weight: bold;
+ border: solid 1px black;
+ padding: 1px 0.5em;
+}
+
+#cgit table.hgraph td {
+ vertical-align: middle;
+ padding: 2px 2px;
+}
+
+#cgit table.hgraph div.bar {
+ background-color: #eee;
+ height: 1em;
+}
+
+#cgit table.ssdiff {
+ width: 100%;
+}
+
+#cgit table.ssdiff td {
+ font-size: 75%;
+ font-family: var(--mono);
+ white-space: pre;
+ padding: 1px 4px 1px 4px;
+ border-left: solid 1px #aaa;
+ border-right: solid 1px #aaa;
+}
+
+#cgit table.ssdiff td.add {
+ color: black;
+ background: #cfc;
+ min-width: 50%;
+}
+
+#cgit table.ssdiff td.add_dark {
+ color: black;
+ background: #aca;
+ min-width: 50%;
+}
+
+#cgit table.ssdiff span.add {
+ background: #cfc;
+ font-weight: bold;
+}
+
+#cgit table.ssdiff td.del {
+ color: black;
+ background: #fcc;
+ min-width: 50%;
+}
+
+#cgit table.ssdiff td.del_dark {
+ color: black;
+ background: #caa;
+ min-width: 50%;
+}
+
+#cgit table.ssdiff span.del {
+ background: #fcc;
+ font-weight: bold;
+}
+
+#cgit table.ssdiff td.changed {
+ color: black;
+ background: #ffc;
+ min-width: 50%;
+}
+
+#cgit table.ssdiff td.changed_dark {
+ color: black;
+ background: #cca;
+ min-width: 50%;
+}
+
+#cgit table.ssdiff td.lineno {
+ color: black;
+ background: #eee;
+ text-align: right;
+ width: 3em;
+ min-width: 3em;
+}
+
+#cgit table.ssdiff td.hunk {
+ color: black;
+ background: #ccf;
+ border-top: solid 1px #aaa;
+ border-bottom: solid 1px #aaa;
+}
+
+#cgit table.ssdiff td.head {
+ border-top: solid 1px #aaa;
+ border-bottom: solid 1px #aaa;
+}
+
+#cgit table.ssdiff td.head div.head {
+ font-weight: bold;
+ color: black;
+}
+
+#cgit table.ssdiff td.foot {
+ border-top: solid 1px #aaa;
+ border-left: none;
+ border-right: none;
+ border-bottom: none;
+}
+
+#cgit table.ssdiff td.space {
+ border: none;
+}
+
+#cgit table.ssdiff td.space div {
+ min-height: 3em;
+}
+
+#cgit table.blob .num { color:#b07e00; }
+#cgit table.blob .esc { color:#ff00ff; }
+#cgit table.blob .str { color:#bf0303; }
+#cgit table.blob .pps { color:#818100; }
+#cgit table.blob .slc { color:#838183; font-style:italic; }
+#cgit table.blob .com { color:#838183; font-style:italic; }
+#cgit table.blob .ppc { color:#008200; }
+#cgit table.blob .opt { color:#000000; }
+#cgit table.blob .lin { color:#555555; }
+#cgit table.blob .kwa { color:#000000; font-weight:bold; }
+#cgit table.blob .kwb { color:#0057ae; }
+#cgit table.blob .kwc { color:#000000; font-weight:bold; }
+#cgit table.blob .kwd { color:#010181; }
+
+.highlight {
+ white-space: pre-wrap;
+ word-wrap: break-word;
+ padding: 4px 14px;
+}
+
+#page pre {
+ overflow-x: auto;
+ margin-left: 40px;
+ padding: 8px;
+ border-left: 2px solid var(--trim);
+}
+
+#page code {
+ font-family: var(--mono);
+ font-size: 0.85em;
+ background-color: var(--trim);
+ color: #fff;
+ padding: 1px 5px;
+}
+
+.err { color: var(--c1); } /* Error */
+.o { color: var(--c1); } /* Operator */
+.c { color: var(--c4); } /* Comment */
+.ch { color: var(--c4); } /* Comment.Hashbang */
+.cm { color: var(--c4); } /* Comment.Multiline */
+.cp { color: var(--c4); } /* Comment.Preproc */
+.cpf{ color: var(--c4); } /* Comment.PreprocFile */
+.c1 { color: var(--c4); } /* Comment.Single */
+.cs { color: var(--c4); font-weight: bold } /* Comment.Special */
+.gd { color: var(--c1); } /* Generic.Deleted */
+.ge { font-style: italic; } /* Generic.Emph */
+.gr { color: var(--c1); } /* Generic.Error */
+.gh { color: var(--c0); font-weight: bold } /* Generic.Heading */
+.gi { color: var(--c0); } /* Generic.Inserted */
+.go { color: var(--c0); } /* Generic.Output */
+.gp { color: var(--c0); font-weight: bold; } /* Generic.Prompt */
+.gs { font-weight: bold; } /* Generic.Strong */
+.gu { color: var(--c0); font-weight: bold; } /* Generic.Subheading */
+.gt { color: var(--c0); } /* Generic.Traceback */
+.k { color: var(--c3); } /* Keyword */
+.kc { color: var(--c3); font-weight: bold } /* Keyword.Constant */
+.kd { color: var(--c3); font-weight: bold } /* Keyword.Declaration */
+.kn { color: var(--c3); font-weight: bold } /* Keyword.Namespace */
+.kp { color: var(--c3); font-weight: bold } /* Keyword.Pseudo */
+.kr { color: var(--c3); font-weight: bold } /* Keyword.Reserved */
+.kt { color: var(--c3); font-weight: bold } /* Keyword.Type */
+.n { color: var(--text); } /* Name */
+.na { color: var(--c3); } /* Name.Attribute */
+.nb { color: var(--c3); } /* Name.Builtin */
+.nc { color: var(--c2); font-weight: bold; } /* Name.Class */
+.no { color: var(--c2); font-weight: bold; } /* Name.Constant */
+.nd { color: var(--c2); font-weight: bold; } /* Name.Decorator */
+.ni { color: var(--c2); font-weight: bold; } /* Name.Entity */
+.ne { color: var(--c2); font-weight: bold; } /* Name.Exception */
+.nf { color: var(--c2); } /* Name.Function - used in conf code blocks */
+.nl { color: var(--c2); font-weight: bold; } /* Name.Label */
+.nn { color: var(--c2); font-weight: bold; } /* Name.Namespace */
+.nt { color: var(--text); } /* Name.Tag */
+.nv { color: var(--text); } /* Name.Variable */
+.ow { color: #000000; font-weight: bold; } /* Operator.Word */
+.w { } /* Text.Whitespace */
+.s { color: var(--c5); } /* Literal.String */
+.m { color: var(--c3); } /* Literal.Number */
+.mb { color: var(--c3); } /* Literal.Number.Bin */
+.mf { color: var(--c3); } /* Literal.Number.Float */
+.mh { color: var(--c3); } /* Literal.Number.Hex */
+.mi { color: var(--c3); } /* Literal.Number.Integer */
+.mo { color: var(--c6); font-weight: bold; } /* Literal.Number.Oct */
+.sa { background-color: var(--c5) } /* Literal.String.Affix */
+.sb { background-color: var(--c5) } /* Literal.String.Backtick */
+.sc { color: var(--c5) } /* Literal.String.Char */
+.dl { background-color: var(--c2) } /* Literal.String.Delimiter */
+.sd { color: var(--c5); } /* Literal.String.Doc */
+.s2 { color: var(--c5) } /* Literal.String.Double */
+.se { color: var(--c5) font-weight: bold; } /* Literal.String.Escape */
+.sh { color: var(--c5)} /* Literal.String.Heredoc */
+.si { color: var(--c4); } /* Literal.String.Interpol */
+.sx { color: var(--c4); } /* Literal.String.Other */
+.sr { color: var(--c4); } /* Literal.String.Regex */
+.s1 { color: var(--c4); } /* Literal.String.Single */
+.ss { color: var(--c4); } /* Literal.String.Symbol */
+.bp { color: var(--c2) } /* Name.Builtin.Pseudo */
+.fm { color: var(--c2); font-weight: bold } /* Name.Function.Magic */
+.vc { color: var(--c2) } /* Name.Variable.Class */
+.vg { color: var(--c2); font-weight: bold } /* Name.Variable.Global */
+.vi { color: var(--c2) } /* Name.Variable.Instance */
+.vm { color: var(--c2) } /* Name.Variable.Magic */
+.il { color: var(--c2); font-weight: bold } /* Literal.Number.Integer.Long */
+
+
+/* RESPONSIVENESS */
+
+@media (max-height: 580px) {
+ .win {
+ position: initial;
+ }
+}
+
+@media (min-width: 491px) and (max-width: 780px) {
+ #home1 {
+ right: 5%;
+ margin-left: auto;
+ }
+ #home2 {
+ left: 5%;
+ margin-right: auto;
+ }
+}
+
+@media (max-width: 1180px) {
+ body {
+ display: flex;
+ flex-direction: column;
+ }
+}
+
+@media (max-width: 490px) {
+ .win {
+ width: 88%;
+ position: initial;
+ }
+}
+
+@media (max-width: 960px) {
+ #home {
+ flex-direction: column;
+ }
+}
diff --git a/static/webfonts/Lato-Regular.ttf b/static/webfonts/Lato-Regular.ttf
Binary files differ.
diff --git a/templates/archives.html b/templates/archives.html
@@ -0,0 +1,23 @@
+{% extends "with_sidebar.html" %}
+
+{% block title %}{{ SITENAME }} / {{ ARCHIVES_TITLE }}{% endblock %}
+
+{% block content %}
+<h1><a href=/{{ output_file }}>{{ ARCHIVES_TITLE }}</a></h1>
+
+<div id=ar>
+ {% for year, date_year in dates|groupby( 'date.year' )|sort(reverse=True) %}
+ <h2>{{ year }}</h2>
+
+ {% for month, articles in date_year|groupby('date.month')|sort(reverse=True) %}
+ {% for article in articles %}
+ <div class=ar-art>
+ <a href="/{{ article.url }}">{{ article.title }}</a>
+ </div>
+ <div>{{ article.date.strftime('%b %d') }}</div>
+ {% endfor %}
+ {% endfor %}
+ {% endfor %}
+</div>
+
+{% endblock %}
diff --git a/templates/article.html b/templates/article.html
@@ -0,0 +1,28 @@
+{% extends "with_sidebar.html" %}
+
+{% block title %}{{ SITENAME }} / {{ article.title }}{% endblock %}
+
+{% block extra_meta %}
+{% if article.description %}
+<meta name="description" content="{{article.description}}" />
+{% endif %}
+{% endblock %}
+
+{% block content %}
+<header>
+ <h1><a href=/{{ output_file }}>{{ article.title }}</a></h1>
+</header>
+
+<div class="art">
+ {{ article.content }}
+</div>
+{% endblock %}
+
+{% block footer %}
+Published @ <time class="pub" datetime="{{ article.date.isoformat() }}">{{ article.locale_date }}</time>
+{% if article.category %}in <a href="/{{ article.category.url }}">{{ article.category }}</a>{% endif %}
+
+{% if article.modified %}
+/ <span class=mod>Modified <time datetime="{{ article.modified.isoformat() }}">{{ article.locale_modified }}</time><span>
+{% endif %}
+{% endblock %}
diff --git a/templates/base.html b/templates/base.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html lang=en-US>
+
+ <head>
+ <title>{% block title %}{{ SITENAME }}{% endblock title %}</title>
+ <meta charset=utf-8 />
+ <meta name=author content={{ AUTHOR }}>
+ <meta name=viewport content=width=device-width, initial-scale=1>
+ {% for name, content in DEFAULT_METADATA.items() %}
+ <meta name={{ name }} content={{ content }}>
+ {% endfor %}
+ {% block extra_meta %}{% endblock %}
+ <link rel="shortcut icon" type=image/png href=/favicon.png />
+ <link rel=stylesheet href=/theme/css/{{ CSS_FILE }} type=text/css />
+ {% include "feeds.html" %}
+ {{ EXTRAHEAD }}
+ </head>
+
+ <body>
+ {% block body %}
+ {% endblock %}
+ {{ EXTRATAIL }}
+ </body>
+</html>
diff --git a/templates/blogroll.html b/templates/blogroll.html
@@ -0,0 +1,17 @@
+{% extends "with_sidebar.html" %}
+{% block title %}{{ SITENAME }} / {{ page.title }}{% endblock %}
+
+{% block content %}
+<h1><a href=/{{ output_file }}>{{ page.title }}</a></h1>
+
+<div class=about>
+{{ page.content }}
+</div>
+
+<ul id=blogroll>
+ {% for blog in BLOGROLL %}
+ <li>{{ blog[0] }} at <a href="{{ blog[1] }}">{{ blog[2] }}</a></li>
+ {% endfor %}
+</ul>
+
+{% endblock %}
diff --git a/templates/categories.html b/templates/categories.html
@@ -0,0 +1,12 @@
+{% extends "with_sidebar.html" %}
+
+{% block title %}{{ SITENAME }} / categories{% endblock %}
+
+{% block content %}
+<h1><a href=/{{ output_file }}>Categories</a></h1>
+<ul>
+ {% for category, articles in categories|sort %}
+ <li><a href="/{{ category.url }}">{{ category }} ({{ articles|count }})</a></li>
+ {% endfor %}
+</ul>
+{% endblock %}
diff --git a/templates/category.html b/templates/category.html
@@ -0,0 +1,23 @@
+{% extends "with_sidebar.html" %}
+
+{% block title %}{{ SITENAME }} / {{ category }}{% endblock %}
+
+{% block content %}
+<h1><a href=/{{ output_file }}>Category: {{ category }}</a></h1>
+
+<div id=ar>
+ {% for year, date_year in dates|groupby( 'date.year' )|sort(reverse=True) %}
+ <h2>{{ year }}</h2>
+
+ {% for month, articles in date_year|groupby('date.month')|sort(reverse=True) %}
+ {% for article in articles %}
+ <div class=ar-art>
+ <a href="/{{ article.url }}">{{ article.title }}</a>
+ </div>
+ <div>{{ article.date.strftime('%b %d') }}</div>
+ {% endfor %}
+ {% endfor %}
+ {% endfor %}
+</div>
+
+{% endblock %}
diff --git a/templates/feeds.html b/templates/feeds.html
@@ -0,0 +1,20 @@
+{% if FEED_ATOM %}
+<link href="{% if FEED_DOMAIN %}{{ FEED_DOMAIN }}{% endif %}/{%if FEED_ATOM_URL %}{{ FEED_ATOM_URL }}{% else %}{{ FEED_ATOM }}{% endif %}"
+ type="application/atom+xml" rel="alternate" title="{{ SITENAME }}"
+/>
+{% endif %}
+{% if FEED_RSS %}
+<link href="{% if FEED_DOMAIN %}{{ FEED_DOMAIN }}{% endif %}/{% if FEED_RSS_URL %}{{ FEED_RSS_URL }}{% else %}{{ FEED_RSS }}{% endif %}"
+ type="application/rss+xml" rel="alternate" title="{{ SITENAME }}"
+/>
+{% endif %}
+{% if CATEGORY_FEED_ATOM and category %}
+<link href="{% if FEED_DOMAIN %}{{ FEED_DOMAIN }}{% endif %}/{% if CATEGORY_FEED_ATOM_URL %}{{ CATEGORY_FEED_ATOM_URL.format(slug=category.slug) }}{% else %}{{ CATEGORY_FEED_ATOM.format(slug=category.slug) }}{% endif %}"
+ type="application/atom+xml" rel="alternate" title="{{ SITENAME }} / {{ category }}"
+/>
+{% endif %}
+{% if CATEGORY_FEED_RSS and category %}
+<link href="{% if FEED_DOMAIN %}{{ FEED_DOMAIN }}{% endif %}/{% if CATEGORY_FEED_RSS_URL %}{{ CATEGORY_FEED_RSS_URL.format(slug=category.slug) }}{% else %}{{ CATEGORY_FEED_RSS.format(slug=category.slug) }}{% endif %}"
+ type="application/rss+xml" rel="alternate" title="{{ SITENAME }} / {{ category }}"
+/>
+{% endif %}
diff --git a/templates/index.html b/templates/index.html
@@ -0,0 +1,19 @@
+{% extends "base.html" %}
+
+{% block body %}
+<div id=home>
+ <div id=home1 class=win>
+ <div class=bar></div>
+ <div class=wc>
+ <div>{{ HOME1 }}<span id=c>_</span></li></div>
+ </div>
+ </div>
+
+ <div id=home2 class=win>
+ <div class=bar></div>
+ <div class=wc>
+ <div><a href=/posts.html>{{ HOME2 }}</a></div>
+ </div>
+ </div>
+</div>
+{% endblock %}
diff --git a/templates/page.html b/templates/page.html
@@ -0,0 +1,9 @@
+{% extends "with_sidebar.html" %}
+
+{% block title %}{{ SITENAME }} / {{ page.title }}{%endblock%}
+
+{% block content %}
+<h1><a href=/{{ output_file }}>{{ page.title }}</a></h1>
+
+{{ page.content }}
+{% endblock %}
diff --git a/templates/with_sidebar.html b/templates/with_sidebar.html
@@ -0,0 +1,31 @@
+{% extends "base.html" %}
+
+{% block body %}
+<div id=page>
+ {% block content %}
+ {% endblock %}
+</div>
+
+<div id=side>
+ <img id=avatar alt=avatar src="{{ AVATAR }}"/>
+
+ <div id=bio>
+ <p>Welcome to my blog!</p>
+ <p>I write about open source software that I stumble across surfing the web.</p>
+ <p>Some of my main interests are self-hosting, privacy tools, and anything
+ to do with <a href=https://wiki.installgentoo.com/wiki/GNU/Linux_ricing>ricing</a>.</p>
+ <p class=cen>~ Matt AKA mcol ~</p>
+ <hr>
+ <p id=icons class=cen>
+ {% for icon, title, link in ICONS %}<a title="{{ title }}" alt="{{ title }}" href={{ link }}><img src={{ icon }}/></a>{% endfor %}
+ </p>
+ <p class=cen><a href=/posts.html>Posts</a> - <a href=/blogroll.html>Blogroll</a></p>
+
+ </div>
+</div>
+
+<footer class=cen>
+<hr><hr>
+~ {% block footer %}mcol.xyz{% endblock %} ~
+</footer>
+{% endblock %}