Merge pull request #15 from raymondwanyoike/feature/cleanups

Minor source cleaning
main
Alan Orth 2014-10-29 13:32:10 +03:00
commit 75fa003c8b
21 changed files with 479 additions and 478 deletions

View File

@ -9,93 +9,93 @@
// version: v3.0.1 (2014-05-27) // version: v3.0.1 (2014-05-27)
// TABLE OF MIXINS: // TABLE OF MIXINS:
// align-content // align-content
// align-items // align-items
// align-self // align-self
// animation // animation
// animation-delay // animation-delay
// animation-direction // animation-direction
// animation-duration // animation-duration
// animation-fill-mode // animation-fill-mode
// animation-iteration-count // animation-iteration-count
// animation-name // animation-name
// animation-play-state // animation-play-state
// animation-timing-function // animation-timing-function
// appearance // appearance
// backface-visibility // backface-visibility
// background-clip // background-clip
// background-image // background-image
// background-origin // background-origin
// background-size // background-size
// blur // blur
// border-bottom-left-radius // border-bottom-left-radius
// border-bottom-right-radius // border-bottom-right-radius
// border-image // border-image
// border-radius // border-radius
// border-top-left-radius // border-top-left-radius
// border-top-right-radius // border-top-right-radius
// box-shadow // box-shadow
// box-sizing // box-sizing
// brightness // brightness
// calc // calc
// column-count // column-count
// column-gap // column-gap
// column-rule // column-rule
// column-width // column-width
// columns // columns
// contrast // contrast
// display // display
// drop-shadow // drop-shadow
// filter // filter
// flex // flex
// flex-basis // flex-basis
// flex-direction // flex-direction
// flex-grow // flex-grow
// flex-shrink // flex-shrink
// flex-wrap // flex-wrap
// font-face // font-face
// grayscale // grayscale
// hue-rotate // hue-rotate
// hyphens // hyphens
// invert // invert
// justify-content // justify-content
// keyframes // keyframes
// opacity // opacity
// order // order
// perspective // perspective
// perspective-origin // perspective-origin
// placeholder // placeholder
// rotate // rotate
// rotate3d // rotate3d
// rotateX // rotateX
// rotateY // rotateY
// rotateZ // rotateZ
// saturate // saturate
// scale // scale
// scale3d // scale3d
// scaleX // scaleX
// scaleY // scaleY
// scaleZ // scaleZ
// selection // selection
// sepia // sepia
// size // size
// skew // skew
// skewX // skewX
// skewY // skewY
// transform // transform
// transform-origin // transform-origin
// transform-style // transform-style
// transition // transition
// transition-delay // transition-delay
// transition-duration // transition-duration
// transition-property // transition-property
// transition-timing-function // transition-timing-function
// translate // translate
// translate3d // translate3d
// translateX // translateX
// translateY // translateY
// translateZ // translateZ
// user-select // user-select
.align-content(...) { .align-content(...) {
@process: ~`(function(r){return r=r||"stretch"})((function(){var r="@{arguments}";return r=r.replace(/^\[|\]$/g,"")})())`; @process: ~`(function(r){return r=r||"stretch"})((function(){var r="@{arguments}";return r=r.replace(/^\[|\]$/g,"")})())`;
@ -257,16 +257,16 @@
.border-bottom-left-radius(...) { .border-bottom-left-radius(...) {
@process: ~`(function(e){e=e||"0";var t=/\d/gi,r=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(e)&&(e=e.replace(/(?:,)(?![^(]*\))/g,"")),t.test(e)&&(e=e.replace(r,function(e){return 0==e&&e||e+"px"})),e})((function(){var e="@{arguments}";return e=e.replace(/^\[|\]$/g,"")})())`; @process: ~`(function(e){e=e||"0";var t=/\d/gi,r=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(e)&&(e=e.replace(/(?:,)(?![^(]*\))/g,"")),t.test(e)&&(e=e.replace(r,function(e){return 0==e&&e||e+"px"})),e})((function(){var e="@{arguments}";return e=e.replace(/^\[|\]$/g,"")})())`;
-webkit-border-bottom-left-radius: @process; -webkit-background-clip: padding-box; -webkit-border-bottom-left-radius: @process; -webkit-background-clip: padding-box;
-moz-border-radius-bottomleft: @process; -moz-background-clip: padding; -moz-border-radius-bottomleft: @process; -moz-background-clip: padding;
border-bottom-left-radius: @process; background-clip: padding-box; border-bottom-left-radius: @process; background-clip: padding-box;
} }
.border-bottom-right-radius(...) { .border-bottom-right-radius(...) {
@process: ~`(function(e){e=e||"0";var t=/\d/gi,r=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(e)&&(e=e.replace(/(?:,)(?![^(]*\))/g,"")),t.test(e)&&(e=e.replace(r,function(e){return 0==e&&e||e+"px"})),e})((function(){var e="@{arguments}";return e=e.replace(/^\[|\]$/g,"")})())`; @process: ~`(function(e){e=e||"0";var t=/\d/gi,r=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(e)&&(e=e.replace(/(?:,)(?![^(]*\))/g,"")),t.test(e)&&(e=e.replace(r,function(e){return 0==e&&e||e+"px"})),e})((function(){var e="@{arguments}";return e=e.replace(/^\[|\]$/g,"")})())`;
-webkit-border-bottom-right-radius: @process; -webkit-background-clip: padding-box; -webkit-border-bottom-right-radius: @process; -webkit-background-clip: padding-box;
-moz-border-radius-bottomright: @process; -moz-background-clip: padding; -moz-border-radius-bottomright: @process; -moz-background-clip: padding;
border-bottom-right-radius: @process; background-clip: padding-box; border-bottom-right-radius: @process; background-clip: padding-box;
} }
.border-image(...) { .border-image(...) {
@ -279,23 +279,23 @@
.border-radius(...) { .border-radius(...) {
@process: ~`(function(e){e=e||"0";var t=/\d/gi,r=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(e)&&(e=e.replace(/(?:,)(?![^(]*\))/g,"")),t.test(e)&&(e=e.replace(r,function(e){return 0==e&&e||e+"px"})),e})((function(){var e="@{arguments}";return e=e.replace(/^\[|\]$/g,"")})())`; @process: ~`(function(e){e=e||"0";var t=/\d/gi,r=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(e)&&(e=e.replace(/(?:,)(?![^(]*\))/g,"")),t.test(e)&&(e=e.replace(r,function(e){return 0==e&&e||e+"px"})),e})((function(){var e="@{arguments}";return e=e.replace(/^\[|\]$/g,"")})())`;
-webkit-border-radius: @process; -webkit-background-clip: padding-box; -webkit-border-radius: @process; -webkit-background-clip: padding-box;
-moz-border-radius: @process; -moz-background-clip: padding; -moz-border-radius: @process; -moz-background-clip: padding;
border-radius: @process; background-clip: padding-box; border-radius: @process; background-clip: padding-box;
} }
.border-top-left-radius(...) { .border-top-left-radius(...) {
@process: ~`(function(e){e=e||"0";var t=/\d/gi,r=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(e)&&(e=e.replace(/(?:,)(?![^(]*\))/g,"")),t.test(e)&&(e=e.replace(r,function(e){return 0==e&&e||e+"px"})),e})((function(){var e="@{arguments}";return e=e.replace(/^\[|\]$/g,"")})())`; @process: ~`(function(e){e=e||"0";var t=/\d/gi,r=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(e)&&(e=e.replace(/(?:,)(?![^(]*\))/g,"")),t.test(e)&&(e=e.replace(r,function(e){return 0==e&&e||e+"px"})),e})((function(){var e="@{arguments}";return e=e.replace(/^\[|\]$/g,"")})())`;
-webkit-border-top-left-radius: @process; -webkit-background-clip: padding-box; -webkit-border-top-left-radius: @process; -webkit-background-clip: padding-box;
-moz-border-radius-topleft: @process; -moz-background-clip: padding; -moz-border-radius-topleft: @process; -moz-background-clip: padding;
border-top-left-radius: @process; background-clip: padding-box; border-top-left-radius: @process; background-clip: padding-box;
} }
.border-top-right-radius(...) { .border-top-right-radius(...) {
@process: ~`(function(e){e=e||"0";var t=/\d/gi,r=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(e)&&(e=e.replace(/(?:,)(?![^(]*\))/g,"")),t.test(e)&&(e=e.replace(r,function(e){return 0==e&&e||e+"px"})),e})((function(){var e="@{arguments}";return e=e.replace(/^\[|\]$/g,"")})())`; @process: ~`(function(e){e=e||"0";var t=/\d/gi,r=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(e)&&(e=e.replace(/(?:,)(?![^(]*\))/g,"")),t.test(e)&&(e=e.replace(r,function(e){return 0==e&&e||e+"px"})),e})((function(){var e="@{arguments}";return e=e.replace(/^\[|\]$/g,"")})())`;
-webkit-border-top-right-radius: @process; -webkit-background-clip: padding-box; -webkit-border-top-right-radius: @process; -webkit-background-clip: padding-box;
-moz-border-radius-topright: @process; -moz-background-clip: padding; -moz-border-radius-topright: @process; -moz-background-clip: padding;
border-top-right-radius: @process; background-clip: padding-box; border-top-right-radius: @process; background-clip: padding-box;
} }
.box-shadow(...) { .box-shadow(...) {
@ -453,9 +453,9 @@
font-family: "@{fontname}"; font-family: "@{fontname}";
src: url("@{fontfile}.eot"); src: url("@{fontfile}.eot");
src: url("@{fontfile}.eot?#iefix") format("embedded-opentype"), src: url("@{fontfile}.eot?#iefix") format("embedded-opentype"),
url("@{fontfile}.woff") format("woff"), url("@{fontfile}.woff") format("woff"),
url("@{fontfile}.ttf") format("truetype"), url("@{fontfile}.ttf") format("truetype"),
url("@{fontfile}.svg#@{fontname}") format("svg"); url("@{fontfile}.svg#@{fontname}") format("svg");
font-weight: @fontweight; font-weight: @fontweight;
font-style: @fontstyle; font-style: @fontstyle;
} }
@ -546,32 +546,32 @@
.placeholder(@color:#aaa, @element: 08121991) { .placeholder(@color:#aaa, @element: 08121991) {
.inception (@arguments) when not (@element = 08121991) { .inception (@arguments) when not (@element = 08121991) {
@{element}::-webkit-input-placeholder { @{element}::-webkit-input-placeholder {
color: @color; color: @color;
} }
@{element}:-moz-placeholder { @{element}:-moz-placeholder {
color: @color; color: @color;
} }
@{element}::-moz-placeholder { @{element}::-moz-placeholder {
color: @color; color: @color;
} }
@{element}:-ms-input-placeholder { @{element}:-ms-input-placeholder {
color: @color; color: @color;
} }
} }
.inception (@arguments) when (@element = 08121991) { .inception (@arguments) when (@element = 08121991) {
&::-webkit-input-placeholder { &::-webkit-input-placeholder {
color: @color; color: @color;
} }
&:-moz-placeholder { &:-moz-placeholder {
color: @color; color: @color;
} }
&::-moz-placeholder { &::-moz-placeholder {
color: @color; color: @color;
} }
&:-ms-input-placeholder { &:-ms-input-placeholder {
color: @color; color: @color;
} }
} }
.inception(@arguments); .inception(@arguments);
} }
@ -691,13 +691,13 @@
.size(@square) { .size(@square) {
@unit: 'px'; @unit: 'px';
.process(@square) when (ispixel(@square)), (isem(@square)), (ispercentage(@square)), (iskeyword(@square)) { .process(@square) when (ispixel(@square)), (isem(@square)), (ispercentage(@square)), (iskeyword(@square)) {
width: @square; width: @square;
height: @square; height: @square;
} }
.process(@square) when not (ispixel(@square)) and not (isem(@square)) and not (ispercentage(@square)) and not (isstring(@square)) and not (iskeyword(@square)) { .process(@square) when not (ispixel(@square)) and not (isem(@square)) and not (ispercentage(@square)) and not (isstring(@square)) and not (iskeyword(@square)) {
width: ~`@{square} + @{unit}`; width: ~`@{square} + @{unit}`;
height: ~`@{square} + @{unit}`; height: ~`@{square} + @{unit}`;
} }
.process(@square); .process(@square);
@ -707,29 +707,29 @@
.size(@width, @height) { .size(@width, @height) {
@unit: 'px'; @unit: 'px';
.process(@width, @height) when (ispixel(@width)), (isem(@width)), (ispercentage(@width)), (iskeyword(@width)) { .process(@width, @height) when (ispixel(@width)), (isem(@width)), (ispercentage(@width)), (iskeyword(@width)) {
.kittens(@height) when (ispixel(@height)), (isem(@height)), (ispercentage(@height)), (iskeyword(@height)) { .kittens(@height) when (ispixel(@height)), (isem(@height)), (ispercentage(@height)), (iskeyword(@height)) {
width: @width; width: @width;
height: @height; height: @height;
} }
.kittens(@height) when not (ispixel(@height)) and not (isem(@height)) and not (ispercentage(@height)) and not (iskeyword(@height)) { .kittens(@height) when not (ispixel(@height)) and not (isem(@height)) and not (ispercentage(@height)) and not (iskeyword(@height)) {
width: @width; width: @width;
height: ~`@{height} + @{unit}`; height: ~`@{height} + @{unit}`;
} }
.kittens(@height); .kittens(@height);
} }
.process(@width, @height) when (ispixel(@height)), (isem(@height)), (ispercentage(@height)), (iskeyword(@height)) { .process(@width, @height) when (ispixel(@height)), (isem(@height)), (ispercentage(@height)), (iskeyword(@height)) {
.kittens(@width) when (ispixel(@width)), (isem(@width)), (ispercentage(@width)), (iskeyword(@width)) {} .kittens(@width) when (ispixel(@width)), (isem(@width)), (ispercentage(@width)), (iskeyword(@width)) {}
.kittens(@width) when not (ispixel(@width)) and not (isem(@width)) and not (ispercentage(@width)) and not (iskeyword(@width)) { .kittens(@width) when not (ispixel(@width)) and not (isem(@width)) and not (ispercentage(@width)) and not (iskeyword(@width)) {
width: ~`@{width} + @{unit}`; width: ~`@{width} + @{unit}`;
height: @height; height: @height;
} }
.kittens(@width); .kittens(@width);
} }
.process(@width, @height) when not (ispixel(@width)) and not (isem(@width)) and not (ispercentage(@width)) and not (iskeyword(@width)) and not (ispixel(@height)) and not (isem(@height)) and not (ispercentage(@height)) and not (iskeyword(@height)) { .process(@width, @height) when not (ispixel(@width)) and not (isem(@width)) and not (ispercentage(@width)) and not (iskeyword(@width)) and not (ispixel(@height)) and not (isem(@height)) and not (ispercentage(@height)) and not (iskeyword(@height)) {
width: ~`@{width} + @{unit}`; width: ~`@{width} + @{unit}`;
height: ~`@{height} + @{unit}`; height: ~`@{height} + @{unit}`;
} }
.process(@width, @height); .process(@width, @height);

View File

@ -9,8 +9,8 @@
@monospace: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; @monospace: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
body { body {
background-color: #fafafa; background-color: #fafafa;
font-family: @serif; font-family: @serif;
} }
h1, h1,
@ -19,7 +19,7 @@ h3,
h4, h4,
h5, h5,
h6 { h6 {
font-family: @sans-serif; font-family: @sans-serif;
} }
code, code,
@ -30,83 +30,83 @@ samp {
} }
a { a {
.transition(color 0.2s ease-in-out); .transition(color 0.2s ease-in-out);
color: #2e2e2e; color: #2e2e2e;
&:hover { &:hover {
color: orange; color: orange;
} }
&.nodec { &.nodec {
text-decoration: none; text-decoration: none;
} }
} }
.header { .header {
background-color: #efefef; background-color: #efefef;
border-bottom: 1px solid #ddd; border-bottom: 1px solid #ddd;
border-top: 5px solid #333; border-top: 5px solid #333;
margin-bottom: 30px; margin-bottom: 30px;
padding: 30px 0; padding: 30px 0;
.header-image { .header-image {
margin-right: 30px; margin-right: 30px;
width: 200px; width: 200px;
} }
.header-name { .header-name {
font-size: 82px; font-size: 82px;
margin-top: 0; margin-top: 0;
} }
.header-text { .header-text {
color: #000; color: #000;
font-size: 22px; font-size: 22px;
margin-bottom: 51px; margin-bottom: 51px;
margin-top: 0; margin-top: 0;
} }
.header-menu { .header-menu {
font-size: 18px; font-size: 18px;
margin-bottom: 0; margin-bottom: 0;
li { li {
&:first-child { &:first-child {
padding-left: 0; padding-left: 0;
} }
&:last-child { &:last-child {
padding-right: 0; padding-right: 0;
} }
}
} }
}
} }
.footer { .footer {
background-color: #efefef; background-color: #efefef;
color: grey; color: grey;
border-top: 1px solid #ddd; border-top: 1px solid #ddd;
font-size: 12px; font-size: 12px;
margin-top: 30px; margin-top: 30px;
padding: 30px 0; padding: 30px 0;
} }
.post { .post {
font-size: 16px; font-size: 16px;
&.mini-post { &.mini-post {
padding: 30px 0; padding: 30px 0;
border-bottom: 1px solid #ddd; border-bottom: 1px solid #ddd;
&:last-child { &:last-child {
border-bottom: none; border-bottom: none;
}
.post-title {
font-size: 18px;
line-height: 1.42857143; // Bootstrap rule
margin-bottom: 10px;
margin-top: 0;
}
.post-date {
font-family: @sans-serif;
font-size: 18px;
}
} }
&.full-post { .post-title {
* img { font-size: 18px;
max-width: 940px; line-height: 1.42857143; // Bootstrap rule
} margin-bottom: 10px;
margin-top: 0;
} }
.post-date {
font-family: @sans-serif;
font-size: 18px;
}
}
&.full-post {
* img {
max-width: 940px;
}
}
} }
// .highlight { // .highlight {
@ -119,6 +119,6 @@ a {
// } // }
.separator { .separator {
margin-top: 30px; margin-top: 30px;
margin-bottom: 30px; margin-bottom: 30px;
} }

View File

@ -1,15 +1,15 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block title %} {% block title %}
{{ SITENAME }} — Archives {{ SITENAME }} — Archives
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1>Archives</h1> <h1>Archives</h1>
<dl class="list dl-horizontal"> <dl class="list dl-horizontal">
{% for article in dates %} {% for article in dates %}
<dt>{{ article.locale_date }}</dt> <dt>{{ article.locale_date }}</dt>
<dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd> <dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd>
{% endfor %} {% endfor %}
</dl> </dl>
{% endblock %} {% endblock %}

View File

@ -1,48 +1,48 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block head %} {% block head %}
{{ super() }} {{ super() }}
{% if article.author %} {% if article.author %}
<meta name="author" content="{{ article.author }}"> <meta name="author" content="{{ article.author }}">
{% endif %} {% endif %}
{% if article.summary %} {% if article.summary %}
<meta name="description" content="{{ article.summary|striptags }}"> <meta name="description" content="{{ article.summary|striptags }}">
{% endif %} {% endif %}
<meta name="tags" contents="{% for tag in article.tags %}{{ tag }}, {% endfor %}"> <meta name="tags" contents="{% for tag in article.tags %}{{ tag }}, {% endfor %}">
{% endblock %} {% endblock %}
{% block title %} {% block title %}
{{ SITENAME }} &mdash; {{ article.title|striptags }} {{ SITENAME }} &mdash; {{ article.title|striptags }}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<div class="post full-post"> <div class="post full-post">
<h1 class="post-title"> <h1 class="post-title">
<a href="/{{ article.url }}" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a> <a href="/{{ article.url }}" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a>
</h1> </h1>
<ul class="list-inline"> <ul class="list-inline">
<li class="post-date"> <li class="post-date">
<a class="text-muted" href="/{{ article.url }}" title="{{ article.date.isoformat() }}">{{ article.locale_date }}</a> <a class="text-muted" href="/{{ article.url }}" title="{{ article.date.isoformat() }}">{{ article.locale_date }}</a>
</li> </li>
<li class="muted">&middot;</li> <li class="muted">&middot;</li>
<li class="post-category"> <li class="post-category">
<a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a> <a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a>
</li> </li>
{% if article.author and SHOW_ARTICLE_AUTHOR %} {% if article.author and SHOW_ARTICLE_AUTHOR %}
<li class="muted">&middot;</li> <li class="muted">&middot;</li>
<li> <li>
<address class="post-author"> <address class="post-author">
By <a href="{{ SITEURL }}/{{ article.author.url }}">{{ article.author }}</a> By <a href="{{ SITEURL }}/{{ article.author.url }}">{{ article.author }}</a>
</address> </address>
</li> </li>
{% endif %} {% endif %}
</ul> </ul>
<div class="post-content"> <div class="post-content">
{{ article.content }} {{ article.content }}
</div>
</div>
<hr class="separator">
<div class="col-md-8 col-md-offset-2">
{% include 'include/disqus_comments.html' %}
</div> </div>
</div>
<hr class="separator">
<div class="col-md-8 col-md-offset-2">
{% include 'include/disqus_comments.html' %}
</div>
{% endblock %} {% endblock %}

View File

@ -1,9 +1,9 @@
{% extends "index.html" %} {% extends "index.html" %}
{% block title %} {% block title %}
{{ SITENAME }} &mdash; Articles by {{ author }} {{ SITENAME }} &mdash; Articles by {{ author }}
{% endblock %} {% endblock %}
{% block page_title %} {% block page_title %}
<h1>Articles by {{ author }}</h1> <h1>Articles by {{ author }}</h1>
{% endblock %} {% endblock %}

View File

@ -1,14 +1,14 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block title %} {% block title %}
{{ SITENAME }} &mdash; Authors {{ SITENAME }} &mdash; Authors
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1>Authors on {{ SITENAME }}</h1> <h1>Authors on {{ SITENAME }}</h1>
<ul class="list-unstyled"> <ul class="list-unstyled">
{% for author, articles in authors|sort %} {% for author, articles in authors|sort %}
<li><a href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a> ({{ articles|count }})</li> <li><a href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a> ({{ articles|count }})</li>
{% endfor %} {% endfor %}
</ul> </ul>
{% endblock %} {% endblock %}

View File

@ -1,37 +1,51 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="{{ DEFAULT_LANG }}"> <html lang="{{ DEFAULT_LANG }}">
<head> <head>
{% block head %} {% block head %}
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<title>{% block title %}{{ SITE_SUBTEXT }}{% endblock title %}</title> <title>{% block title %}{{ SITE_SUBTEXT }}{% endblock title %}</title>
{% include "include/favicon.html" %} {% if EXTRA_FAVICON %}
{% include "include/feeds.html" %} <link rel="icon" type="image/png" href="/favicon-196x196.png" sizes="196x196">
<link rel="stylesheet" href="{{ SITEURL }}/theme/css/style.css"> <link rel="icon" type="image/png" href="/favicon-160x160.png" sizes="160x160">
<link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16">
<link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">
{% endif %}
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
{# WARNING: Respond.js doesn't work if you view the page via file:// #}
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
{% include "include/google_analytics.html" %} {% if FEED_ATOM %}
{% endblock %} <link type="application/atom+xml" rel="alternate" href="/{{ FEED_ATOM }}" title="{{ SITENAME }} Atom Feed">
</head> {% endif %}
{% if FEED_RSS %}
<link type="application/rss+xml" rel="alternate" href="/{{ FEED_RSS }}" title="{{ SITENAME }} RSS Feed">
{% endif %}
<body> <link rel="stylesheet" href="{{ SITEURL }}/theme/css/style.css">
{% include "include/header.html" %}
<div class="container">
{% block content %}{% endblock %}
</div>
{% include "include/footer.html" %}
<script src="{{ SITEURL }}/theme/js/libs/jquery.min.js"></script> <!--[if lt IE 9]>
<script src="{{ SITEURL }}/theme/js/bootstrap.min.js"></script> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
</body> <!-- 42 --> {# WARNING: Respond.js doesn't work if you view the page via file:// #}
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
{% include "include/google_analytics.html" %}
{% endblock %}
</head>
<body>
{% include "include/header.html" %}
<div class="container">
{% block content %}{% endblock %}
</div>
{% include "include/footer.html" %}
<script src="{{ SITEURL }}/theme/js/jquery.min.js"></script>
<script src="{{ SITEURL }}/theme/js/bootstrap.min.js"></script>
</body> <!-- 42 -->
</html> </html>

View File

@ -1,14 +1,14 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block title %} {% block title %}
{{ SITENAME }} &mdash; Categories {{ SITENAME }} &mdash; Categories
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1>Categories on {{ SITENAME }}</h1> <h1>Categories on {{ SITENAME }}</h1>
<ul class="list-unstyled"> <ul class="list-unstyled">
{% for category, articles in categories %} {% for category, articles in categories %}
<li><a href="{{ SITEURL }}/{{ category.url }}">{{ category }}</a></li> <li><a href="{{ SITEURL }}/{{ category.url }}">{{ category }}</a></li>
{% endfor %} {% endfor %}
</ul> </ul>
{% endblock %} {% endblock %}

View File

@ -1,9 +1,9 @@
{% extends "index.html" %} {% extends "index.html" %}
{% block title %} {% block title %}
{{ SITENAME }} &mdash; Articles in the {{ category }} category {{ SITENAME }} &mdash; Articles in the {{ category }} category
{% endblock %} {% endblock %}
{% block page_title %} {% block page_title %}
<h1>Articles in the {{ category }} category</h1> <h1>Articles in the {{ category }} category</h1>
{% endblock %} {% endblock %}

View File

@ -1,24 +1,24 @@
{% if DISQUS_SITENAME %} {% if DISQUS_SITENAME %}
<div id="disqus_thread"> <div id="disqus_thread">
<script> <script>
var disqus_shortname = '{{ DISQUS_SITENAME }}'; var disqus_shortname = '{{ DISQUS_SITENAME }}';
(function() { (function() {
var dsq = document.createElement('script'); var dsq = document.createElement('script');
dsq.type = 'text/javascript'; dsq.type = 'text/javascript';
dsq.async = true; dsq.async = true;
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || (document.getElementsByTagName('head')[0] ||
document.getElementsByTagName('body')[0]).appendChild(dsq); document.getElementsByTagName('body')[0]).appendChild(dsq);
})(); })();
</script> </script>
<noscript> <noscript>
Please enable JavaScript to view the Please enable JavaScript to view the
<a href="http://disqus.com/?ref_noscript={{ DISQUS_SITENAME }}"> <a href="http://disqus.com/?ref_noscript={{ DISQUS_SITENAME }}">
comments powered by Disqus. comments powered by Disqus.
</a> </a>
</noscript> </noscript>
<a href="http://disqus.com" class="dsq-brlink"> <a href="http://disqus.com" class="dsq-brlink">
blog comments powered by <span class="logo-disqus">Disqus</span> blog comments powered by <span class="logo-disqus">Disqus</span>
</a> </a>
</div> </div>
{% endif %} {% endif %}

View File

@ -1,7 +0,0 @@
{% if EXTRA_FAVICON %}
<link rel="icon" type="image/png" href="/favicon-196x196.png" sizes="196x196">
<link rel="icon" type="image/png" href="/favicon-160x160.png" sizes="160x160">
<link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16">
<link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">
{% endif %}

View File

@ -1,6 +0,0 @@
{% if FEED_ATOM %}
<link type="application/atom+xml" rel="alternate" href="/{{ FEED_ATOM }}" title="{{ SITENAME }} Atom Feed">
{% endif %}
{% if FEED_RSS %}
<link type="application/rss+xml" rel="alternate" href="/{{ FEED_RSS }}" title="{{ SITENAME }} RSS Feed">
{% endif %}

View File

@ -1,10 +1,10 @@
<footer class="footer"> <footer class="footer">
<div class="container"> <div class="container">
<p class="text-center"> <p class="text-center">
{{ AUTHOR }}, <a href="{{ LICENSE_URL}}" target="_blank">{{ LICENSE_NAME }}</a> unless otherwise noted. {{ AUTHOR }}, <a href="{{ LICENSE_URL}}" target="_blank">{{ LICENSE_NAME }}</a> unless otherwise noted.
</p> </p>
<div class="text-center"> <div class="text-center">
Generated by <a href="http://getpelican.com" target="_blank">Pelican</a> with the <a href="http://github.com/nairobilug/pelican-alchemy">alchemy</a> theme. Generated by <a href="http://getpelican.com" target="_blank">Pelican</a> with the <a href="http://github.com/nairobilug/pelican-alchemy">alchemy</a> theme.
</div>
</div> </div>
</div>
</footer> <!-- /.footer --> </footer> <!-- /.footer -->

View File

@ -1,17 +1,17 @@
{% if GOOGLE_ANALYTICS_ID and GOOGLE_ANALYTICS_DOMAIN %} {% if GOOGLE_ANALYTICS_ID and GOOGLE_ANALYTICS_DOMAIN %}
<script> <script>
(function (i, s, o, g, r, a, m) { (function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r; i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function () { i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments) (i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date(); }, i[r].l = 1 * new Date();
a = s.createElement(o), a = s.createElement(o),
m = s.getElementsByTagName(o)[0]; m = s.getElementsByTagName(o)[0];
a.async = 1; a.async = 1;
a.src = g; a.src = g;
m.parentNode.insertBefore(a, m) m.parentNode.insertBefore(a, m)
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga'); })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
ga('create', '{{ GOOGLE_ANALYTICS_ID }}', '{{ GOOGLE_ANALYTICS_DOMAIN }}'); ga('create', '{{ GOOGLE_ANALYTICS_ID }}', '{{ GOOGLE_ANALYTICS_DOMAIN }}');
ga('send', 'pageview'); ga('send', 'pageview');
</script> </script>
{% endif %} {% endif %}

View File

@ -1,49 +1,49 @@
<header class="header"> <header class="header">
<div class="container"> <div class="container">
{% if PROFILE_IMAGE %} {% if PROFILE_IMAGE %}
<div class="header-image pull-left"> <div class="header-image pull-left">
<a class="nodec" href="{{ SITEURL }}"><img src={{ PROFILE_IMAGE }}></a> <a class="nodec" href="{{ SITEURL }}"><img src={{ PROFILE_IMAGE }}></a>
</div> </div>
{% endif %}
<div class="header-inner">
<h1 class="header-name">
<a class="nodec" href="{{ SITEURL }}">{{ SITENAME }}</a>
</h1>
<h3 class="header-text">{{ SITE_SUBTEXT }}</h3>
<ul class="header-menu list-inline">
{% for title, link in MENU_ITEMS %}
<li><a class="nodec" href="{{ link }}" target="_blank">{{ title }}</a></li>
{% endfor %}
{% if PAGES_ON_MENU %}
{% for p in PAGES %}
{% if loop.first %}
<li class="muted">|</li>
{% endif %}
<li><a class="nodec" href="{{ SITEURL }}/{{ p.url }}">{{ p.title }}</a></li>
{% if loop.last %}
<li class="muted">|</li>
{% endif %}
{% endfor %}
{% endif %} {% endif %}
<div class="header-inner"> {% if EMAIL_ADDRESS %}
<h1 class="header-name"> <li><a class="nodec icon-mail-alt" href="mailto:{{ EMAIL_ADDRESS }}"></a></li>
<a class="nodec" href="{{ SITEURL }}">{{ SITENAME }}</a> {% endif %}
</h1> {% if GITHUB_ADDRESS %}
<h3 class="header-text">{{ SITE_SUBTEXT }}</h3> <li><a class="nodec icon-github" href="{{ GITHUB_ADDRESS }}"></a></li>
<ul class="header-menu list-inline"> {% endif %}
{% for title, link in MENU_ITEMS %} {% if SO_ADDRESS %}
<li><a class="nodec" href="{{ link }}" target="_blank">{{ title }}</a></li> <li><a class="nodec icon-stackoverflow" href="{{ SO_ADDRESS }}"></a></li>
{% endfor %} {% endif %}
{% if PAGES_ON_MENU %} {% if TWITTER_ADDRESS %}
{% for p in PAGES %} <li><a class="nodec icon-twitter" href="{{ TWITTER_ADDRESS }}"></a></li>
{% if loop.first %} {% endif %}
<li class="muted">|</li> {% if FB_ADDRESS %}
{% endif %} <li><a class="nodec icon-facebook" href="{{ FB_ADDRESS }}"></a></li>
<li><a class="nodec" href="{{ SITEURL }}/{{ p.url }}">{{ p.title }}</a></li> {% endif %}
{% if loop.last %} {% if FEED_ATOM or FEED_RSS %}
<li class="muted">|</li> <li><a class="nodec icon-rss" href="/{% if FEED_ATOM %}{{ FEED_ATOM }}{% else %}{{ FEED_RSS }}{% endif %}"></a></li>
{% endif %} {% endif %}
{% endfor %} </ul>
{% endif %}
{% if EMAIL_ADDRESS %}
<li><a class="nodec icon-mail-alt" href="mailto:{{ EMAIL_ADDRESS }}"></a></li>
{% endif %}
{% if GITHUB_ADDRESS %}
<li><a class="nodec icon-github" href="{{ GITHUB_ADDRESS }}"></a></li>
{% endif %}
{% if SO_ADDRESS %}
<li><a class="nodec icon-stackoverflow" href="{{ SO_ADDRESS }}"></a></li>
{% endif %}
{% if TWITTER_ADDRESS %}
<li><a class="nodec icon-twitter" href="{{ TWITTER_ADDRESS }}"></a></li>
{% endif %}
{% if FB_ADDRESS %}
<li><a class="nodec icon-facebook" href="{{ FB_ADDRESS }}"></a></li>
{% endif %}
{% if FEED_ATOM or FEED_RSS %}
<li><a class="nodec icon-rss" href="/{% if FEED_ATOM %}{{ FEED_ATOM }}{% else %}{{ FEED_RSS }}{% endif %}"></a></li>
{% endif %}
</ul>
</div>
</div> </div>
</div>
</header> <!-- /.header --> </header> <!-- /.header -->

View File

@ -1,11 +1,11 @@
{% if DEFAULT_PAGINATION %} {% if DEFAULT_PAGINATION %}
<ul class="pagination"> <ul class="pagination">
{% if articles_page.has_previous() %} {% if articles_page.has_previous() %}
<li><a href="{{ SITEURL }}/{{ articles_previous_page.url }}">&laquo;</a></li> <li><a href="{{ SITEURL }}/{{ articles_previous_page.url }}">&laquo;</a></li>
{% endif %} {% endif %}
<li class="disabled"><a href="#">Page {{ articles_page.number }} / {{ articles_paginator.num_pages }}</a></li> <li class="disabled"><a href="#">Page {{ articles_page.number }} / {{ articles_paginator.num_pages }}</a></li>
{% if articles_page.has_next() %} {% if articles_page.has_next() %}
<li><a href="{{ SITEURL }}/{{ articles_next_page.url }}">&raquo;</a></li> <li><a href="{{ SITEURL }}/{{ articles_next_page.url }}">&raquo;</a></li>
{% endif %} {% endif %}
</ul> </ul>
{% endif %} {% endif %}

View File

@ -1,44 +1,44 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block head %} {% block head %}
{{ super() }} {{ super() }}
<meta name="author" content="{{ AUTHOR }}"> <meta name="author" content="{{ AUTHOR }}">
<meta name="description" content="{{ META_DESCRIPTION|striptags }}"> <meta name="description" content="{{ META_DESCRIPTION|striptags }}">
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% block page_title %} {% block page_title %}
<h1>All Articles</h1> <h1>All Articles</h1>
{% endblock %} {% endblock %}
<div> <div>
{% for article in articles_page.object_list %} {% for article in articles_page.object_list %}
<div class="post mini-post"> <div class="post mini-post">
<div class="row"> <div class="row">
<div class="col-md-4"> <div class="col-md-4">
<p class="post-date"> <p class="post-date">
<a class="text-muted" href="/{{ article.url }}" title="{{ article.date.isoformat() }}">{{ article.locale_date }}</a> <a class="text-muted" href="/{{ article.url }}" title="{{ article.date.isoformat() }}">{{ article.locale_date }}</a>
</p> </p>
<p class="post-category"> <p class="post-category">
<a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a> <a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a>
</p> </p>
{% if article.author and SHOW_ARTICLE_AUTHOR %} {% if article.author and SHOW_ARTICLE_AUTHOR %}
<address class="post-author"> <address class="post-author">
By <a href="{{ SITEURL }}/{{ article.author.url }}">{{ article.author }}</a> By <a href="{{ SITEURL }}/{{ article.author.url }}">{{ article.author }}</a>
</address> </address>
{% endif %} {% endif %}
</div> </div>
<div class="col-md-8"> <div class="col-md-8">
<h2 class="post-title"> <h2 class="post-title">
<a href="/{{ article.url }}" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a> <a href="/{{ article.url }}" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a>
</h2> </h2>
<div class="post-content"> <div class="post-content">
{{ article.content|striptags|truncate(256) }} {{ article.content|striptags|truncate(256) }}
</div>
</div>
</div>
</div> </div>
{% endfor %} </div>
</div> </div>
{% include 'include/pagination.html' %} </div>
{% endfor %}
</div>
{% include 'include/pagination.html' %}
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,25 +1,25 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block head %} {% block head %}
{{ super() }} {{ super() }}
{% if page.author %} {% if page.author %}
<meta name="author" content="{{ page.author }}"> <meta name="author" content="{{ page.author }}">
{% endif %} {% endif %}
{% if page.summary %} {% if page.summary %}
<meta name="description" content="{{ page.summary|striptags }}"> <meta name="description" content="{{ page.summary|striptags }}">
{% endif %} {% endif %}
<meta name="tags" contents="{% for tag in page.tags %}{{ tag }}, {% endfor %}"> <meta name="tags" contents="{% for tag in page.tags %}{{ tag }}, {% endfor %}">
{% endblock %} {% endblock %}
{% block title %} {% block title %}
{{ SITENAME }} &mdash; {{ page.title|striptags }} {{ SITENAME }} &mdash; {{ page.title|striptags }}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<div class="page"> <div class="page">
<h1 class="title">{{ page.title }}</h1> <h1 class="title">{{ page.title }}</h1>
<div class="content"> <div class="content">
{{ page.content }} {{ page.content }}
</div>
</div> </div>
</div>
{% endblock %} {% endblock %}

View File

@ -1,9 +1,9 @@
{% extends "index.html" %} {% extends "index.html" %}
{% block title %} {% block title %}
{{ SITENAME }} &mdash; Articles with the {{ tag }} tag {{ SITENAME }} &mdash; Articles with the {{ tag }} tag
{% endblock %} {% endblock %}
{% block page_title %} {% block page_title %}
<h1>Articles with the {{ tag }} tag</h1> <h1>Articles with the {{ tag }} tag</h1>
{% endblock %} {% endblock %}

View File

@ -1,14 +1,14 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block title %} {% block title %}
{{ SITENAME }} &mdash; Tags {{ SITENAME }} &mdash; Tags
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h1>Tags on {{ SITENAME }}</h1> <h1>Tags on {{ SITENAME }}</h1>
<ul class="list-unstyled"> <ul class="list-unstyled">
{% for tag, articles in tags|sort %} {% for tag, articles in tags|sort %}
<li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> ({{ articles|count }})</li> <li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> ({{ articles|count }})</li>
{% endfor %} {% endfor %}
</ul> </ul>
{% endblock %} {% endblock %}