adding a theme to the module ('default') + the example theme 'simple'
This commit is contained in:
parent
1c9fa81697
commit
293b5ab797
@ -6,11 +6,11 @@ SITENAME = 'Bots as Digital Infrapuncture'
|
|||||||
SITEURL = ''
|
SITEURL = ''
|
||||||
|
|
||||||
PATH = 'content'
|
PATH = 'content'
|
||||||
USE_FOLDER_AS_CATEGORY = True
|
|
||||||
|
|
||||||
TIMEZONE = 'Europe/Paris'
|
TIMEZONE = 'Europe/Amsterdam'
|
||||||
|
|
||||||
DEFAULT_LANG = 'en'
|
DEFAULT_LANG = 'en'
|
||||||
|
DEFAULT_DATE = 'fs'
|
||||||
|
|
||||||
# Feed generation is usually not desired when developing
|
# Feed generation is usually not desired when developing
|
||||||
FEED_ALL_ATOM = None
|
FEED_ALL_ATOM = None
|
||||||
@ -19,20 +19,16 @@ TRANSLATION_FEED_ATOM = None
|
|||||||
AUTHOR_FEED_ATOM = None
|
AUTHOR_FEED_ATOM = None
|
||||||
AUTHOR_FEED_RSS = None
|
AUTHOR_FEED_RSS = None
|
||||||
|
|
||||||
# Blogroll
|
#STATIC_PATHS = ['extra/favicon.ico', 'images']
|
||||||
# LINKS = (('Pelican', 'https://getpelican.com/'),
|
|
||||||
# ('Python.org', 'https://www.python.org/'),
|
|
||||||
# ('Jinja2', 'https://palletsprojects.com/p/jinja/'),
|
|
||||||
# ('You can modify those links in your config file', '#'),)
|
|
||||||
|
|
||||||
# Social widget
|
THEME = 'themes/default'
|
||||||
# SOCIAL = (('You can add links in your config file', '#'),
|
THEME_STATIC_DIR = 'theme'
|
||||||
# ('Another social link', '#'),)
|
|
||||||
|
USE_FOLDER_AS_CATEGORY = True
|
||||||
|
|
||||||
DEFAULT_PAGINATION = False
|
DEFAULT_PAGINATION = False
|
||||||
|
|
||||||
# Uncomment following line if you want document-relative URLs when developing
|
# Uncomment following line if you want document-relative URLs when developing
|
||||||
#RELATIVE_URLS = True
|
#RELATIVE_URLS = True
|
||||||
|
|
||||||
STATIC_PATHS = ['extra/favicon.ico', 'images', 'pdfs', 'stream']
|
|
||||||
|
|
||||||
|
58
themes/default/static/css/main.css
Normal file
58
themes/default/static/css/main.css
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
body{
|
||||||
|
margin:2em auto;
|
||||||
|
max-width: 980px;
|
||||||
|
}
|
||||||
|
header#banner{
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
header#banner h1{
|
||||||
|
margin: 2em 0;
|
||||||
|
}
|
||||||
|
header#banner h1 a{
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
nav#menu{
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
background-color: magenta;
|
||||||
|
border-radius: 1em;
|
||||||
|
}
|
||||||
|
nav#menu li{
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 1em;
|
||||||
|
margin:1em 0;
|
||||||
|
padding:1em;
|
||||||
|
list-style: none;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
section#content{
|
||||||
|
margin: 4em 0;
|
||||||
|
}
|
||||||
|
article{
|
||||||
|
margin: 0 0 2em;
|
||||||
|
}
|
||||||
|
h1.category{
|
||||||
|
width: calc(100% - 4em);
|
||||||
|
background-color: magenta;
|
||||||
|
padding: 2em;
|
||||||
|
margin: 2em 0;
|
||||||
|
color:white;
|
||||||
|
font-size: 32px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* general elements */
|
||||||
|
a,
|
||||||
|
a:visited,
|
||||||
|
a:hover,
|
||||||
|
a:active{
|
||||||
|
color:inherit;
|
||||||
|
}
|
||||||
|
hr{
|
||||||
|
width: 100%;
|
||||||
|
border:0;
|
||||||
|
border-bottom:1px solid;
|
||||||
|
margin:3em auto;
|
||||||
|
}
|
67
themes/default/templates/article.html
Normal file
67
themes/default/templates/article.html
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
{% block html_lang %}{{ article.lang }}{% endblock %}
|
||||||
|
|
||||||
|
{% block title %}{{ SITENAME }} - {{ article.title|striptags }}{% endblock %}
|
||||||
|
|
||||||
|
{% block head %}
|
||||||
|
{{ super() }}
|
||||||
|
|
||||||
|
{% import 'translations.html' as translations with context %}
|
||||||
|
{% if translations.entry_hreflang(article) %}
|
||||||
|
{{ translations.entry_hreflang(article) }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if article.description %}
|
||||||
|
<meta name="description" content="{{article.description}}" />
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% for tag in article.tags %}
|
||||||
|
<meta name="tags" content="{{tag}}" />
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<section id="content" class="body">
|
||||||
|
<header>
|
||||||
|
<h2 class="entry-title">
|
||||||
|
<a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark"
|
||||||
|
title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h2>
|
||||||
|
{% import 'translations.html' as translations with context %}
|
||||||
|
{{ translations.translations_for(article) }}
|
||||||
|
</header>
|
||||||
|
<footer class="post-info">
|
||||||
|
<time class="published" datetime="{{ article.date.isoformat() }}">
|
||||||
|
{{ article.locale_date }}
|
||||||
|
</time>
|
||||||
|
{% if article.modified %}
|
||||||
|
<time class="modified" datetime="{{ article.modified.isoformat() }}">
|
||||||
|
{{ article.locale_modified }}
|
||||||
|
</time>
|
||||||
|
{% endif %}
|
||||||
|
{% if article.authors %}
|
||||||
|
<address class="vcard author">
|
||||||
|
By {% for author in article.authors %}
|
||||||
|
<a class="url fn" href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a>
|
||||||
|
{% endfor %}
|
||||||
|
</address>
|
||||||
|
{% endif %}
|
||||||
|
{% if article.category %}
|
||||||
|
<div class="category">
|
||||||
|
Category: <a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% if article.tags %}
|
||||||
|
<div class="tags">
|
||||||
|
Tags:
|
||||||
|
{% for tag in article.tags %}
|
||||||
|
<a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</footer><!-- /.post-info -->
|
||||||
|
<div class="entry-content">
|
||||||
|
{{ article.content }}
|
||||||
|
</div><!-- /.entry-content -->
|
||||||
|
</section>
|
||||||
|
{% endblock %}
|
48
themes/default/templates/base.html
Normal file
48
themes/default/templates/base.html
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="{% block html_lang %}{{ DEFAULT_LANG }}{% endblock html_lang %}">
|
||||||
|
<head>
|
||||||
|
{% block head %}
|
||||||
|
<title>{% block title %}{{ SITENAME }}{% endblock title %}</title>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="generator" content="Pelican" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="/{{ THEME_STATIC_DIR }}/css/{{ CSS_FILE }}" />
|
||||||
|
{% endblock head %}
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body id="index" class="home">
|
||||||
|
|
||||||
|
<header id="banner" class="body">
|
||||||
|
<h1><a href="{{ SITEURL }}/">{{ SITENAME }}{% if SITESUBTITLE %} <strong>{{ SITESUBTITLE }}</strong>{% endif %}</a></h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<nav id="menu"><ul>
|
||||||
|
{% for title, link in MENUITEMS %}
|
||||||
|
<li><a href="{{ link }}">{{ title }}</a></li>
|
||||||
|
{% endfor %}
|
||||||
|
{% if DISPLAY_PAGES_ON_MENU %}
|
||||||
|
{% for p in pages %}
|
||||||
|
<li{% if p == page %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ p.url }}">{{ p.title }}</a></li>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% if DISPLAY_CATEGORIES_ON_MENU %}
|
||||||
|
{% for cat, null in categories %}
|
||||||
|
<li{% if cat == category %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
<li class="active"><a href="{{ SITEURL }}/categories/">Overview</a></li>
|
||||||
|
</ul></nav><!-- /#menu -->
|
||||||
|
|
||||||
|
<section id="content">
|
||||||
|
{% block content %}
|
||||||
|
{% endblock %}
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer id="contentinfo" class="body">
|
||||||
|
<hr>
|
||||||
|
<address id="about" class="vcard body">
|
||||||
|
The online module Bots as Digital Infrapuncture is developed in the context of the course <a href="#">Tool Criticism</a> at the <a href="#">University of Utrecht</a>. The course itself is made with <a href="https://getpelican.com/">Pelican</a>.
|
||||||
|
</address>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
7
themes/default/templates/categories.html
Normal file
7
themes/default/templates/categories.html
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block title %}{{ SITENAME }} - Categories{% endblock %}
|
||||||
|
|
||||||
|
{% block content_title %}
|
||||||
|
<h1>Overview</h1>
|
||||||
|
{% endblock %}
|
8
themes/default/templates/category.html
Normal file
8
themes/default/templates/category.html
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{% block title %}{{ SITENAME }} - {{ category }} category{% endblock %}
|
||||||
|
|
||||||
|
{% block content_title %}
|
||||||
|
<h1 class="category">{{ category }}</h1>
|
||||||
|
{% endblock %}
|
||||||
|
|
20
themes/default/templates/index.html
Normal file
20
themes/default/templates/index.html
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
{% block content %}
|
||||||
|
{% block content_title %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% for article in articles_page.object_list %}
|
||||||
|
<article class="hentry">
|
||||||
|
<header>
|
||||||
|
<h2 class="entry-title"><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h2>
|
||||||
|
</header>
|
||||||
|
<div class="entry-content"> {{ article.summary }} </div>
|
||||||
|
<footer class="post-info"></footer>
|
||||||
|
</article></li>
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
<!-- {% if articles_page.has_other_pages() %} -->
|
||||||
|
<!-- {% include 'pagination.html' %} -->
|
||||||
|
<!-- {% endif %} -->
|
||||||
|
|
||||||
|
{% endblock content %}
|
29
themes/default/templates/page.html
Normal file
29
themes/default/templates/page.html
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
{% block html_lang %}{{ page.lang }}{% endblock %}
|
||||||
|
|
||||||
|
{% block title %}{{ SITENAME }} - {{ page.title|striptags }}{%endblock%}
|
||||||
|
|
||||||
|
{% block head %}
|
||||||
|
{{ super() }}
|
||||||
|
|
||||||
|
{% import 'translations.html' as translations with context %}
|
||||||
|
{% if translations.entry_hreflang(page) %}
|
||||||
|
{{ translations.entry_hreflang(page) }}
|
||||||
|
{% endif %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<section id="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 %}
|
||||||
|
</section>
|
||||||
|
{% endblock %}
|
15
themes/default/templates/pagination.html
Normal file
15
themes/default/templates/pagination.html
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{% if DEFAULT_PAGINATION %}
|
||||||
|
{% set first_page = articles_paginator.page(1) %}
|
||||||
|
{% set last_page = articles_paginator.page(articles_paginator.num_pages) %}
|
||||||
|
<p class="paginator">
|
||||||
|
{% if articles_page.has_previous() %}
|
||||||
|
<a href="{{ SITEURL }}/{{ first_page.url }}">⇇</a>
|
||||||
|
<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>
|
||||||
|
<a href="{{ SITEURL }}/{{ last_page.url }}">⇉</a>
|
||||||
|
{% endif %}
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
14
themes/simple/templates/archives.html
Normal file
14
themes/simple/templates/archives.html
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block title %}{{ SITENAME }} - Archives{% endblock %}
|
||||||
|
|
||||||
|
{% 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 %}
|
67
themes/simple/templates/article.html
Normal file
67
themes/simple/templates/article.html
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
{% block html_lang %}{{ article.lang }}{% endblock %}
|
||||||
|
|
||||||
|
{% block title %}{{ SITENAME }} - {{ article.title|striptags }}{% endblock %}
|
||||||
|
|
||||||
|
{% block head %}
|
||||||
|
{{ super() }}
|
||||||
|
|
||||||
|
{% import 'translations.html' as translations with context %}
|
||||||
|
{% if translations.entry_hreflang(article) %}
|
||||||
|
{{ translations.entry_hreflang(article) }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if article.description %}
|
||||||
|
<meta name="description" content="{{article.description}}" />
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% for tag in article.tags %}
|
||||||
|
<meta name="tags" content="{{tag}}" />
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<section id="content" class="body">
|
||||||
|
<header>
|
||||||
|
<h2 class="entry-title">
|
||||||
|
<a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark"
|
||||||
|
title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h2>
|
||||||
|
{% import 'translations.html' as translations with context %}
|
||||||
|
{{ translations.translations_for(article) }}
|
||||||
|
</header>
|
||||||
|
<footer class="post-info">
|
||||||
|
<time class="published" datetime="{{ article.date.isoformat() }}">
|
||||||
|
{{ article.locale_date }}
|
||||||
|
</time>
|
||||||
|
{% if article.modified %}
|
||||||
|
<time class="modified" datetime="{{ article.modified.isoformat() }}">
|
||||||
|
{{ article.locale_modified }}
|
||||||
|
</time>
|
||||||
|
{% endif %}
|
||||||
|
{% if article.authors %}
|
||||||
|
<address class="vcard author">
|
||||||
|
By {% for author in article.authors %}
|
||||||
|
<a class="url fn" href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a>
|
||||||
|
{% endfor %}
|
||||||
|
</address>
|
||||||
|
{% endif %}
|
||||||
|
{% if article.category %}
|
||||||
|
<div class="category">
|
||||||
|
Category: <a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% if article.tags %}
|
||||||
|
<div class="tags">
|
||||||
|
Tags:
|
||||||
|
{% for tag in article.tags %}
|
||||||
|
<a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</footer><!-- /.post-info -->
|
||||||
|
<div class="entry-content">
|
||||||
|
{{ article.content }}
|
||||||
|
</div><!-- /.entry-content -->
|
||||||
|
</section>
|
||||||
|
{% endblock %}
|
8
themes/simple/templates/author.html
Normal file
8
themes/simple/templates/author.html
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{% block title %}{{ SITENAME }} - Articles by {{ author }}{% endblock %}
|
||||||
|
|
||||||
|
{% block content_title %}
|
||||||
|
<h2>Articles by {{ author }}</h2>
|
||||||
|
{% endblock %}
|
||||||
|
|
12
themes/simple/templates/authors.html
Normal file
12
themes/simple/templates/authors.html
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{% 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 %}
|
63
themes/simple/templates/base.html
Normal file
63
themes/simple/templates/base.html
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="{% block html_lang %}{{ DEFAULT_LANG }}{% endblock html_lang %}">
|
||||||
|
<head>
|
||||||
|
{% block head %}
|
||||||
|
<title>{% block title %}{{ SITENAME }}{% endblock title %}</title>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="generator" content="Pelican" />
|
||||||
|
{% 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(slug=category.slug) }}{% else %}{{ CATEGORY_FEED_ATOM.format(slug=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(slug=category.slug) }}{% else %}{{ CATEGORY_FEED_RSS.format(slug=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(slug=tag.slug) }}{% else %}{{ TAG_FEED_ATOM.format(slug=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(slug=tag.slug) }}{% else %}{{ TAG_FEED_RSS.format(slug=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" class="body">
|
||||||
|
<h1><a href="{{ SITEURL }}/">{{ SITENAME }}{% if SITESUBTITLE %} <strong>{{ SITESUBTITLE }}</strong>{% endif %}</a></h1>
|
||||||
|
</header><!-- /#banner -->
|
||||||
|
<nav id="menu"><ul>
|
||||||
|
{% for title, link in MENUITEMS %}
|
||||||
|
<li><a href="{{ link }}">{{ title }}</a></li>
|
||||||
|
{% endfor %}
|
||||||
|
{% if DISPLAY_PAGES_ON_MENU %}
|
||||||
|
{% for p in pages %}
|
||||||
|
<li{% if p == page %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ p.url }}">{{ p.title }}</a></li>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% if DISPLAY_CATEGORIES_ON_MENU %}
|
||||||
|
{% for cat, null in categories %}
|
||||||
|
<li{% if cat == category %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
</ul></nav><!-- /#menu -->
|
||||||
|
{% block content %}
|
||||||
|
{% endblock %}
|
||||||
|
<footer id="contentinfo" class="body">
|
||||||
|
<address id="about" class="vcard body">
|
||||||
|
Proudly powered by <a href="https://getpelican.com/">Pelican</a>,
|
||||||
|
which takes great advantage of <a href="https://www.python.org/">Python</a>.
|
||||||
|
</address><!-- /#about -->
|
||||||
|
</footer><!-- /#contentinfo -->
|
||||||
|
</body>
|
||||||
|
</html>
|
12
themes/simple/templates/categories.html
Normal file
12
themes/simple/templates/categories.html
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block title %}{{ SITENAME }} - Categories{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h1>Categories on {{ SITENAME }}</h1>
|
||||||
|
<ul>
|
||||||
|
{% for category, articles in categories|sort %}
|
||||||
|
<li><a href="{{ SITEURL }}/{{ category.url }}">{{ category }}</a> ({{ articles|count }})</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endblock %}
|
8
themes/simple/templates/category.html
Normal file
8
themes/simple/templates/category.html
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{% block title %}{{ SITENAME }} - {{ category }} category{% endblock %}
|
||||||
|
|
||||||
|
{% block content_title %}
|
||||||
|
<h2>Articles in the {{ category }} category</h2>
|
||||||
|
{% endblock %}
|
||||||
|
|
14
themes/simple/templates/gosquared.html
Normal file
14
themes/simple/templates/gosquared.html
Normal file
@ -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 %}
|
28
themes/simple/templates/index.html
Normal file
28
themes/simple/templates/index.html
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
{% block content %}
|
||||||
|
<section id="content">
|
||||||
|
{% block content_title %}
|
||||||
|
<h2>All articles</h2>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
<ol id="post-list">
|
||||||
|
{% for article in articles_page.object_list %}
|
||||||
|
<li><article class="hentry">
|
||||||
|
<header> <h2 class="entry-title"><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h2> </header>
|
||||||
|
<footer class="post-info">
|
||||||
|
<time class="published" datetime="{{ article.date.isoformat() }}"> {{ article.locale_date }} </time>
|
||||||
|
<address class="vcard author">By
|
||||||
|
{% for author in article.authors %}
|
||||||
|
<a class="url fn" href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a>
|
||||||
|
{% endfor %}
|
||||||
|
</address>
|
||||||
|
</footer><!-- /.post-info -->
|
||||||
|
<div class="entry-content"> {{ article.summary }} </div><!-- /.entry-content -->
|
||||||
|
</article></li>
|
||||||
|
{% endfor %}
|
||||||
|
</ol><!-- /#posts-list -->
|
||||||
|
{% if articles_page.has_other_pages() %}
|
||||||
|
{% include 'pagination.html' %}
|
||||||
|
{% endif %}
|
||||||
|
</section><!-- /#content -->
|
||||||
|
{% endblock content %}
|
27
themes/simple/templates/page.html
Normal file
27
themes/simple/templates/page.html
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
{% block html_lang %}{{ page.lang }}{% endblock %}
|
||||||
|
|
||||||
|
{% block title %}{{ SITENAME }} - {{ page.title|striptags }}{%endblock%}
|
||||||
|
|
||||||
|
{% block head %}
|
||||||
|
{{ super() }}
|
||||||
|
|
||||||
|
{% import 'translations.html' as translations with context %}
|
||||||
|
{% if translations.entry_hreflang(page) %}
|
||||||
|
{{ translations.entry_hreflang(page) }}
|
||||||
|
{% endif %}
|
||||||
|
{% 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 %}
|
15
themes/simple/templates/pagination.html
Normal file
15
themes/simple/templates/pagination.html
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{% if DEFAULT_PAGINATION %}
|
||||||
|
{% set first_page = articles_paginator.page(1) %}
|
||||||
|
{% set last_page = articles_paginator.page(articles_paginator.num_pages) %}
|
||||||
|
<p class="paginator">
|
||||||
|
{% if articles_page.has_previous() %}
|
||||||
|
<a href="{{ SITEURL }}/{{ first_page.url }}">⇇</a>
|
||||||
|
<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>
|
||||||
|
<a href="{{ SITEURL }}/{{ last_page.url }}">⇉</a>
|
||||||
|
{% endif %}
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
14
themes/simple/templates/period_archives.html
Normal file
14
themes/simple/templates/period_archives.html
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block title %}{{ SITENAME }} - {{ period | reverse | join(' ') }} archives{% endblock %}
|
||||||
|
|
||||||
|
{% 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 %}
|
7
themes/simple/templates/tag.html
Normal file
7
themes/simple/templates/tag.html
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{% block title %}{{ SITENAME }} - {{ tag }} tag{% endblock %}
|
||||||
|
|
||||||
|
{% block content_title %}
|
||||||
|
<h2>Articles tagged with {{ tag }}</h2>
|
||||||
|
{% endblock %}
|
12
themes/simple/templates/tags.html
Normal file
12
themes/simple/templates/tags.html
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block title %}{{ SITENAME }} - Tags{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h1>Tags for {{ SITENAME }}</h1>
|
||||||
|
<ul>
|
||||||
|
{% for tag, articles in tags|sort %}
|
||||||
|
<li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> ({{ articles|count }})</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endblock %}
|
16
themes/simple/templates/translations.html
Normal file
16
themes/simple/templates/translations.html
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{% macro translations_for(article) %}
|
||||||
|
{% if article.translations %}
|
||||||
|
Translations:
|
||||||
|
{% for translation in article.translations %}
|
||||||
|
<a href="{{ SITEURL }}/{{ translation.url }}" hreflang="{{ translation.lang }}">{{ translation.lang }}</a>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% endmacro %}
|
||||||
|
|
||||||
|
{% macro entry_hreflang(entry) %}
|
||||||
|
{% if entry.translations %}
|
||||||
|
{% for translation in entry.translations %}
|
||||||
|
<link rel="alternate" hreflang="{{ translation.lang }}" href="{{ SITEURL }}/{{ translation.url }}">
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% endmacro %}
|
Loading…
Reference in New Issue
Block a user