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