commit
75fa003c8b
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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 %}
|
||||
|
|
|
@ -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 }} — {{ article.title|striptags }}
|
||||
{{ SITENAME }} — {{ 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">·</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">·</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">·</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">·</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 %}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{% extends "index.html" %}
|
||||
|
||||
{% block title %}
|
||||
{{ SITENAME }} — Articles by {{ author }}
|
||||
{{ SITENAME }} — Articles by {{ author }}
|
||||
{% endblock %}
|
||||
|
||||
{% block page_title %}
|
||||
<h1>Articles by {{ author }}</h1>
|
||||
<h1>Articles by {{ author }}</h1>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}
|
||||
{{ SITENAME }} — Authors
|
||||
{{ SITENAME }} — 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 %}
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}
|
||||
{{ SITENAME }} — Categories
|
||||
{{ SITENAME }} — 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 %}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{% extends "index.html" %}
|
||||
|
||||
{% block title %}
|
||||
{{ SITENAME }} — Articles in the {{ category }} category
|
||||
{{ SITENAME }} — Articles in the {{ category }} category
|
||||
{% endblock %}
|
||||
|
||||
{% block page_title %}
|
||||
<h1>Articles in the {{ category }} category</h1>
|
||||
<h1>Articles in the {{ category }} category</h1>
|
||||
{% endblock %}
|
||||
|
|
|
@ -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 %}
|
||||
|
|
|
@ -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 %}
|
|
@ -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 %}
|
|
@ -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 -->
|
||||
|
|
|
@ -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 %}
|
||||
|
|
|
@ -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 -->
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{% if DEFAULT_PAGINATION %}
|
||||
<ul class="pagination">
|
||||
{% if articles_page.has_previous() %}
|
||||
<li><a href="{{ SITEURL }}/{{ articles_previous_page.url }}">«</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 }}">»</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
<ul class="pagination">
|
||||
{% if articles_page.has_previous() %}
|
||||
<li><a href="{{ SITEURL }}/{{ articles_previous_page.url }}">«</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 }}">»</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
|
|
@ -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 %}
|
||||
|
|
|
@ -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 }} — {{ page.title|striptags }}
|
||||
{{ SITENAME }} — {{ 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 %}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{% extends "index.html" %}
|
||||
|
||||
{% block title %}
|
||||
{{ SITENAME }} — Articles with the {{ tag }} tag
|
||||
{{ SITENAME }} — Articles with the {{ tag }} tag
|
||||
{% endblock %}
|
||||
|
||||
{% block page_title %}
|
||||
<h1>Articles with the {{ tag }} tag</h1>
|
||||
<h1>Articles with the {{ tag }} tag</h1>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}
|
||||
{{ SITENAME }} — Tags
|
||||
{{ SITENAME }} — 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 %}
|
||||
|
|
Loading…
Reference in New Issue