diff --git a/theme/static/css/fonts.css b/theme/static/css/fonts.css
new file mode 100644
index 0000000..bd48bca
--- /dev/null
+++ b/theme/static/css/fonts.css
@@ -0,0 +1,42 @@
+@font-face {
+ font-family: 'Source Code Pro';
+ font-style: normal;
+ font-weight: 400;
+ src: local('Source Code Pro'), local('SourceCodePro-Regular'), url(../fonts/Source-Code-Pro.woff) format('woff');
+}
+@font-face {
+ font-family: 'Source Sans Pro';
+ font-style: normal;
+ font-weight: 300;
+ src: local('Source Sans Pro Light'), local('SourceSansPro-Light'), url(../fonts/Source-Sans-Pro-Light.woff) format('woff');
+}
+@font-face {
+ font-family: 'Source Sans Pro';
+ font-style: normal;
+ font-weight: 400;
+ src: local('Source Sans Pro'), local('SourceSansPro-Regular'), url(../fonts/Source-Sans-Pro.woff) format('woff');
+}
+@font-face {
+ font-family: 'Source Sans Pro';
+ font-style: normal;
+ font-weight: 600;
+ src: local('Source Sans Pro Semibold'), local('SourceSansPro-Semibold'), url(../fonts/Source-Sans-Pro-Light-Italic.woff) format('woff');
+}
+@font-face {
+ font-family: 'Source Sans Pro';
+ font-style: italic;
+ font-weight: 300;
+ src: local('Source Sans Pro Light Italic'), local('SourceSansPro-LightIt'), url(../fonts/Source-Sans-Pro-Light-Italic.woff) format('woff');
+}
+@font-face {
+ font-family: 'Source Sans Pro';
+ font-style: italic;
+ font-weight: 400;
+ src: local('Source Sans Pro Italic'), local('SourceSansPro-It'), url(../fonts/Source-Sans-Pro-Italic.woff) format('woff');
+}
+@font-face {
+ font-family: 'Source Sans Pro';
+ font-style: italic;
+ font-weight: 600;
+ src: local('Source Sans Pro Semibold Italic'), local('SourceSansPro-SemiboldIt'), url(../fonts/Source-Sans-Pro-Semibold-Italic.woff) format('woff');
+}
diff --git a/theme/static/css/main.css b/theme/static/css/main.css
new file mode 100644
index 0000000..51a9de2
--- /dev/null
+++ b/theme/static/css/main.css
@@ -0,0 +1,337 @@
+/*
+Colors :
+- #40403F
+- #4D4D4C
+- #7F7F7E
+- #E5E5E3
+- #F0F0F0
+*/
+
+/* Imports */
+
+@import url("fonts.css");
+@import url("tinytypo.css");
+@import url("pygment.css");
+
+
+/* Latout */
+
+article,
+figcaption,
+figure,
+footer,
+header,
+nav,
+section,
+time {
+ display: block;
+}
+
+html {
+ font-size: 100%;
+ -ms-text-size-adjust: 100%;
+ -webkit-text-size-adjust: 100%;
+}
+body {
+ font-family: 'Source Sans Pro', sans-serif;
+ font-weight: 300;
+ font-size: 0.95em;
+ line-height: 150%;
+ text-align: left;
+ padding: 0;
+ min-width: 740px;
+ background: linear-gradient(0deg, #FFFFFF, #FEFEFE) repeat scroll 0% 0% transparent;
+}
+
+header {
+ border-top: 4px solid #4271AE;
+ border-bottom: 1px solid #D6D6D6;
+ height: 50px;
+ line-height: 50px;
+ padding: 0 1em;
+ margin-bottom: 1.5em;
+}
+
+.wrapper {
+ display: table;
+ width: 100%;
+}
+
+.content {
+ display: table-cell;
+ padding: 0 20px 1em 20px;
+}
+
+.sidebar {
+ display: table-cell;
+ width: 25%;
+ padding: 0 20px 1em 3%;
+}
+
+footer {
+ border-top: 1px dotted #D6D6D6;
+ line-height: 30px;
+ padding: 0 1em;
+ font-size: 0.8em;
+}
+
+
+/* Header */
+
+header a {
+ border-bottom: none;
+}
+
+header a.title {
+ font-size: 1.25em;
+}
+
+header .feeds {
+ float: right;
+ text-align: right;
+ width: 25%;
+ line-height: 40px;
+}
+
+header .feeds a {
+ display: block;
+ float: right;
+ padding-right: 5px;
+ width: 40px;
+}
+
+header .feeds a:hover,
+header .feeds a:active {
+ border-bottom: none;
+}
+
+header .pages {
+ float: right;
+ padding-right: 20px;
+}
+
+header .pages a {
+ font-size: 1.1em;
+}
+
+
+/* Sidebar */
+
+#sidebar-container-fixed.sticky {
+ padding-bottom: 100px;
+ position: fixed;
+ top: 85px;
+ transition: opacity 3s ease-in-out 0s;
+ opacity: 0.2;
+}
+
+#sidebar-container-fixed:hover {
+ opacity: 1;
+ transition: opacity 0s ease-in-out 0s;
+}
+
+.sidebar ol,
+.sidebar ul {
+ margin-left: 0;
+ color: #4D4D4C;
+}
+
+/* Titles */
+
+h1 a {
+ color: inherit;
+ border-bottom: none;
+}
+
+
+/* Texts */
+
+p {
+ text-align: justify;
+}
+
+a {
+ text-decoration: none;
+ border-bottom: 1px dotted #4D4D4C;
+ color: #4D4D4C;
+}
+
+a:hover, a:active {
+ text-decoration: none;
+ border-bottom: 1px dotted #4271AE;
+ color: #4271AE;
+}
+
+.literal {
+ border: 1px solid #F0F0F0;
+ padding: 0px 5px;
+}
+
+pre {
+ font-family: 'Source Code Pro',monospace;
+ background: none repeat scroll 0 0 #F0F0F0;
+ border-radius: 2px;
+ font-size: 0.9em;
+ font-style: normal;
+ letter-spacing: 0.015em;
+ line-height: 130%;
+ padding: 0.7em;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+}
+
+hr {
+ margin: 40px 5% 60px 5%;
+ color: #d6d6d6;
+ box-shadow: 0.1em 0.1em 0.1em #EFEFEF;
+ border-radius: 5px;
+}
+
+
+/* Article */
+
+article.summary {
+ margin-bottom: 40px;
+ clear: both;
+}
+
+article.summary > div {
+ margin-left: 28%;
+}
+
+article.full .metadata,
+article.summary .metadata {
+ padding: 1%;
+ font-style: italic;
+ text-align: right;
+}
+
+article.full .metadata {
+ width: 25%;
+ float: right;
+ margin: 0 0 2% 1%;
+}
+
+article.summary .metadata {
+ width: 23%;
+ float: left;
+ margin: 0 1% 2% 0 ;
+}
+
+article .section {
+ margin: 4em 0 0 0;
+}
+
+.metadata p,
+.metadata address {
+ margin: 0;
+ text-align: right;
+}
+
+/* Listings */
+
+ol.archive li {
+ margin: 8px 0;
+}
+
+ol.archive li time,
+ol.archive li .tags
+ {
+ line-height: 140%;
+ font-size: 0.8em;
+ margin: 0;
+}
+
+
+/* Social */
+
+.social {
+ list-style-type: none;
+ padding-left: 20px;
+}
+
+.social li {
+ clear: both;
+}
+
+.social a {}
+
+.social i {
+ float: left;
+ margin-right: 3px;
+ padding-top: 4px;
+}
+.social a[href*='twitter.com'] + i:before {content: url('../images/icons/twitter-18px.png'); }
+.social a[href*='linkedin.com'] + i:before {content: url('../images/icons/linkedin-18px.png'); }
+.social a[href*='github.com'] + i:before {content: url('../images/icons/github-18px.png'); }
+.social a[href*='google.com'] + i:before {content: url('../images/icons/google-18px.png'); }
+.social a[href*='keybase.io'] + i:before {content: url('../images/icons/keybase-18px.png'); }
+.social a[href*='delicious.com']:before {content: url('../images/icons/delicious-18px.png'); }
+.social a[href*='digg.com']:before {content: url('../images/icons/digg-18px.png'); }
+.social a[href*='facebook.com']:before {content: url('../images/icons/facebook-18px.png'); }
+.social a[href*='stackoverflow.com']:before {content: url('../images/icons/stackoverflow-18px.png'); }
+.social a[href*='rss.xml']:before {content: url('../images/icons/feed-18px.png'); }
+.social a[href*='atom.xml']:before {content: url('../images/icons/feed-18px.png'); }
+
+
+/* Tag cloud */
+
+ul.tagcloud {
+ list-style: none;
+ padding: 0;
+ width: 50%;
+ margin: 0 auto;
+ line-height: 200%;
+}
+
+ul.tagcloud li {
+ display: inline-block;
+}
+
+li.tag-1 { font-size: 175%; margin: 0 1em; }
+li.tag-2 { font-size: 150%; margin: 0 1em; }
+li.tag-3 { font-size: 125%; margin: 0 1em; }
+li.tag-4 { font-size: 110%; margin: 0 1em; }
+
+/* Pagination */
+
+.pagination {
+ width: 100px;
+ margin: 1em auto;
+}
+
+/* Light TinyTypo overrides */
+
+/* box border color */
+.box {
+ border-color:#D6D6D6; /* #4271AE */
+}
+
+/* .box which contains only a list */
+.box.only-list ul,
+.box.only-list ol
+ {
+ margin-top: 0;
+}
+
+
+/* Responsive */
+
+@media (min-width: 1280px) {
+ body {
+ margin: 0 20%;
+ }
+}
+
+@media (max-width: 1280px) {
+ body {
+ margin: 0 12%;
+ }
+}
+
+@media (max-width: 979px) {
+ body {
+ margin: 0 4%;
+ }
+}
+
diff --git a/theme/static/css/pygment.css b/theme/static/css/pygment.css
new file mode 100644
index 0000000..594b0fa
--- /dev/null
+++ b/theme/static/css/pygment.css
@@ -0,0 +1,205 @@
+.hll {
+background-color:#FFFFCC;
+}
+.c {
+color:#408090;
+font-style:italic;
+}
+.err {
+border:1px solid #FF0000;
+}
+.k {
+color:#007020;
+font-weight:bold;
+}
+.o {
+color:#666666;
+}
+.cm {
+color:#408090;
+font-style:italic;
+}
+.cp {
+color:#007020;
+}
+.c1 {
+color:#408090;
+font-style:italic;
+}
+.cs {
+background-color:#FFF0F0;
+color:#408090;
+}
+.gd {
+color:#A00000;
+}
+.ge {
+font-style:italic;
+}
+.gr {
+color:#FF0000;
+}
+.gh {
+color:#000080;
+font-weight:bold;
+}
+.gi {
+color:#00A000;
+}
+.go {
+color:#303030;
+}
+.gp {
+color:#C65D09;
+font-weight:bold;
+}
+.gs {
+font-weight:bold;
+}
+.gu {
+color:#800080;
+font-weight:bold;
+}
+.gt {
+color:#0040D0;
+}
+.kc {
+color:#007020;
+font-weight:bold;
+}
+.kd {
+color:#007020;
+font-weight:bold;
+}
+.kn {
+color:#007020;
+font-weight:bold;
+}
+.kp {
+color:#007020;
+}
+.kr {
+color:#007020;
+font-weight:bold;
+}
+.kt {
+color:#902000;
+}
+.m {
+color:#208050;
+}
+.s {
+color:#4070A0;
+}
+.na {
+color:#4070A0;
+}
+.nb {
+color:#007020;
+}
+.nc {
+color:#0E84B5;
+font-weight:bold;
+}
+.no {
+color:#60ADD5;
+}
+.nd {
+color:#555555;
+font-weight:bold;
+}
+.ni {
+color:#D55537;
+font-weight:bold;
+}
+.ne {
+color:#007020;
+}
+.nf {
+color:#06287E;
+}
+.nl {
+color:#002070;
+font-weight:bold;
+}
+.nn {
+color:#0E84B5;
+font-weight:bold;
+}
+.nt {
+color:#062873;
+font-weight:bold;
+}
+.nv {
+color:#BB60D5;
+}
+.ow {
+color:#007020;
+font-weight:bold;
+}
+.w {
+color:#BBBBBB;
+}
+.mf {
+color:#208050;
+}
+.mh {
+color:#208050;
+}
+.mi {
+color:#208050;
+}
+.mo {
+color:#208050;
+}
+.sb {
+color:#4070A0;
+}
+.sc {
+color:#4070A0;
+}
+.sd {
+color:#4070A0;
+font-style:italic;
+}
+.s2 {
+color:#4070A0;
+}
+.se {
+color:#4070A0;
+font-weight:bold;
+}
+.sh {
+color:#4070A0;
+}
+.si {
+color:#70A0D0;
+font-style:italic;
+}
+.sx {
+color:#C65D09;
+}
+.sr {
+color:#235388;
+}
+.s1 {
+color:#4070A0;
+}
+.ss {
+color:#517918;
+}
+.bp {
+color:#007020;
+}
+.vc {
+color:#BB60D5;
+}
+.vg {
+color:#BB60D5;
+}
+.vi {
+color:#BB60D5;
+}
+.il {
+color:#208050;
+}
diff --git a/theme/static/css/tinytypo.css b/theme/static/css/tinytypo.css
new file mode 100644
index 0000000..b546a88
--- /dev/null
+++ b/theme/static/css/tinytypo.css
@@ -0,0 +1,903 @@
+/* --------------------------------------------------
+
+ Composition helpers
+ [fr] Aides à la composition
+
+ Tiny Typo v1.0 | MIT License
+ (c) 2010-2013 tinytypo.tetue.net
+
+----------------------------------------------------- */
+/* Box model
+[fr] http://blog.goetter.fr/post/27612618411/box-sizing-et-pourquoi-pas
+[en] http://www.paulirish.com/2012/box-sizing-border-box-ftw/ */
+*,
+*:before,
+*:after {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+/* Blocks */
+.block {
+ display: block;
+ margin-bottom: 1.5em;
+}
+.inline {
+ display: inline;
+}
+.inline-block {
+ display: inline-block;
+}
+/* Positioning */
+.left {
+ float: left;
+}
+.right {
+ float: right;
+}
+.center {
+ margin-right: auto;
+ margin-left: auto;
+}
+/* Blocks spacer
+[fr] Espaceur de blocs : http://romy.tetue.net/657 */
+.clear {
+ clear: both;
+}
+br.clear {
+ clear: both;
+ margin: 0;
+ padding: 0;
+ border: 0;
+ height: 0;
+ line-height: 1px;
+ font-size: 1px;
+}
+hr.clear {
+ visibility: hidden;
+}
+/* clearfix : http://www.positioniseverything.net/easyclearing.html */
+.clearfix:after {
+ content: "\0020";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+ overflow: hidden;
+}
+.clearfix {
+ display: inline-table;
+}
+/* Hides from IE-mac \*/
+.clearfix {
+ height: 1%;
+}
+.clearfix {
+ display: block;
+}
+/* End hide from IE-mac */
+/* Not visible */
+.offscreen {
+ position: absolute;
+ left: -999em;
+ height: 1%;
+}
+.hidden {
+ visibility: hidden;
+}
+.none {
+ display: none;
+}
+/* debug */
+.todo {
+ opacity: 0.5;
+}
+.todo:hover {
+ opacity: 1;
+}
+.blink {
+ text-decoration: blink;
+}
+/* --------------------------------------------------
+
+ Typographical base
+
+ Tiny Typo v1.0 | MIT License
+ (c) 2010-2013 tinytypo.tetue.net
+
+----------------------------------------------------- */
+html {
+ font-size: 100.01%;
+ -ms-text-size-adjust: 100%;
+ -webkit-text-size-adjust: 100%;
+}
+/* Cf.: http://www.pompage.net/pompe/definir-des-tailles-de-polices-en-CSS/
+et http://forum.alsacreations.com/topic-4-54377-1.html
+[en] http://stackoverflow.com/questions/2703056/body-font-size-100-01-vs-body-font-size-100 */
+body {
+ font-size: 1em;
+ line-height: 1.5;
+}
+/* Titraille / Intertitres */
+h1,
+.h1,
+h2,
+.h2,
+h3,
+.h3,
+h4,
+.h4,
+h5,
+.h5,
+h6,
+.h6 {
+ display: block;
+ margin: 0;
+ padding: 0;
+ font-size: 100%;
+ font-weight: normal;
+}
+h1,
+.h1 {
+ font-size: 2em;
+ line-height: 1.5;
+ margin-bottom: .75em;
+}
+h2,
+.h2 {
+ font-size: 1.5em;
+ line-height: 1;
+ margin-bottom: 1em;
+}
+h3,
+.h3 {
+ font-size: 1.25em;
+ line-height: 1.2;
+ margin-bottom: 1.2em;
+}
+h4,
+.h4 {
+ font-size: 1.1em;
+ line-height: 1.364;
+ margin-bottom: 1.364em;
+}
+h5,
+.h5 {
+ font-size: 1em;
+ font-weight: bold;
+ margin-bottom: 1.5em;
+}
+h6,
+.h6 {
+ font-size: 1em;
+ font-weight: bold;
+}
+h1 small,
+.h1 small,
+h2 small,
+.h2 small,
+h3 small,
+.h3 small,
+h4 small,
+.h4 small,
+h5 small,
+.h5 small,
+h6 small,
+.h6 small {
+ font-size: 60%;
+ line-height: 0;
+}
+hr {
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+ margin: 1.5em 0;
+ border: solid;
+ border-width: 1px 0 0;
+}
+/* Typographical enhancements */
+em,
+i,
+.i {
+ font-style: italic;
+}
+strong,
+b,
+.b {
+ font-weight: bold;
+}
+mark,
+.mark {
+ background: #ff0;
+ color: #000;
+}
+.smaller {
+ font-size: 75%;
+}
+small,
+.small {
+ font-size: 80%;
+}
+big,
+.big {
+ font-size: 130%;
+}
+.bigger {
+ font-size: 175%;
+}
+.biggest {
+ font-size: 200%;
+}
+abbr[title],
+acronym[title] {
+ border-bottom: .1em dotted;
+ cursor: help;
+}
+@media print {
+ abbr[title] {
+ border-bottom: 0;
+ }
+ abbr[title]:after {
+ content: " (" attr(title) ")";
+ }
+}
+dfn,
+.dfn {
+ font-weight: bold;
+ font-style: italic;
+}
+s,
+strike,
+del,
+.del {
+ opacity: .5;
+ text-decoration: line-through;
+}
+ins,
+.ins {
+ background-color: rgba(255, 255, 204, 0.5);
+ text-decoration: none;
+}
+u,
+.u {
+ text-decoration: underline;
+}
+sup,
+.sup,
+sub,
+.sub {
+ font-size: 80%;
+ font-variant: normal;
+ line-height: 0;
+}
+sup,
+.sup {
+ vertical-align: super;
+}
+.ie sup {
+ vertical-align: text-top;
+}
+sub,
+.sub {
+ vertical-align: sub;
+}
+.ie sub {
+ vertical-align: text-bottom;
+}
+.lead {
+ font-size: 120%;
+}
+.caps {
+ font-variant: small-caps;
+}
+.quiet {
+ color: #555555;
+}
+/* Alignment */
+.text-left {
+ text-align: left;
+}
+.text-right {
+ text-align: right;
+}
+.text-center {
+ text-align: center;
+}
+.text-justify {
+ text-align: justify;
+ text-justify: newspaper;
+}
+/* Lists */
+ul {
+ list-style-type: disc;
+}
+ul ul {
+ list-style-type: circle;
+}
+ul ul ul {
+ list-style-type: square;
+}
+ol {
+ list-style-type: decimal;
+}
+ol ol {
+ list-style-type: lower-alpha;
+}
+ol ol ol {
+ list-style-type: lower-greek;
+}
+ul ul,
+ol ol,
+ul ol,
+ol ul {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+ol,
+ul {
+ margin-left: 1.5em;
+ -webkit-margin-before: 0;
+ -webkit-margin-after: 0;
+}
+dt {
+ font-weight: bold;
+}
+dd {
+ margin-left: 1.5em;
+}
+.list-none {
+ margin-left: 0;
+ list-style: none;
+}
+.list-none li:before {
+ content: '';
+}
+.list-square {
+ margin-left: 1.5em;
+ list-style: square;
+}
+.list-square li:before {
+ content: '';
+}
+.list-disc {
+ margin-left: 1.5em;
+ list-style: disc;
+}
+.list-disc li:before {
+ content: '';
+}
+.list-circle {
+ margin-left: 1.5em;
+ list-style: circle;
+}
+.list-circle li:before {
+ content: '';
+}
+.list-decimal {
+ margin-left: 1.5em;
+ list-style: decimal;
+}
+.list-decimal li:before {
+ content: '';
+}
+.list-inline {
+ margin-left: 0;
+}
+.list-inline li {
+ display: inline-block;
+ margin: 0;
+ margin-right: 1em;
+}
+.list-inline li:Last-Child {
+ margin-right: 0;
+}
+.list-inline.list-inline-sep li {
+ margin-right: 0;
+}
+.list-inline.list-inline-sep li:after {
+ content: " | ";
+}
+.list-inline.list-inline-sep li:Last-Child:after {
+ content: '';
+}
+.list-inline.list-inline-dash li {
+ margin-right: 0;
+}
+.list-inline.list-inline-dash li:after {
+ content: " - ";
+}
+.list-inline.list-inline-dash li:Last-Child:after {
+ content: '';
+}
+.list-inline.list-inline-comma li {
+ margin-right: 0;
+}
+.list-inline.list-inline-comma li:after {
+ content: ", ";
+}
+.list-inline.list-inline-comma li:Last-Child:after {
+ content: ". ";
+}
+.list-block li {
+ display: block;
+ margin-right: 0;
+}
+/* Tables */
+table {
+ max-width: 100%;
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+.table {
+ width: 100%;
+}
+.table caption,
+.table th,
+.table td {
+ padding: 0.375em;
+}
+.table caption {
+ font-weight: bold;
+ text-align: left;
+ border-bottom: 2px solid;
+}
+.table th {
+ font-weight: bold;
+}
+.table th,
+.table td {
+ border-bottom: 1px solid;
+}
+.table thead th {
+ vertical-align: bottom;
+}
+.table tbody tr:hover td {
+ background-color: rgba(34, 34, 34, 0.050000000000000044);
+}
+.table tfoot {
+ font-style: italic;
+}
+.table tfoot td {
+ border-bottom: 0;
+ vertical-align: top;
+}
+@media (max-width: 640px) {
+ .table-responsive {
+ width: 100%;
+ overflow-y: hidden;
+ overflow-x: scroll;
+ margin-bottom: 1.5em;
+ }
+ .table-responsive table {
+ width: 100%;
+ margin-bottom: 0;
+ }
+ .table-responsive thead,
+ .table-responsive tbody,
+ .table-responsive tfoot,
+ .table-responsive tr,
+ .table-responsive th,
+ .table-responsive td {
+ white-space: nowrap;
+ }
+}
+/* Quotes, code and poetry */
+q {
+ quotes: "\201C" "\201D" "\2018" "\2019";
+}
+:lang(en) > q {
+ quotes: "\201C" "\201D" "\2018" "\2019";
+}
+:lang(fr) > q {
+ quotes: "\00AB\A0" "\A0\00BB" "\201C" "\201D" "\2018" "\2019";
+}
+:lang(es) > q {
+ quotes: "\00AB" "\00BB" "\201C" "\201D";
+}
+:lang(it) > q {
+ quotes: "\00AB\A0" "\A0\00BB" "\201C" "\201D";
+}
+:lang(de) > q {
+ quotes: "\00BB" "\00AB" "\203A" "\2039";
+}
+:lang(no) > q {
+ quotes: "\00AB\A0" "\A0\00BB" "\2039" "\203A";
+}
+/* [en] http://en.wikipedia.org/wiki/International_variation_in_quotation_marks */
+q:before {
+ content: open-quote;
+}
+q:after {
+ content: close-quote;
+}
+blockquote {
+ position: relative;
+ padding-left: 1.5em;
+ border: solid rgba(34, 34, 34, 0.19999999999999996);
+ border-width: 0 0 0 5px;
+}
+blockquote:before {
+ z-index: -1;
+ position: absolute;
+ left: 0;
+ top: 0;
+ content: "\00AB";
+ line-height: 0;
+ font-size: 10em;
+ color: rgba(34, 34, 34, 0.09999999999999998);
+}
+cite,
+.cite {
+ font-style: italic;
+}
+address {
+ font-style: italic;
+}
+pre,
+code,
+kbd,
+samp,
+var,
+tt {
+ font-family: monospace;
+ font-size: 1em;
+}
+pre {
+ white-space: pre-wrap;
+ word-break: break-all;
+ word-wrap: break-word;
+}
+kbd {
+ white-space: nowrap;
+ padding: .1em .3em;
+ background-color: #eee;
+ border: 1px solid #aaa;
+ border-radius: 4px;
+ box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2), 0 0 0 1px #ffffff inset;
+ color: #333;
+}
+samp {
+ font-weight: bold;
+}
+var {
+ font-style: italic;
+}
+/* Box */
+.box {
+ display: block;
+ margin-bottom: 1.5em;
+ padding: 1.5em 1.5em;
+ padding-bottom: .1em;
+ border: 1px solid;
+}
+@media print {
+ .box {
+ border: 1px solid !important;
+ }
+}
+@media (min-width: 640px) {
+ .box.right {
+ width: 33%;
+ margin-left: 1.5em;
+ }
+ .box.left {
+ width: 33%;
+ margin-right: 1.5em;
+ }
+ .box.center {
+ width: 75%;
+ }
+}
+/* Paragraphs */
+p,
+.p,
+ul,
+ol,
+dl,
+dd,
+blockquote,
+address,
+pre,
+.table,
+fieldset {
+ margin-bottom: 1.5em;
+}
+/* Typography for small screens
+[fr] http://www.alsacreations.com/astuce/lire/1177 */
+@media (max-width: 640px) {
+ /* fixer une largeur maximale de 100 % aux elements potentiellement problematiques */
+ img,
+ table,
+ td,
+ blockquote,
+ code,
+ pre,
+ textarea,
+ input,
+ iframe,
+ object,
+ embed,
+ video {
+ max-width: 100% !important;
+ }
+ /* gestion des mots longs */
+ textarea,
+ table,
+ td,
+ th,
+ pre,
+ code,
+ samp {
+ word-wrap: break-word;
+ /* cesure forcee */
+ }
+ pre,
+ code,
+ samp {
+ white-space: pre-line;
+ /* passage a la ligne specifique pour les elements a chasse fixe */
+ }
+}
+/* orientation iOS5 font-size fix */
+@media (orientation: landscape) and (max-device-width: 640px) {
+ html,
+ body {
+ -webkit-text-size-adjust: 100%;
+ }
+}
+/* Print styles from HTML5 Boilerplate
+Inlined to avoid required HTTP connection: h5bp.com/r */
+@media print {
+ pre,
+ blockquote {
+ page-break-inside: avoid;
+ }
+ thead {
+ display: table-header-group;
+ }
+ tr,
+ img {
+ page-break-inside: avoid;
+ }
+ @page {
+ margin: 2cm .5cm;
+ }
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3;
+ }
+ h2,
+ h3 {
+ page-break-after: avoid;
+ }
+}
+/* --------------------------------------------------
+
+ Hyperlinks
+
+ Tiny Typo v1.0 | MIT License
+ (c) 2010-2013 tinytypo.tetue.net
+
+----------------------------------------------------- */
+/* Hyperlinks
+[fr] Signalétique des hyperliens : http://letrainde13h37.fr/43/signaletique-hyperliens/ */
+a {
+ background: transparent;
+ color: inherit;
+}
+a:link {
+ transition: .5s;
+}
+a:visited {
+ color: inherit;
+}
+a:focus {
+ outline: thin dotted;
+ background: #222222 !important;
+ border-color: #222222 !important;
+ color: #f8f8f8 !important;
+ text-shadow: none;
+}
+a:hover {
+ outline: 0;
+ cursor: pointer;
+}
+a:active {
+ outline: 0;
+}
+/* a { outline: none; }
+[en] http://www.outlinenone.com
+[fr] http://www.outlinenone.fr
+*/
+a:after,
+a:before,
+a small {
+ font-size: 90%;
+ opacity: .9;
+}
+a[hreflang]:after {
+ content: "\0000a0[" attr(hreflang) "]";
+}
+/* External Links */
+a.external:after {
+ content: "\0000a0\279A";
+}
+a[hreflang].external:after {
+ content: "\0000a0[" attr(hreflang) "]\0000a0\279A";
+}
+/* mailto / tel */
+a.mailto:after {
+ content: "\0000a0\2709";
+}
+a.tel:after {
+ content: "\0000a0\2706";
+}
+/* Documents */
+a.download:after {
+ content: "\0000a0\21A7";
+}
+a[hreflang].download:after {
+ content: "\0000a0[" attr(hreflang) "]\0000a0\21A7";
+}
+a.audio:after {
+ content: "\0000a0\266B";
+}
+a[hreflang].audio:after {
+ content: "\0000a0[" attr(hreflang) "]\0000a0\266B";
+}
+/* Linked images */
+a img {
+ border: 0;
+}
+a:focus img,
+a:active img {
+ -moz-transform: translateY(1px);
+ -webkit-transform: translateY(1px);
+ -o-transform: translateY(1px);
+ -ms-transform: translate(1px);
+ transform: translateY(1px);
+}
+@media print {
+ a,
+ a:visited {
+ text-decoration: underline;
+ }
+ a:after {
+ content: '';
+ }
+ a[rel="external"]:after,
+ a.external:after {
+ content: " (" attr(href) ")";
+ }
+ .ir a:after,
+ a[href^="javascript:"]:after,
+ a[href^="#"]:after {
+ content: '';
+ }
+ /* Don't show links for images, or javascript/internal links */
+}
+/* --------------------------------------------------
+
+ Illustrations, images and albums
+
+ Tiny Typo v1.0 | MIT License
+ (c) 2010-2013 tinytypo.tetue.net
+
+----------------------------------------------------- */
+/* Make images responsive by default */
+img,
+object,
+embed {
+ max-width: 100%;
+ height: auto;
+}
+object,
+embed {
+ height: 100%;
+}
+@media print {
+ img {
+ max-width: 100% !important;
+ }
+}
+/* Remove the gap between images, videos, audio and canvas
+and the bottom of their containers: h5bp.com/i/440 */
+audio,
+canvas,
+video,
+img {
+ vertical-align: middle;
+}
+/* Correct `inline-block` display not defined in IE 8/9 */
+audio,
+canvas,
+video {
+ display: inline-block;
+}
+/* Prevent modern browsers from displaying `audio` without controls.
+Remove excess height in iOS 5 devices. */
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+img {
+ border: 0;
+}
+/* Bicubic resizing for non-native sized IMG:
+code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */
+img {
+ -ms-interpolation-mode: bicubic;
+}
+svg:not(:root) {
+ overflow: hidden;
+}
+/* thumbnail */
+.thumb,
+.thumb.left {
+ margin: 0 10px 10px 0;
+}
+.thumb.right {
+ margin: 0 0 10px 10px;
+}
+/* style effects */
+img.round {
+ border-radius: 5px;
+}
+img.circle {
+ border-radius: 50%;
+}
+img.border {
+ padding: 4px;
+ background-color: #fff;
+ border: 1px solid #bbb;
+}
+img.shadow {
+ box-shadow: -1px 2px 5px 1px rgba(0, 0, 0, 0.7), -1px 2px 20px rgba(255, 255, 255, 0.6) inset;
+}
+/* figure */
+figure {
+ margin: 0;
+ margin-bottom: 0.75em;
+ text-align: center;
+}
+figure.center {
+ margin-bottom: 1.5em;
+}
+figure.left {
+ margin-right: 1.5em;
+}
+figure.right {
+ margin-left: 1.5em;
+}
+@media (max-width: 640px) {
+ figure {
+ margin-bottom: 1.5em;
+ }
+ figure.left {
+ float: none;
+ margin-right: 0;
+ }
+ figure.right {
+ float: none;
+ margin-left: 0;
+ }
+}
+/* album */
+.album {
+ margin-bottom: 1.5em;
+}
+.album ul {
+ overflow: hidden;
+ margin: 0;
+ list-style: none;
+}
+.album li {
+ float: left;
+ margin: 0;
+ margin: 0 10px 10px 0;
+}
+.album .thumb {
+ margin: 0;
+}
diff --git a/theme/static/fonts/Source-Code-Pro.woff b/theme/static/fonts/Source-Code-Pro.woff
new file mode 100644
index 0000000..c608521
Binary files /dev/null and b/theme/static/fonts/Source-Code-Pro.woff differ
diff --git a/theme/static/fonts/Source-Sans-Pro-Italic.woff b/theme/static/fonts/Source-Sans-Pro-Italic.woff
new file mode 100644
index 0000000..52c4cac
Binary files /dev/null and b/theme/static/fonts/Source-Sans-Pro-Italic.woff differ
diff --git a/theme/static/fonts/Source-Sans-Pro-Light-Italic.woff b/theme/static/fonts/Source-Sans-Pro-Light-Italic.woff
new file mode 100644
index 0000000..f295804
Binary files /dev/null and b/theme/static/fonts/Source-Sans-Pro-Light-Italic.woff differ
diff --git a/theme/static/fonts/Source-Sans-Pro-Light.woff b/theme/static/fonts/Source-Sans-Pro-Light.woff
new file mode 100644
index 0000000..b76e3ed
Binary files /dev/null and b/theme/static/fonts/Source-Sans-Pro-Light.woff differ
diff --git a/theme/static/fonts/Source-Sans-Pro-Semibold-Italic.woff b/theme/static/fonts/Source-Sans-Pro-Semibold-Italic.woff
new file mode 100644
index 0000000..8e0de91
Binary files /dev/null and b/theme/static/fonts/Source-Sans-Pro-Semibold-Italic.woff differ
diff --git a/theme/static/fonts/Source-Sans-Pro-Semibold.woff b/theme/static/fonts/Source-Sans-Pro-Semibold.woff
new file mode 100644
index 0000000..bbbfcfd
Binary files /dev/null and b/theme/static/fonts/Source-Sans-Pro-Semibold.woff differ
diff --git a/theme/static/fonts/Source-Sans-Pro.woff b/theme/static/fonts/Source-Sans-Pro.woff
new file mode 100644
index 0000000..6809507
Binary files /dev/null and b/theme/static/fonts/Source-Sans-Pro.woff differ
diff --git a/theme/static/images/icons/blogger-18px.png b/theme/static/images/icons/blogger-18px.png
new file mode 100644
index 0000000..b7d19f6
Binary files /dev/null and b/theme/static/images/icons/blogger-18px.png differ
diff --git a/theme/static/images/icons/blogger-32px.png b/theme/static/images/icons/blogger-32px.png
new file mode 100644
index 0000000..51e39c7
Binary files /dev/null and b/theme/static/images/icons/blogger-32px.png differ
diff --git a/theme/static/images/icons/delicious-18px.png b/theme/static/images/icons/delicious-18px.png
new file mode 100644
index 0000000..e352738
Binary files /dev/null and b/theme/static/images/icons/delicious-18px.png differ
diff --git a/theme/static/images/icons/delicious-32px.png b/theme/static/images/icons/delicious-32px.png
new file mode 100644
index 0000000..29cf6ac
Binary files /dev/null and b/theme/static/images/icons/delicious-32px.png differ
diff --git a/theme/static/images/icons/digg-18px.png b/theme/static/images/icons/digg-18px.png
new file mode 100644
index 0000000..102cddf
Binary files /dev/null and b/theme/static/images/icons/digg-18px.png differ
diff --git a/theme/static/images/icons/digg-32px.png b/theme/static/images/icons/digg-32px.png
new file mode 100644
index 0000000..2fd6a18
Binary files /dev/null and b/theme/static/images/icons/digg-32px.png differ
diff --git a/theme/static/images/icons/facebook-18px.png b/theme/static/images/icons/facebook-18px.png
new file mode 100644
index 0000000..1a0ff0d
Binary files /dev/null and b/theme/static/images/icons/facebook-18px.png differ
diff --git a/theme/static/images/icons/facebook-32px.png b/theme/static/images/icons/facebook-32px.png
new file mode 100644
index 0000000..07d21a6
Binary files /dev/null and b/theme/static/images/icons/facebook-32px.png differ
diff --git a/theme/static/images/icons/feed-18px.png b/theme/static/images/icons/feed-18px.png
new file mode 100644
index 0000000..2ce3706
Binary files /dev/null and b/theme/static/images/icons/feed-18px.png differ
diff --git a/theme/static/images/icons/feed-32px.png b/theme/static/images/icons/feed-32px.png
new file mode 100644
index 0000000..52ce22b
Binary files /dev/null and b/theme/static/images/icons/feed-32px.png differ
diff --git a/theme/static/images/icons/flicker-18px.png b/theme/static/images/icons/flicker-18px.png
new file mode 100644
index 0000000..890cc18
Binary files /dev/null and b/theme/static/images/icons/flicker-18px.png differ
diff --git a/theme/static/images/icons/flicker-32px.png b/theme/static/images/icons/flicker-32px.png
new file mode 100644
index 0000000..fd02aff
Binary files /dev/null and b/theme/static/images/icons/flicker-32px.png differ
diff --git a/theme/static/images/icons/github-18px.png b/theme/static/images/icons/github-18px.png
new file mode 100644
index 0000000..6322e4f
Binary files /dev/null and b/theme/static/images/icons/github-18px.png differ
diff --git a/theme/static/images/icons/github-32px.png b/theme/static/images/icons/github-32px.png
new file mode 100644
index 0000000..601293f
Binary files /dev/null and b/theme/static/images/icons/github-32px.png differ
diff --git a/theme/static/images/icons/google-18px.png b/theme/static/images/icons/google-18px.png
new file mode 100644
index 0000000..db2c9b2
Binary files /dev/null and b/theme/static/images/icons/google-18px.png differ
diff --git a/theme/static/images/icons/google-32px.png b/theme/static/images/icons/google-32px.png
new file mode 100644
index 0000000..ea2d521
Binary files /dev/null and b/theme/static/images/icons/google-32px.png differ
diff --git a/theme/static/images/icons/instagram-18px.png b/theme/static/images/icons/instagram-18px.png
new file mode 100644
index 0000000..b4a99d6
Binary files /dev/null and b/theme/static/images/icons/instagram-18px.png differ
diff --git a/theme/static/images/icons/instagram-32px.png b/theme/static/images/icons/instagram-32px.png
new file mode 100644
index 0000000..f4f3cf6
Binary files /dev/null and b/theme/static/images/icons/instagram-32px.png differ
diff --git a/theme/static/images/icons/keybase-18px.png b/theme/static/images/icons/keybase-18px.png
new file mode 100644
index 0000000..24dd792
Binary files /dev/null and b/theme/static/images/icons/keybase-18px.png differ
diff --git a/theme/static/images/icons/linkedin-18px.png b/theme/static/images/icons/linkedin-18px.png
new file mode 100644
index 0000000..7540cb5
Binary files /dev/null and b/theme/static/images/icons/linkedin-18px.png differ
diff --git a/theme/static/images/icons/linkedin-32px.png b/theme/static/images/icons/linkedin-32px.png
new file mode 100644
index 0000000..9fb6695
Binary files /dev/null and b/theme/static/images/icons/linkedin-32px.png differ
diff --git a/theme/static/images/icons/pinterest-18px.png b/theme/static/images/icons/pinterest-18px.png
new file mode 100644
index 0000000..52370d6
Binary files /dev/null and b/theme/static/images/icons/pinterest-18px.png differ
diff --git a/theme/static/images/icons/pinterest-32px.png b/theme/static/images/icons/pinterest-32px.png
new file mode 100644
index 0000000..c337465
Binary files /dev/null and b/theme/static/images/icons/pinterest-32px.png differ
diff --git a/theme/static/images/icons/skype-18px.png b/theme/static/images/icons/skype-18px.png
new file mode 100644
index 0000000..e89009c
Binary files /dev/null and b/theme/static/images/icons/skype-18px.png differ
diff --git a/theme/static/images/icons/skype-32px.png b/theme/static/images/icons/skype-32px.png
new file mode 100644
index 0000000..16b8a31
Binary files /dev/null and b/theme/static/images/icons/skype-32px.png differ
diff --git a/theme/static/images/icons/stackoverflow-18px.png b/theme/static/images/icons/stackoverflow-18px.png
new file mode 100644
index 0000000..b2e4c71
Binary files /dev/null and b/theme/static/images/icons/stackoverflow-18px.png differ
diff --git a/theme/static/images/icons/stackoverflow-32px.png b/theme/static/images/icons/stackoverflow-32px.png
new file mode 100644
index 0000000..f93c6dc
Binary files /dev/null and b/theme/static/images/icons/stackoverflow-32px.png differ
diff --git a/theme/static/images/icons/tumblr-18px.png b/theme/static/images/icons/tumblr-18px.png
new file mode 100644
index 0000000..cbdcb80
Binary files /dev/null and b/theme/static/images/icons/tumblr-18px.png differ
diff --git a/theme/static/images/icons/tumblr-32px.png b/theme/static/images/icons/tumblr-32px.png
new file mode 100644
index 0000000..fcf5731
Binary files /dev/null and b/theme/static/images/icons/tumblr-32px.png differ
diff --git a/theme/static/images/icons/twitter-18px.png b/theme/static/images/icons/twitter-18px.png
new file mode 100644
index 0000000..94e9522
Binary files /dev/null and b/theme/static/images/icons/twitter-18px.png differ
diff --git a/theme/static/images/icons/twitter-32px.png b/theme/static/images/icons/twitter-32px.png
new file mode 100644
index 0000000..f4f3cf6
Binary files /dev/null and b/theme/static/images/icons/twitter-32px.png differ
diff --git a/theme/static/images/icons/video-18px.png b/theme/static/images/icons/video-18px.png
new file mode 100644
index 0000000..ae73f41
Binary files /dev/null and b/theme/static/images/icons/video-18px.png differ
diff --git a/theme/static/images/icons/video-32px.png b/theme/static/images/icons/video-32px.png
new file mode 100644
index 0000000..2d24623
Binary files /dev/null and b/theme/static/images/icons/video-32px.png differ
diff --git a/theme/static/images/icons/youtube-18px.png b/theme/static/images/icons/youtube-18px.png
new file mode 100644
index 0000000..cc2c3f9
Binary files /dev/null and b/theme/static/images/icons/youtube-18px.png differ
diff --git a/theme/static/images/icons/youtube-32px.png b/theme/static/images/icons/youtube-32px.png
new file mode 100644
index 0000000..181dd51
Binary files /dev/null and b/theme/static/images/icons/youtube-32px.png differ
diff --git a/theme/static/js/custom_scripts.js b/theme/static/js/custom_scripts.js
new file mode 100644
index 0000000..f399790
--- /dev/null
+++ b/theme/static/js/custom_scripts.js
@@ -0,0 +1,13 @@
+(function() {
+ function onScroll(e) {
+ var sidebar = document.getElementById('sidebar-container-fixed');
+ if (window.scrollY > 0) {
+ sidebar.style.width = sidebar.offsetWidth + 'px'
+ sidebar.classList.add('sticky');
+ } else {
+ sidebar.style.width = 'auto'
+ sidebar.classList.remove('sticky');
+ }
+ }
+ document.addEventListener('scroll', onScroll);
+})();
\ No newline at end of file
diff --git a/theme/templates/analytics.html b/theme/templates/analytics.html
new file mode 100644
index 0000000..3d0c897
--- /dev/null
+++ b/theme/templates/analytics.html
@@ -0,0 +1,47 @@
+{% if GOOGLE_ANALYTICS %}
+
+{% endif %}
+{% if GAUGES %}
+
+{% endif %}
+{% if PIWIK_URL and PIWIK_SITE_ID %}
+
+
+{% endif %}
diff --git a/theme/templates/article.html b/theme/templates/article.html
new file mode 100644
index 0000000..b4b928f
--- /dev/null
+++ b/theme/templates/article.html
@@ -0,0 +1,57 @@
+{% extends "base.html" %}
+{% block title %}{{ article.title }} - {{ SITENAME }}{% endblock %}
+
+{% block extra_meta %}
+
+
+
+ {% if PELICAN_SOBER_TWITTER_CARD_CREATOR or PELICAN_SOBER_TWITTER_CARD_SITE %}
+
+ {% if PELICAN_SOBER_TWITTER_CARD_SITE %}
+
+ {% endif %}
+ {% if PELICAN_SOBER_TWITTER_CARD_CREATOR %}
+
+ {% endif %}
+
+
+
+{% endif %}
+
+{% endblock %}
+
+
+{% block content %}
+ {{ article.title }}
+
+ {% include 'metadata.inc.html' %}
+
+ {{ article.content }}
+
+
+ Tweet + +
+ {% endif %} + + {% if DISQUS_SITENAME and article.status != 'draft' %} + {% endif %} diff --git a/theme/templates/article_summary.inc.html b/theme/templates/article_summary.inc.html new file mode 100644 index 0000000..71bb477 --- /dev/null +++ b/theme/templates/article_summary.inc.html @@ -0,0 +1,9 @@ +{{ article.summary }}
+
Comments !
+ + +