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)
// TABLE OF MIXINS:
// align-content
// align-items
// align-self
// animation
// animation-delay
// animation-direction
// animation-duration
// animation-fill-mode
// animation-iteration-count
// animation-name
// animation-play-state
// animation-timing-function
// appearance
// backface-visibility
// background-clip
// background-image
// background-origin
// background-size
// blur
// border-bottom-left-radius
// border-bottom-right-radius
// border-image
// border-radius
// border-top-left-radius
// border-top-right-radius
// box-shadow
// box-sizing
// brightness
// calc
// column-count
// column-gap
// column-rule
// column-width
// columns
// contrast
// display
// drop-shadow
// filter
// flex
// flex-basis
// flex-direction
// flex-grow
// flex-shrink
// flex-wrap
// font-face
// grayscale
// hue-rotate
// hyphens
// invert
// justify-content
// keyframes
// opacity
// order
// perspective
// perspective-origin
// placeholder
// rotate
// rotate3d
// rotateX
// rotateY
// rotateZ
// saturate
// scale
// scale3d
// scaleX
// scaleY
// scaleZ
// selection
// sepia
// size
// skew
// skewX
// skewY
// transform
// transform-origin
// transform-style
// transition
// transition-delay
// transition-duration
// transition-property
// transition-timing-function
// translate
// translate3d
// translateX
// translateY
// translateZ
// user-select
// align-content
// align-items
// align-self
// animation
// animation-delay
// animation-direction
// animation-duration
// animation-fill-mode
// animation-iteration-count
// animation-name
// animation-play-state
// animation-timing-function
// appearance
// backface-visibility
// background-clip
// background-image
// background-origin
// background-size
// blur
// border-bottom-left-radius
// border-bottom-right-radius
// border-image
// border-radius
// border-top-left-radius
// border-top-right-radius
// box-shadow
// box-sizing
// brightness
// calc
// column-count
// column-gap
// column-rule
// column-width
// columns
// contrast
// display
// drop-shadow
// filter
// flex
// flex-basis
// flex-direction
// flex-grow
// flex-shrink
// flex-wrap
// font-face
// grayscale
// hue-rotate
// hyphens
// invert
// justify-content
// keyframes
// opacity
// order
// perspective
// perspective-origin
// placeholder
// rotate
// rotate3d
// rotateX
// rotateY
// rotateZ
// saturate
// scale
// scale3d
// scaleX
// scaleY
// scaleZ
// selection
// sepia
// size
// skew
// skewX
// skewY
// transform
// transform-origin
// transform-style
// transition
// transition-delay
// transition-duration
// transition-property
// transition-timing-function
// translate
// translate3d
// translateX
// translateY
// translateZ
// user-select
.align-content(...) {
@process: ~`(function(r){return r=r||"stretch"})((function(){var r="@{arguments}";return r=r.replace(/^\[|\]$/g,"")})())`;
@ -257,16 +257,16 @@
.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,"")})())`;
-webkit-border-bottom-left-radius: @process; -webkit-background-clip: padding-box;
-moz-border-radius-bottomleft: @process; -moz-background-clip: padding;
border-bottom-left-radius: @process; background-clip: padding-box;
-webkit-border-bottom-left-radius: @process; -webkit-background-clip: padding-box;
-moz-border-radius-bottomleft: @process; -moz-background-clip: padding;
border-bottom-left-radius: @process; background-clip: padding-box;
}
.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,"")})())`;
-webkit-border-bottom-right-radius: @process; -webkit-background-clip: padding-box;
-moz-border-radius-bottomright: @process; -moz-background-clip: padding;
border-bottom-right-radius: @process; background-clip: padding-box;
-webkit-border-bottom-right-radius: @process; -webkit-background-clip: padding-box;
-moz-border-radius-bottomright: @process; -moz-background-clip: padding;
border-bottom-right-radius: @process; background-clip: padding-box;
}
.border-image(...) {
@ -279,23 +279,23 @@
.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,"")})())`;
-webkit-border-radius: @process; -webkit-background-clip: padding-box;
-moz-border-radius: @process; -moz-background-clip: padding;
border-radius: @process; background-clip: padding-box;
-webkit-border-radius: @process; -webkit-background-clip: padding-box;
-moz-border-radius: @process; -moz-background-clip: padding;
border-radius: @process; background-clip: padding-box;
}
.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,"")})())`;
-webkit-border-top-left-radius: @process; -webkit-background-clip: padding-box;
-moz-border-radius-topleft: @process; -moz-background-clip: padding;
border-top-left-radius: @process; background-clip: padding-box;
-webkit-border-top-left-radius: @process; -webkit-background-clip: padding-box;
-moz-border-radius-topleft: @process; -moz-background-clip: padding;
border-top-left-radius: @process; background-clip: padding-box;
}
.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,"")})())`;
-webkit-border-top-right-radius: @process; -webkit-background-clip: padding-box;
-moz-border-radius-topright: @process; -moz-background-clip: padding;
border-top-right-radius: @process; background-clip: padding-box;
-webkit-border-top-right-radius: @process; -webkit-background-clip: padding-box;
-moz-border-radius-topright: @process; -moz-background-clip: padding;
border-top-right-radius: @process; background-clip: padding-box;
}
.box-shadow(...) {
@ -453,9 +453,9 @@
font-family: "@{fontname}";
src: url("@{fontfile}.eot");
src: url("@{fontfile}.eot?#iefix") format("embedded-opentype"),
url("@{fontfile}.woff") format("woff"),
url("@{fontfile}.ttf") format("truetype"),
url("@{fontfile}.svg#@{fontname}") format("svg");
url("@{fontfile}.woff") format("woff"),
url("@{fontfile}.ttf") format("truetype"),
url("@{fontfile}.svg#@{fontname}") format("svg");
font-weight: @fontweight;
font-style: @fontstyle;
}
@ -546,32 +546,32 @@
.placeholder(@color:#aaa, @element: 08121991) {
.inception (@arguments) when not (@element = 08121991) {
@{element}::-webkit-input-placeholder {
color: @color;
}
@{element}:-moz-placeholder {
color: @color;
}
@{element}::-moz-placeholder {
color: @color;
}
@{element}:-ms-input-placeholder {
color: @color;
}
@{element}::-webkit-input-placeholder {
color: @color;
}
@{element}:-moz-placeholder {
color: @color;
}
@{element}::-moz-placeholder {
color: @color;
}
@{element}:-ms-input-placeholder {
color: @color;
}
}
.inception (@arguments) when (@element = 08121991) {
&::-webkit-input-placeholder {
color: @color;
}
&:-moz-placeholder {
color: @color;
}
&::-moz-placeholder {
color: @color;
}
&:-ms-input-placeholder {
color: @color;
}
&::-webkit-input-placeholder {
color: @color;
}
&:-moz-placeholder {
color: @color;
}
&::-moz-placeholder {
color: @color;
}
&:-ms-input-placeholder {
color: @color;
}
}
.inception(@arguments);
}
@ -691,13 +691,13 @@
.size(@square) {
@unit: 'px';
.process(@square) when (ispixel(@square)), (isem(@square)), (ispercentage(@square)), (iskeyword(@square)) {
width: @square;
height: @square;
width: @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)) {
width: ~`@{square} + @{unit}`;
height: ~`@{square} + @{unit}`;
width: ~`@{square} + @{unit}`;
height: ~`@{square} + @{unit}`;
}
.process(@square);
@ -707,29 +707,29 @@
.size(@width, @height) {
@unit: 'px';
.process(@width, @height) when (ispixel(@width)), (isem(@width)), (ispercentage(@width)), (iskeyword(@width)) {
.kittens(@height) when (ispixel(@height)), (isem(@height)), (ispercentage(@height)), (iskeyword(@height)) {
width: @width;
height: @height;
}
.kittens(@height) when not (ispixel(@height)) and not (isem(@height)) and not (ispercentage(@height)) and not (iskeyword(@height)) {
width: @width;
height: ~`@{height} + @{unit}`;
}
.kittens(@height);
.kittens(@height) when (ispixel(@height)), (isem(@height)), (ispercentage(@height)), (iskeyword(@height)) {
width: @width;
height: @height;
}
.kittens(@height) when not (ispixel(@height)) and not (isem(@height)) and not (ispercentage(@height)) and not (iskeyword(@height)) {
width: @width;
height: ~`@{height} + @{unit}`;
}
.kittens(@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 not (ispixel(@width)) and not (isem(@width)) and not (ispercentage(@width)) and not (iskeyword(@width)) {
width: ~`@{width} + @{unit}`;
height: @height;
}
.kittens(@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)) {
width: ~`@{width} + @{unit}`;
height: @height;
}
.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)) {
width: ~`@{width} + @{unit}`;
height: ~`@{height} + @{unit}`;
width: ~`@{width} + @{unit}`;
height: ~`@{height} + @{unit}`;
}
.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;
body {
background-color: #fafafa;
font-family: @serif;
background-color: #fafafa;
font-family: @serif;
}
h1,
@ -19,7 +19,7 @@ h3,
h4,
h5,
h6 {
font-family: @sans-serif;
font-family: @sans-serif;
}
code,
@ -30,83 +30,83 @@ samp {
}
a {
.transition(color 0.2s ease-in-out);
color: #2e2e2e;
&:hover {
color: orange;
}
&.nodec {
text-decoration: none;
}
.transition(color 0.2s ease-in-out);
color: #2e2e2e;
&:hover {
color: orange;
}
&.nodec {
text-decoration: none;
}
}
.header {
background-color: #efefef;
border-bottom: 1px solid #ddd;
border-top: 5px solid #333;
margin-bottom: 30px;
padding: 30px 0;
.header-image {
margin-right: 30px;
width: 200px;
}
.header-name {
font-size: 82px;
margin-top: 0;
}
.header-text {
color: #000;
font-size: 22px;
margin-bottom: 51px;
margin-top: 0;
}
.header-menu {
font-size: 18px;
margin-bottom: 0;
li {
&:first-child {
padding-left: 0;
}
&:last-child {
padding-right: 0;
}
}
background-color: #efefef;
border-bottom: 1px solid #ddd;
border-top: 5px solid #333;
margin-bottom: 30px;
padding: 30px 0;
.header-image {
margin-right: 30px;
width: 200px;
}
.header-name {
font-size: 82px;
margin-top: 0;
}
.header-text {
color: #000;
font-size: 22px;
margin-bottom: 51px;
margin-top: 0;
}
.header-menu {
font-size: 18px;
margin-bottom: 0;
li {
&:first-child {
padding-left: 0;
}
&:last-child {
padding-right: 0;
}
}
}
}
.footer {
background-color: #efefef;
color: grey;
border-top: 1px solid #ddd;
font-size: 12px;
margin-top: 30px;
padding: 30px 0;
background-color: #efefef;
color: grey;
border-top: 1px solid #ddd;
font-size: 12px;
margin-top: 30px;
padding: 30px 0;
}
.post {
font-size: 16px;
&.mini-post {
padding: 30px 0;
border-bottom: 1px solid #ddd;
&:last-child {
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;
}
font-size: 16px;
&.mini-post {
padding: 30px 0;
border-bottom: 1px solid #ddd;
&:last-child {
border-bottom: none;
}
&.full-post {
* img {
max-width: 940px;
}
.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 {
* img {
max-width: 940px;
}
}
}
// .highlight {
@ -119,6 +119,6 @@ a {
// }
.separator {
margin-top: 30px;
margin-bottom: 30px;
margin-top: 30px;
margin-bottom: 30px;
}

View File

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

View File

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

View File

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

View File

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

View File

@ -1,37 +1,51 @@
<!DOCTYPE html>
<html lang="{{ DEFAULT_LANG }}">
<head>
{% block head %}
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1">
<head>
{% block head %}
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=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" %}
{% include "include/feeds.html" %}
<link rel="stylesheet" href="{{ SITEURL }}/theme/css/style.css">
{% 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 %}
<!--[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" %}
{% endblock %}
</head>
{% 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 %}
<body>
{% include "include/header.html" %}
<div class="container">
{% block content %}{% endblock %}
</div>
{% include "include/footer.html" %}
<link rel="stylesheet" href="{{ SITEURL }}/theme/css/style.css">
<script src="{{ SITEURL }}/theme/js/libs/jquery.min.js"></script>
<script src="{{ SITEURL }}/theme/js/bootstrap.min.js"></script>
</body> <!-- 42 -->
<!--[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" %}
{% 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>

View File

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

View File

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

View File

@ -1,24 +1,24 @@
{% if DISQUS_SITENAME %}
<div id="disqus_thread">
<script>
var disqus_shortname = '{{ DISQUS_SITENAME }}';
(function() {
var dsq = document.createElement('script');
dsq.type = 'text/javascript';
dsq.async = true;
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] ||
document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>
Please enable JavaScript to view the
<a href="http://disqus.com/?ref_noscript={{ DISQUS_SITENAME }}">
comments powered by Disqus.
</a>
</noscript>
<a href="http://disqus.com" class="dsq-brlink">
blog comments powered by <span class="logo-disqus">Disqus</span>
</a>
</div>
<div id="disqus_thread">
<script>
var disqus_shortname = '{{ DISQUS_SITENAME }}';
(function() {
var dsq = document.createElement('script');
dsq.type = 'text/javascript';
dsq.async = true;
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] ||
document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>
Please enable JavaScript to view the
<a href="http://disqus.com/?ref_noscript={{ DISQUS_SITENAME }}">
comments powered by Disqus.
</a>
</noscript>
<a href="http://disqus.com" class="dsq-brlink">
blog comments powered by <span class="logo-disqus">Disqus</span>
</a>
</div>
{% 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">
<div class="container">
<p class="text-center">
{{ AUTHOR }}, <a href="{{ LICENSE_URL}}" target="_blank">{{ LICENSE_NAME }}</a> unless otherwise noted.
</p>
<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.
</div>
<div class="container">
<p class="text-center">
{{ AUTHOR }}, <a href="{{ LICENSE_URL}}" target="_blank">{{ LICENSE_NAME }}</a> unless otherwise noted.
</p>
<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.
</div>
</div>
</footer> <!-- /.footer -->

View File

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

View File

@ -1,49 +1,49 @@
<header class="header">
<div class="container">
{% if PROFILE_IMAGE %}
<div class="header-image pull-left">
<a class="nodec" href="{{ SITEURL }}"><img src={{ PROFILE_IMAGE }}></a>
</div>
<div class="container">
{% if PROFILE_IMAGE %}
<div class="header-image pull-left">
<a class="nodec" href="{{ SITEURL }}"><img src={{ PROFILE_IMAGE }}></a>
</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 %}
<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 %}
{% 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>
{% 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>
</header> <!-- /.header -->

View File

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

View File

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

View File

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

View File

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

View File

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