mb@mb
7 years ago
16 changed files with 445 additions and 0 deletions
@ -0,0 +1,150 @@ |
|||||
|
body{ |
||||
|
margin:0px; |
||||
|
font: 14px "SnigletRegular"; |
||||
|
color:midnightblue; |
||||
|
} |
||||
|
|
||||
|
h1{ |
||||
|
font-size: 42px; |
||||
|
line-height:45px; |
||||
|
margin: 0.3em 0; |
||||
|
font: 36px "SnigletRegular"; |
||||
|
text-align:left; |
||||
|
font-weight: bold; |
||||
|
} |
||||
|
blockquote{ |
||||
|
font-weight:bold; |
||||
|
} |
||||
|
a{ |
||||
|
color:lightseagreen; |
||||
|
text-decoration: none; |
||||
|
} |
||||
|
h1 a{ |
||||
|
color:black; |
||||
|
} |
||||
|
hr{ |
||||
|
border:0; |
||||
|
border-bottom:1px solid midnightblue; |
||||
|
} |
||||
|
|
||||
|
header, section{ |
||||
|
width: calc(100% - 4em); |
||||
|
padding:0 2em; |
||||
|
} |
||||
|
header{ |
||||
|
height: 200px; |
||||
|
margin:0; |
||||
|
} |
||||
|
#menu{ |
||||
|
position: absolute; |
||||
|
top:0.3em; |
||||
|
left:calc(50% + 2em); |
||||
|
width: 250px; |
||||
|
margin:0; |
||||
|
} |
||||
|
#menu select{ |
||||
|
height:3em; |
||||
|
vertical-align: middle; |
||||
|
} |
||||
|
#content{ |
||||
|
} |
||||
|
.featured { |
||||
|
max-width: calc(50% - 5.5em); |
||||
|
float: left; |
||||
|
padding: 0 2em; |
||||
|
margin:2em 0; |
||||
|
/*background-color: #7781ef;*/ |
||||
|
/*background-color: rgba(240,240,240,1);*/ |
||||
|
/*background-color: powderblue;*/ |
||||
|
/*box-shadow: 1.1em 1.1em gainsboro;*/ |
||||
|
} |
||||
|
.featured:nth-child(even) { |
||||
|
float:right; |
||||
|
margin-top: 10em; |
||||
|
} |
||||
|
.featured:last-of-type{ |
||||
|
margin-bottom:5em; |
||||
|
} |
||||
|
|
||||
|
.entry-title{ |
||||
|
/*margin:2em 1.5em 2em 50px;*/ |
||||
|
border: 0; |
||||
|
border-radius: 100%; |
||||
|
background-color: #95cc74; |
||||
|
padding: 2em; |
||||
|
text-align: center; |
||||
|
box-shadow: 0em 3em gainsboro; |
||||
|
} |
||||
|
.entry-subtitle{ |
||||
|
font-size: 12px; |
||||
|
line-height: 1.5; |
||||
|
text-align:left; |
||||
|
margin:2em 0 1em; |
||||
|
/*margin-left:50px;*/ |
||||
|
color:black; |
||||
|
} |
||||
|
.entry-content{ |
||||
|
font: 16px serif; |
||||
|
line-height: 28px; |
||||
|
letter-spacing: 0.01em; |
||||
|
/*font-weight:500;*/ |
||||
|
line-break:strict; |
||||
|
} |
||||
|
.entry-tags a{ |
||||
|
font-weight:bold; |
||||
|
text-decoration: underline; |
||||
|
/*color:midnightblue;*/ |
||||
|
color:black; |
||||
|
} |
||||
|
.entry-category{ |
||||
|
font-weight:bold; |
||||
|
font-style: italic; |
||||
|
} |
||||
|
.entry-date{ |
||||
|
font-style:italic; |
||||
|
} |
||||
|
#list{ |
||||
|
margin:3em 0; |
||||
|
clear: both; |
||||
|
} |
||||
|
#list ul, #list li{ |
||||
|
list-style: none; |
||||
|
padding:0; |
||||
|
margin:2em 0; |
||||
|
} |
||||
|
#list .entry-title{ |
||||
|
margin-top:0; /* reset */ |
||||
|
margin-bottom:0; /* reset */ |
||||
|
} |
||||
|
footer{ |
||||
|
width: calc(100% - 4em); |
||||
|
margin:0; |
||||
|
padding:2em; |
||||
|
left:0; |
||||
|
background-color: black; |
||||
|
color:white; |
||||
|
clear:both; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
@media only screen and (orientation:portrait) { |
||||
|
body { |
||||
|
|
||||
|
} |
||||
|
#menu{ |
||||
|
clear:both; |
||||
|
max-width: 100%; |
||||
|
} |
||||
|
.featured{ |
||||
|
max-width: calc(100% - 8em); !important |
||||
|
clear:both; !important |
||||
|
} |
||||
|
.featured:nth-child(even) { |
||||
|
clear:both; !important |
||||
|
} |
||||
|
.entry-content{ |
||||
|
max-width: 90%; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,11 @@ |
|||||
|
{% extends "base.html" %} |
||||
|
{% block content %} |
||||
|
<h1>Archives for {{ SITENAME }}</h1> |
||||
|
|
||||
|
<dl> |
||||
|
{% for article in dates %} |
||||
|
<dt>{{ article.locale_date }}</dt> |
||||
|
<dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd> |
||||
|
{% endfor %} |
||||
|
</dl> |
||||
|
{% endblock %} |
@ -0,0 +1,33 @@ |
|||||
|
{% extends "base.html" %} |
||||
|
{% block head %} |
||||
|
{{ super() }} |
||||
|
{% if article.description %} |
||||
|
<meta name="description" content="{{article.description}}" /> |
||||
|
{% endif %} |
||||
|
{% endblock %} |
||||
|
|
||||
|
{% block content %} |
||||
|
<section id="content" class="body"> |
||||
|
<h1 class="entry-title p-name"> |
||||
|
<a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a> |
||||
|
</h1> |
||||
|
<div class="entry-subtitle"> |
||||
|
A |
||||
|
<span class="entry-category"> |
||||
|
<em>{{ article.category }}</em> |
||||
|
</span> |
||||
|
about |
||||
|
<span class="entry-tags"> |
||||
|
{% for tag in article.tags %} |
||||
|
<span itemprop="keywords"> |
||||
|
<a href="/{{ tag.url }}" rel="tag">{{ tag }}</a> |
||||
|
</span> |
||||
|
{% endfor %} |
||||
|
</span> |
||||
|
published on |
||||
|
<span class="entry-date dt-published">{{ article.date }}</span> |
||||
|
</div> |
||||
|
<div class="entry-content e-content">{{ article.content }}</div> |
||||
|
</section> |
||||
|
|
||||
|
{% endblock %} |
@ -0,0 +1,7 @@ |
|||||
|
{% extends "index.html" %} |
||||
|
|
||||
|
{% block title %}{{ SITENAME }} - Articles by {{ author }}{% endblock %} |
||||
|
{% block content_title %} |
||||
|
<h2>Articles by {{ author }}</h2> |
||||
|
{% endblock %} |
||||
|
|
@ -0,0 +1,13 @@ |
|||||
|
{% extends "base.html" %} |
||||
|
|
||||
|
{% block title %}{{ SITENAME }} - Authors{% endblock %} |
||||
|
|
||||
|
{% block content %} |
||||
|
<h1>Authors on {{ SITENAME }}</h1> |
||||
|
|
||||
|
<ul> |
||||
|
{%- for author, articles in authors|sort %} |
||||
|
<li><a href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a> ({{ articles|count }})</li> |
||||
|
{% endfor %} |
||||
|
</ul> |
||||
|
{% endblock %} |
@ -0,0 +1,60 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html lang="{{ DEFAULT_LANG }}"> |
||||
|
<head> |
||||
|
{% block head %} |
||||
|
<title>{% block title %}{{ SITENAME }}{% endblock title %}</title> |
||||
|
<meta charset="utf-8" /> |
||||
|
<link rel="stylesheet" type="text/css" href="/{{ THEME_STATIC_DIR }}{{ CSS_FILE }}" /> |
||||
|
<!-- <link rel="stylesheet" media="screen" href="https://fontlibrary.org/face/arima-koshi" type="text/css"/> --> |
||||
|
<link rel="stylesheet" media="screen" href="https://fontlibrary.org/face/sniglet" type="text/css"/> |
||||
|
<link rel="icon" href="{{ SITEURL}}/favicon.ico" type="image/x-icon"> |
||||
|
{% if FEED_ALL_ATOM %} |
||||
|
<link href="{{ FEED_DOMAIN }}/{% if FEED_ALL_ATOM_URL %}{{ FEED_ALL_ATOM_URL }}{% else %}{{ FEED_ALL_ATOM }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Full Atom Feed" /> |
||||
|
{% endif %} |
||||
|
{% if FEED_ALL_RSS %} |
||||
|
<link href="{{ FEED_DOMAIN }}/{% if FEED_ALL_RSS_URL %}{{ FEED_ALL_RSS_URL }}{% else %}{{ FEED_ALL_RSS }}{% endif %}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Full RSS Feed" /> |
||||
|
{% endif %} |
||||
|
{% if FEED_ATOM %} |
||||
|
<link href="{{ FEED_DOMAIN }}/{%if FEED_ATOM_URL %}{{ FEED_ATOM_URL }}{% else %}{{ FEED_ATOM }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Atom Feed" /> |
||||
|
{% endif %} |
||||
|
{% if FEED_RSS %} |
||||
|
<link href="{{ FEED_DOMAIN }}/{% if FEED_RSS_URL %}{{ FEED_RSS_URL }}{% else %}{{ FEED_RSS }}{% endif %}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} RSS Feed" /> |
||||
|
{% endif %} |
||||
|
{% if CATEGORY_FEED_ATOM and category %} |
||||
|
<link href="{{ FEED_DOMAIN }}/{% if CATEGORY_FEED_ATOM_URL %}{{ CATEGORY_FEED_ATOM_URL|format(category.slug) }}{% else %}{{ CATEGORY_FEED_ATOM|format(category.slug) }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Categories Atom Feed" /> |
||||
|
{% endif %} |
||||
|
{% if CATEGORY_FEED_RSS and category %} |
||||
|
<link href="{{ FEED_DOMAIN }}/{% if CATEGORY_FEED_RSS_URL %}{{ CATEGORY_FEED_RSS_URL|format(category.slug) }}{% else %}{{ CATEGORY_FEED_RSS|format(category.slug) }}{% endif %}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Categories RSS Feed" /> |
||||
|
{% endif %} |
||||
|
{% if TAG_FEED_ATOM and tag %} |
||||
|
<link href="{{ FEED_DOMAIN }}/{% if TAG_FEED_ATOM_URL %}{{ TAG_FEED_ATOM_URL|format(tag.slug) }}{% else %}{{ TAG_FEED_ATOM|format(tag.slug) }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Tags Atom Feed" /> |
||||
|
{% endif %} |
||||
|
{% if TAG_FEED_RSS and tag %} |
||||
|
<link href="{{ FEED_DOMAIN }}/{% if TAG_FEED_RSS_URL %}{{ TAG_FEED_RSS_URL|format(tag.slug) }}{% else %}{{ TAG_FEED_RSS|format(tag.slug) }}{% endif %}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Tags RSS Feed" /> |
||||
|
{% endif %} |
||||
|
{% endblock head %} |
||||
|
</head> |
||||
|
|
||||
|
<body id="index" class="home"> |
||||
|
<header id="banner"> |
||||
|
<h1><a href="{{ SITEURL }}/">{{ SITENAME }} <strong>{{ SITESUBTITLE }}</strong></a></h1> |
||||
|
<h1 id="menu"> |
||||
|
Welcome to the |
||||
|
<select onchange="window.location.href=this.value"> |
||||
|
{%- for t, article in tags|sort %} |
||||
|
<option value="/{{ t.url }}" {% if t == tag %}selected{% endif %}>{{ t }}</option> |
||||
|
{% endfor %} |
||||
|
</select> |
||||
|
Federation |
||||
|
</h1> |
||||
|
</header> |
||||
|
{% block content %} |
||||
|
{% endblock %} |
||||
|
<footer> |
||||
|
{% for page in pages %} |
||||
|
{{ page.title }} |
||||
|
{{ page.content }} |
||||
|
{% endfor %} |
||||
|
</footer> |
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,8 @@ |
|||||
|
{% extends "base.html" %} |
||||
|
{% block content %} |
||||
|
<ul> |
||||
|
{% for category, articles in categories %} |
||||
|
<li><a href="{{ SITEURL }}/{{ category.url }}">{{ category }}</a></li> |
||||
|
{% endfor %} |
||||
|
</ul> |
||||
|
{% endblock %} |
@ -0,0 +1,5 @@ |
|||||
|
{% extends "index.html" %} |
||||
|
{% block content_title %} |
||||
|
<h2>Articles in the {{ category }} category</h2> |
||||
|
{% endblock %} |
||||
|
|
@ -0,0 +1,14 @@ |
|||||
|
{% if GOSQUARED_SITENAME %} |
||||
|
<script type="text/javascript"> |
||||
|
var GoSquared={}; |
||||
|
GoSquared.acct = "{{ GOSQUARED_SITENAME }}"; |
||||
|
(function(w){ |
||||
|
function gs(){ |
||||
|
w._gstc_lt=+(new Date); var d=document; |
||||
|
var g = d.createElement("script"); g.type = "text/javascript"; g.async = true; g.src = "https://d1l6p2sc9645hc.cloudfront.net/tracker.js"; |
||||
|
var s = d.getElementsByTagName("script")[0]; s.parentNode.insertBefore(g, s); |
||||
|
} |
||||
|
w.addEventListener?w.addEventListener("load",gs,false):w.attachEvent("onload",gs); |
||||
|
})(window); |
||||
|
</script> |
||||
|
{% endif %} |
@ -0,0 +1,86 @@ |
|||||
|
{% extends "base.html" %} |
||||
|
{% block content %} |
||||
|
{% if articles %} |
||||
|
<section id="content"> |
||||
|
{% for article in articles_page.object_list %} |
||||
|
{% if loop.index <= 3 %} |
||||
|
<div class="featured"> |
||||
|
<article> |
||||
|
<h1 class="entry-title p-name"> |
||||
|
<a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a> |
||||
|
</h1> |
||||
|
<div class="entry-subtitle"> |
||||
|
A |
||||
|
<span class="entry-category">{{ article.category }}</span> |
||||
|
{% if article.tags %} |
||||
|
about |
||||
|
<span class="entry-tags"> |
||||
|
{% for tag in article.tags %} |
||||
|
<span itemprop="keywords"> |
||||
|
<a href="/{{ tag.url }}" rel="tag">{{ tag }}</a> |
||||
|
</span> |
||||
|
{% endfor %} |
||||
|
</span> |
||||
|
{% endif %} |
||||
|
published on |
||||
|
<span class="entry-date dt-published">{{ article.date | strftime('%d %B %Y') }}</span> |
||||
|
</div> |
||||
|
<div class="entry-content e-content">{{ article.content }}</div> |
||||
|
</article> |
||||
|
</div> |
||||
|
{% if loop.index < 3 %} |
||||
|
{% if loop.last %} |
||||
|
</section> |
||||
|
{% endif %} |
||||
|
{% endif %} |
||||
|
{% if loop.index == 3 %} |
||||
|
</section> |
||||
|
<section id="list"> |
||||
|
<div>Other articles</div> |
||||
|
<hr /> |
||||
|
<ul id="posts-list"> |
||||
|
{% endif %} |
||||
|
{# other items #} |
||||
|
{% else %} |
||||
|
{% if loop.first %} |
||||
|
</section> |
||||
|
<section id="list"> |
||||
|
<ol id="posts-list" class="hfeed" start="{{ articles_paginator.per_page -1 }}"> |
||||
|
{% endif %} |
||||
|
<li> |
||||
|
<article class="hentry"> |
||||
|
<div class="head"> |
||||
|
<h1 class="p-name entry-title"> |
||||
|
<a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a> |
||||
|
</h1> |
||||
|
<div class="entry-subtitle"> |
||||
|
A |
||||
|
<span class="entry-category"> |
||||
|
<em>{{ article.category }}</em> |
||||
|
</span> |
||||
|
about |
||||
|
<span class="entry-tags"> |
||||
|
{% for tag in article.tags %} |
||||
|
<span itemprop="keywords"> |
||||
|
<a href="/{{ tag.url }}" rel="tag">{{ tag }}</a> |
||||
|
</span> |
||||
|
{% endfor %} |
||||
|
</span> |
||||
|
published on |
||||
|
<span class="entry-date dt-published">{{ article.date }}</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="entry-content"> |
||||
|
<p class="p-summary entry-content">{{ article.summary }}</p> |
||||
|
<span class="entry-readmore"><a class="readmore" href="{{ SITEURL }}/{{ article.url }}"> read more</a></span> |
||||
|
</div> |
||||
|
</article> |
||||
|
</li> |
||||
|
{% endif %} |
||||
|
{% endfor %} |
||||
|
</section> |
||||
|
{% endif %} |
||||
|
{% endblock content %} |
||||
|
|
||||
|
|
@ -0,0 +1,15 @@ |
|||||
|
{% extends "base.html" %} |
||||
|
{% block title %}{{ page.title }}{%endblock%} |
||||
|
{% block content %} |
||||
|
<h1>{{ page.title }}</h1> |
||||
|
{% import 'translations.html' as translations with context %} |
||||
|
{{ translations.translations_for(page) }} |
||||
|
|
||||
|
{{ page.content }} |
||||
|
|
||||
|
{% if page.modified %} |
||||
|
<p> |
||||
|
Last updated: {{ page.locale_modified }} |
||||
|
</p> |
||||
|
{% endif %} |
||||
|
{% endblock %} |
@ -0,0 +1,11 @@ |
|||||
|
{% if DEFAULT_PAGINATION %} |
||||
|
<p class="paginator"> |
||||
|
{% if articles_page.has_previous() %} |
||||
|
<a href="{{ SITEURL }}/{{ articles_previous_page.url }}">«</a> |
||||
|
{% endif %} |
||||
|
Page {{ articles_page.number }} / {{ articles_paginator.num_pages }} |
||||
|
{% if articles_page.has_next() %} |
||||
|
<a href="{{ SITEURL }}/{{ articles_next_page.url }}">»</a> |
||||
|
{% endif %} |
||||
|
</p> |
||||
|
{% endif %} |
@ -0,0 +1,11 @@ |
|||||
|
{% extends "base.html" %} |
||||
|
{% block content %} |
||||
|
<h1>Archives for {{ period | reverse | join(' ') }}</h1> |
||||
|
|
||||
|
<dl> |
||||
|
{% for article in dates %} |
||||
|
<dt>{{ article.locale_date }}</dt> |
||||
|
<dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd> |
||||
|
{% endfor %} |
||||
|
</dl> |
||||
|
{% endblock %} |
@ -0,0 +1,2 @@ |
|||||
|
{% extends "index.html" %} |
||||
|
|
@ -0,0 +1,10 @@ |
|||||
|
{% extends "base.html" %} |
||||
|
|
||||
|
{% block title %}{{ SITENAME }} - Tags{% endblock %} |
||||
|
|
||||
|
{% block content %} |
||||
|
<h1>Tags for {{ SITENAME }}</h1> |
||||
|
{%- for tag, articles in tags|sort %} |
||||
|
<li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> ({{ articles|count }})</li> |
||||
|
{% endfor %} |
||||
|
{% endblock %} |
@ -0,0 +1,9 @@ |
|||||
|
{% macro translations_for(article) %} |
||||
|
{% if article.translations %} |
||||
|
Translations: |
||||
|
{% for translation in article.translations %} |
||||
|
<a href="{{ SITEURL }}/{{ translation.url }}">{{ translation.lang }}</a> |
||||
|
{% endfor %} |
||||
|
{% endif %} |
||||
|
{% endmacro %} |
||||
|
|
Loading…
Reference in new issue