enabled all-site translations

This commit is contained in:
mb@mb 2017-09-14 23:40:20 +02:00
parent 35e776d699
commit 7afa6488a5
24 changed files with 289 additions and 154 deletions

View File

@ -0,0 +1,30 @@
Title: homebrewserver.club
Date: 2017-09-14
Category: meeting
Slug: homebrewserver.club
lang: en
curriculum: False
<pre>
░░░░░░░░░░░░░░░░░░░░░░░░░
░░█░█░█▀█░█▄█░█▀▀░░░░░░░░
░░█▀█░█░█░█░█░█▀▀░░░░░░░░
░░▀░▀░▀▀▀░▀░▀░▀▀▀░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░
░░█▀▄░█▀▄░█▀▀░█░█░░░░░░░░
░░█▀▄░█▀▄░█▀▀░█▄█░░░░░░░░
░░▀▀░░▀░▀░▀▀▀░▀░▀░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░
░█▀▀░█▀▀░█▀▄░█░█░█▀▀░█▀▄░
░▀▀█░█▀▀░█▀▄░▀▄▀░█▀▀░█▀▄░
░▀▀▀░▀▀▀░▀░▀░░▀░░▀▀▀░▀░▀░
░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░█▀▀░█░░░█░█░█▀▄░░░░
░░░░░░█░░░█░░░█░█░█▀▄░░░░
░░░▀░░▀▀▀░▀▀▀░▀▀▀░▀▀░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░
</pre>
A monthly gathering for those who (wish to) host their own online services from home, rather than using commercial and privacy unfriendly alternatives. Together we config and work on our homebrew server setups. These are low-cost, low-power, low-maintenance, high-fun computers through which we can host all of our online necessities and keep them out of the cloud. The club meetings are open for anyone, from more experienced users to interested beginners. During the homebrewserver.club meetings we exchange tips or look into particular topics together. As we gain more knowledge about a topic, we write and publish guides for others to share.
[homebrewserver.club](https://homebrewserver.club)

18
content/en/relearn-en.md Normal file
View File

@ -0,0 +1,18 @@
Title: Relearn Rotterdam
Date: 2017-08-29
Category: project
Slug: relearn
lang: en
![test image](/images/pg.jpg)
Relearn is a collective learning experiment with as many teachers as it has participants. It is motivated by the possibility to displace parameters of/for research, studying and learning.
During the week of Relearn, we work with a set of case-studies, observations, questions or stacks of study material that we call "tracks". Relearn outlines the idea of resetting thinking modes, for a diverse set of approaches that we can reconsider, that come out of the development of our cultures towards and through digital entities.
While Relearn is an experiment in collective learning, it grows from an interest in Free / Libre Open Source Software culture and practices as a way to address and acknowledge the production processes and frameworks involving technology and cultur
29th of August - 2nd of September 2017<br>
Poortgebouw, Rotterdam
[www.relearn.be](http://www.relearn.be/2017/)

View File

@ -0,0 +1,9 @@
Title: De Samenscholing: A Collective look at Moocs and learning
Date: 2017-09-12
Category: project
Slug: samenscholing
lang: en
![test image](/images/schoolbells.jpg)
(To be translated)

View File

@ -0,0 +1,10 @@
Title: Introduction To Software Defined Radio
Date: 2017-09-09
Category: curriculum
Slug: sdr-intro
lang: en
curriculum: True
![This is not an SDR](/images/radio.jpg)
Thee air that surrounds us is filled with signals ranging from cell phone packets, commercial radio stations, wireless internet modems, airplane tracking signals, satellite broadcasts and many more... The advent of Software-Defined Radio (SDR) has made it much easier and cheaper to learn how to receive these signals and use them for a variety of projects. This course will introduce participants to this relatively new set of open source tools known as Software Defined Radio. The course held weekly on Tuesday evenings from 20:00 to 22:00 strarting on the 15th of November. It held by Dennis de Bel and Roel Roscam Abbing it costs 80 euros. SDR Hardware is included in the course fee.

View File

@ -0,0 +1,14 @@
Title: Sounduncloud: A Rogue Archiving Workshop
Date: 2017-11-09
Category: curriculum
Slug: sounduncloud
lang: en
curriculum: True
![Offline listening for days!](/images/offline_listening.png)
Soundcloud has narrowly avoided bankruptcy. The online platform where mixes are shared and genres such as 'soundcloud rap' emerged is in dire straits. In this short workshop we will look at rogue archival practices, help you download all your mixes and saved collcetions using Free Software tools and finally make and publish a mixtape together.
Dates: november 25th
Max participants: 15
Costs: 35 euro

View File

@ -2,8 +2,7 @@ Title: homebrewserver.club
Date: 2017-09-14
Category: meeting
Slug: homebrewserver.club
lang: en
curriculum: False
lang: nl
<pre>
░░░░░░░░░░░░░░░░░░░░░░░░░
@ -25,6 +24,6 @@ curriculum: False
░░░░░░░░░░░░░░░░░░░░░░░░░
</pre>
A monthly gathering for those who (wish to) host their own online services from home, rather than using commercial and privacy unfriendly alternatives. Together we config and work on our homebrew server setups. These are low-cost, low-power, low-maintenance, high-fun computers through which we can host all of our online necessities and keep them out of the cloud. The club meetings are open for anyone, from more experienced users to interested beginners. During the homebrewserver.club meetings we exchange tips or look into particular topics together. As we gain more knowledge about a topic, we write and publish guides for others to share.
(Nog te vertalen) A monthly gathering for those who (wish to) host their own online services from home, rather than using commercial and privacy unfriendly alternatives. Together we config and work on our homebrew server setups. These are low-cost, low-power, low-maintenance, high-fun computers through which we can host all of our online necessities and keep them out of the cloud. The club meetings are open for anyone, from more experienced users to interested beginners. During the homebrewserver.club meetings we exchange tips or look into particular topics together. As we gain more knowledge about a topic, we write and publish guides for others to share.
[homebrewserver.club](https://homebrewserver.club)

BIN
content/images/pg.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 652 KiB

View File

@ -0,0 +1,8 @@
Title: header
Date: 2017-04-09
Category: about
Slug: header
lang: en
CAT/CET, center for everyday technology is a Rotterdam based initiative working [with, about and through technology](/en/category/project.html). At its core CAT/CET is a [social infrastructure](/en/pages/about.html) from which to collectively relate to everyday technology. In the city it sees its role as a space for questions, opinions, modifications, help and action. In a wider network De Samenscholing wants to become a [hub for exchange](/en/pages/membership.html), a voice in debates and a resource for resilience. [Current events](/en/). [Curriculum](/en/category/curriculum.html).

View File

@ -0,0 +1,9 @@
Title: header
Date: 2017-04-09
Category: about
Slug: header
lang: nl
CAT/CET is een ruimte/collectief in Rotterdam dat werkt [aan, met en door technologie](/category/project.html). In de kern is CAT/CET een [sociale infrastructuur](/pages/about.html) van waaruit men gezamelijk een relatie tot de technologie van alledag aangaat. In de stad creeert ze (een) ruimte voor vragen, meningen, ingrepen, hulp en actie. In haar bredere netwerk wil CAT/CET [het middelpunt van uitwisseling zijn](/pages/membership.html), een stem in debatten hebben en een bron van weerbaarheid vormen. [Huidige evenementen](/). [Curriculum](/category/curriculum.html).

View File

@ -1,8 +0,0 @@
Title: header
Date: 2017-04-09
Category: about
Slug: header
lang: en
CAT/CET, center of everyday technology is a Rotterdam based initiative working [with, about and through technology](/pages/projects.html). At its core CAT/CET is a [social infrastructure](/pages/about.html) from which to collectively relate to everyday technology. In the city it sees its role as a space for questions, opinions, modifications, help and action. In a wider network De Samenscholing wants to become a [hub for exchange](/pages/curriculum.html), a voice in debates and a resource for resilience. [Current events](/). [Become a member](/pages/membership.html).

View File

@ -0,0 +1,9 @@
Title: membership
Date: 2017-04-09
Category: about
Slug: membership
lang: en
CAT/CET will function on a membership basis: each member can initiate or organize a weekly, monthly or spontaneous session around a shared topic of interest. By creating an open space to initiate, a changing flow of meetings will be organized and being available for participation to other members.
The CAT/CET space functions as a working and meeting place where members meet during organized events or accidental encounters, and where non-members are welcome to join.

View File

@ -0,0 +1,9 @@
Title: membership
Date: 2017-04-09
Category: about
Slug: membership
lang: nl
CAT/CET werkt met een ledenmodel. Deze vorm biedt de mogelijkheid om leden te binden aan de organisatie en deze uit te breiden. Deze leden betalen een maandelijkse vaste bijdrage en kunnen in ruil daarvoor deelnemen aan de activiteiten die worden georganiseerd. Hierdoor kunnen binnen de vereniging verschillende interessegroepen ontstaan. Naast de mogelijkheid van het organiseren van zulke clubavonden, thematische sessies of bijeenkomsten heeft CAT/CET een vast publiek programma dat gericht is op een breder netwerk.
De ruimte van CAT/CET functioneert als een werk- en ontmoetingsplek, waar leden elkaar ontmoeten tijdens georganiseerde evenementen of spontane ontmoetingen en niet-leden welkom zijn om aan te sluiten en lid te worden.

View File

@ -1,6 +0,0 @@
Title: membership
Date: 2017-04-09
Category: about
Slug: membership
Become a member of the center of everyday technology.

18
content/relearn.md Normal file
View File

@ -0,0 +1,18 @@
Title: Relearn Rotterdam
Date: 2017-08-29
Category: project
Slug: relearn
lang: nl
![test image]({filename}images/pg.jpg)
Relearn is een week-lang collectief leer experiment met evenveel leraren als deelnemers. De collectieve studieweek zet parameters van/voor leren centraal, en zoekt manieren om deze te verplaatsen.
Tijdens Relearn werken we met een reeks case studies, waarnemingen, vragen, of stapels studiemateriaal die als "tracks" de structuur van de week vormen. Relearn omarmt het resetten van denkmodi, om een uiteenlopende reeks aanpakken te heroverwegen, die voortkomen uit de ontwikkeling van onze culturen tot en via digitale entiteiten.
Naast een experiment in collectief leren, is Relearn ontstaan vanuit een interesse in Vrije en Open Source Software-cultuur en -praktijken als een manier om de productieprocessen en -kaders van technologie en cultuur te ondervragen..
29 Augustus - 2 September 2017<br>
Poortgebouw, Rotterdam
[www.relearn.be](http://www.relearn.be/2017/)

View File

@ -1,9 +1,8 @@
Title: De Samenscholing: A Collective look at Moocs and learning
Title: De Samenscholing: Een collectieve kijk op Moocs en leren
Date: 2017-09-12
Category: curriculum
Category: project
Slug: samenscholing
lang: en
curriculum: True
lang: nl
![test image]({filename}images/schoolbells.jpg)
@ -12,8 +11,3 @@ Deze MOOCS, die worden aangeboden door online platforms zoals Coursera creeeren
Om de problemen die bij deze vorm van leren te behandelen heeft CAT besloten een laagdrempelige avondschool op te zetten onder de naam De Samenscholing. Deelnemers kunnen daarmee het isolement van deze cursussen doorbreken door gezamenlijk een MOOC te volgen. Daarbij maken we met elkaar een leeromgeving die kritisch en non-individualistisch is. Waarbij we nieuwe dingen leren om het leren zelf centraal staat en niet vanwege de eventuele praktische economische motieven. Deelnemers hoeven niet langer alleen passief en geisoleerd thuis te zitten, maar kunnen eindelijk gezamenlijk discussieren over de inhoud en de vorm van de cursus, maar ook over de cursus.
This workshop is explicitly intended for people with a wide variety of backgrounds and experience. An interest in understanding the internet as a political actor in today's world is the only requirement. Please make sure to bring a laptop.
Dates: november 25th
Max participants: 15
Costs: 35 euro

View File

@ -2,9 +2,9 @@ Title: Introduction To Software Defined Radio
Date: 2017-09-09
Category: curriculum
Slug: sdr-intro
lang: en
lang: nl
curriculum: True
![This is not an SDR]({filename}images/radio.jpg)
Thee air that surrounds us is filled with signals ranging from cell phone packets, commercial radio stations, wireless internet modems, airplane tracking signals, satellite broadcasts and many more... The advent of Software-Defined Radio (SDR) has made it much easier and cheaper to learn how to receive these signals and use them for a variety of projects. This course will introduce participants to this relatively new set of open source tools known as Software Defined Radio. The course held weekly on Tuesday evenings from 20:00 to 22:00 strarting on the 15th of November. It held by Dennis de Bel and Roel Roscam Abbing it costs 80 euros. SDR Hardware is included in the course fee.
(Nog te vertalen) Thee air that surrounds us is filled with signals ranging from cell phone packets, commercial radio stations, wireless internet modems, airplane tracking signals, satellite broadcasts and many more... The advent of Software-Defined Radio (SDR) has made it much easier and cheaper to learn how to receive these signals and use them for a variety of projects. This course will introduce participants to this relatively new set of open source tools known as Software Defined Radio. The course held weekly on Tuesday evenings from 20:00 to 22:00 strarting on the 15th of November. It held by Dennis de Bel and Roel Roscam Abbing it costs 80 euros. SDR Hardware is included in the course fee.

View File

@ -2,13 +2,13 @@ Title: Sounduncloud: A Rogue Archiving Workshop
Date: 2017-11-09
Category: curriculum
Slug: sounduncloud
lang: en
lang: nl
curriculum: True
![Offline listening for days!]({filename}images/offline_listening.png)
Soundcloud has narrowly avoided bankruptcy. The online platform where mixes are shared and genres such as 'soundcloud rap' emerged is in dire straits. In this short workshop we will look at rogue archival practices, help you download all your mixes and saved collcetions using Free Software tools and finally make and publish a mixtape together.
(Nog te vertalen) Soundcloud has narrowly avoided bankruptcy. The online platform where mixes are shared and genres such as 'soundcloud rap' emerged is in dire straits. In this short workshop we will look at rogue archival practices, help you download all your mixes and saved collcetions using Free Software tools and finally make and publish a mixtape together.
Dates: november 25th
Max participants: 15
Costs: 35 euro
* Datum: 25 november 2017
* Maximaal aantal deelnemers: 15
* Kosten: 35 euro

View File

@ -3,7 +3,7 @@
from __future__ import unicode_literals
AUTHOR = u'team'
SITENAME = u'ʬ'
SITENAME = u'CAT/CET'
SITESUBTITLE= u'Centrum voor Alledaagse Technologie'
SITEURL = ''
@ -30,7 +30,7 @@ AUTHOR_FEED_RSS = None
#SOCIAL = (('You can add links in your config file', '#'),
# ('Another social link', '#'),)
DEFAULT_PAGINATION = 5
DEFAULT_PAGINATION = 25
# Uncomment following line if you want document-relative URLs when developing
#RELATIVE_URLS = True
@ -41,10 +41,10 @@ MD_EXTENSIONS = ['codehilite','extra','smarty', 'toc']
STATIC_PATHS = ['extra', 'images', 'pdfs']
EXTRA_PATH_METADATA = {
'extra/robots.txt': {'path': 'robots.txt'},
'extra/favicon.ico': {'path': 'favicon.ico'},
'extra/htaccess': {'path': '.htaccess'}
}
'extra/robots.txt': {'path': 'robots.txt'},
'extra/favicon.ico': {'path': 'favicon.ico'},
'extra/htaccess': {'path': '.htaccess'}
}
MENUITEMS=(
# adds extra menu items, the others are automatically generated as pages
@ -55,12 +55,18 @@ THEME = 'themes/cetcat'
# ARTICLE_LANG_URL = '{slug}-{lang}.html'
# I18N_SUBSITES = {
# 'en': {
# 'SITENAME': u'ʬ', 'SITESUBTITLE':u'Centre for Everyday Technology', 'locale':'en_US.UTF-8'
# },
# 'nl': {
# 'SITENAME': u'ʬ', 'SITESUBTITLE':u'Centrum voor Alledaagse Technologie',
# }
# }
I18N_SUBSITES = {
'en': {
'SITENAME': u'CET',
'SITESUBTITLE':u'Centre for Everyday Technology', 'locale':'en_US.UTF-8'
},
'nl': {
'SITENAME': u'CAT', 'SITESUBTITLE':u'Centrum voor Alledaagse Technologie',
}
}
lang_siteurls = {
'nl': '/',
'en': '/en/'
}

View File

@ -42,15 +42,16 @@
@font-face{
font-family: "liberation";
src:url('../fonts/LiberationMono.ttf');
}
}
body {
body{
position: relative;
width: calc(100% - 50px);
min-width: 500px;
top:0px;
left:0px;
margin:0 auto 5em auto;
padding: 0;
padding: 0px 15px;
font-family: monospace, "liberation";
font-size: 16px;
line-height:1.8;
@ -62,11 +63,15 @@ body {
a {
color:#7e5211;
}
hr {
a:hover{
border:0;
text-decoration: none;
}
hr, .separator hr {
border:0;
border-top:1px dotted;
color: black;
border-bottom:1px solid;
margin-top:1em;
margin-bottom:1em;
}
@ -87,6 +92,7 @@ h1, h2, h3, h4, h5, h6, #header{
pre{
line-height: 1.0;
font-family: monospace;
}
.paginator{
@ -99,10 +105,31 @@ pre{
margin-top:0px;
}
/* --- */
/****************************/
/* header & #translation */
#translation{
position: absolute;
font-size: 12px;
top:-15px;
right:5px;
margin:0;
padding:0;
}
#translation li{
list-style: none;
display: inline-block;
}
#translation li.active a{
text-decoration: none;
}
#translation li.active{
font-weight: bold;
}
header {
width:100%;
width:calc(100% - 50px);
margin-top:1em;
line-height: 1.5em;
padding-bottom:1em;
@ -116,7 +143,9 @@ header {
margin-top:1em;
}
/****************************/
/* main/index overview page */
#content #post-list{
width: 100%;
}
@ -125,53 +154,72 @@ header {
display: inline-block;
width: 200px;
font-size: 12px;
line-height: 1.7;
margin:0 2em 2em 0;
vertical-align: top;
}
.separator hr{
border:0;
border-top:1px dotted;
padding:0;
}
.hentry .article-info .entry-title{
font-family: "liberation", monospace;
font-size: 120%;
font-weight: normal;
}
/****************************/
/* article */
.article-info{
max-width: 672px;
margin-bottom:1em;
}
.post-info time sup{
.article-info .post-info time sup{
font-size: 100%;
}
#translation{
float: left;
}
.entry-title{
.article-info .entry-title{
width:100%;
display:inline-block;
font-family: "liberation", monospace;
font-size: 120%;
line-height: 1.3;
font-size: 22px;
line-height: 1.5;
font-weight: bold;
}
.entry-content{
max-width: 800px;
max-width: 672px;
}
.entry-content p, .entry-content h1, .entry-content h2, .entry-content h3{
}
.entry-content img, .summary img{
max-width:100%;
}
.entry-content ul {
font-size:20px;
line-height:1.5;
margin: auto;
max-width:800px;
}
.entry-content img, .summary img{
max-width:100%;
}
.entry-content .seperator hr{
max-width: 50%;
}
.post-info{
font-size: 12px;
}
.post-info sup{
font-size: 100%;
}
.post-info .categories{
margin: 3px 0;
}
/****************************/
/* pages */
#page-content{
width: 50%;
}
#page-content p{
margin:0 0 28.8px 0; /* line height 1.8 = 28.8px */
}
#page-content img{
position: relative;
width:25%;
margin:0 -100% 15px 0;
float: right;
left:10px;
}
/****************************/
/* other */
@ -180,30 +228,12 @@ header {
max-width:800px;
}
#page-content{
clear: both;
float: left;
margin-top:-0.5em;
/*max-width: 800px;*/
}
#page-content img{
max-width:100%;
}
.divider {
font-size:12px;
width:100%;
line-height:1em;
background-color:white;
}
/*
.published{
font-size:smaller;
}
.article_tags{
font-size:smaller;
}
*/
#categories {
font-size: 40px;
@ -211,6 +241,7 @@ header {
text-align: center;
}
#pertaining{
display: none;
margin-top:2em;
text-align:center;
@ -223,7 +254,6 @@ header {
.author{
display: none;
font-size:smaller;
}

View File

@ -20,30 +20,34 @@
<section id="content" class="body">
<div class="article-info">
<div class="entry-title">
<a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a>
{{ article.title }}
<!-- <a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a> -->
</div>
<!-- {% import 'translations.html' as translations with context %} -->
<!-- {{ translations.translations_for(article) }} -->
</div>
<div class="entry-content">
{{ article.content }}
<div class="separator"><hr></div>
</div><!-- /.entry-content -->
<div class="post-info">
<time class="published" datetime="{{ article.date.isoformat() }}">
published on {{ 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>
{% if article.category %}
<div class="categories">
<span itemprop="articleSection">
<a href="{{ SITEURL }}/{{ article.category.url }}" rel="category">{{ article.category }}</a>
</span>
</div>
{% endif %} {% if article.tags %}
<div class="tags">
Tags: {% for tag in article.tags %}
<span itemprop="keywords">
<a href="{{ SITEURL }}/{{ tag.url }}" rel="tag">{{ tag }}</a>
</span> {% endfor %}
</div>
{% endif %}
<!-- {% import 'translations.html' as translations with context %} -->
<!-- {{ translations.translations_for(article) }} -->
</div>
</section>
{% endblock %}

View File

@ -41,38 +41,28 @@
</head>
<body id="index" class="home">
<header id="banner">
<div id="translation">
{% if lang_siteurls %}
{% for lang, url in lang_siteurls.items() %}
{% if url == '/nl'%}
<li{% if lang == DEFAULT_LANG %} class="active"{% endif %}><a href="/">{{ lang }}</a></li>
{% endif %}
{% if url == '/en'%}
<li{% if lang == DEFAULT_LANG %} class="active"{% endif %}><a href="{{ url }}/">{{ lang }}</a></li>
{% endif %}
{% endfor %}
{% endif %}
</div>
<header id="banner">
{% for p in pages %}
{% if p.title == 'header' %}
<div id="title">{{ p.content }}</div>
{% endif %}
{% endfor %}
<!-- <span id="title">{{ SITENAME }}</span>
</br>
<span id="subtitle">{{ SITESUBTITLE }}</span> -->
<!-- <nav id="menu"> -->
<!-- {% for title, link in MENUITEMS %} -->
<!-- <a class="menu-item" href="{{ link }}">{{ title }}</a> -->
<!-- {% endfor %} -->
<!-- {% if DISPLAY_PAGES_ON_MENU %} -->
<!-- {% for p in pages %} -->
<!-- <span {% if p == page %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ p.url }}">{{ p.title }}</a></span> -->
<!-- {% endfor %} -->
<!-- {% else %} -->
<!-- {% 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 %} -->
<!-- {% endif %} -->
<!-- </ul> -->
<!-- </nav> -->
</header>
{% block content %}
{% endblock %}
{% block content %}
{% endblock %}
</body>
</html>

View File

@ -14,20 +14,14 @@
</div>
<div class="summary">{{ article.summary }}</div>
<div class="separator"><hr></div>
<!-- <div class="entry-content"> -->
<!-- {{ article.content }} -->
<!-- </div>/.entry-content -->
<div class="post-info">
<time class="published" datetime="{{ article.date.isoformat() }}">
<sup>published on {{ article.locale_date }}</sup>
</time>
{% if article.category %}
<div class="categories">
<span itemprop="articleSection">
(<a href="{{ SITEURL }}/{{ article.category.url }}" rel="category">{{ article.category }}</a>)
<a href="{{ SITEURL }}/{{ article.category.url }}" rel="category">{{ article.category }}</a>
</span>
</div>
{% endif %} {% if article.tags %}

View File

@ -1,16 +1,15 @@
{% extends "base.html" %}
{% block title %}{{ page.title }}{%endblock%}
{% block content %}
<!-- {% import 'translations.html' as translations with context %} -->
<!-- {{ translations.translations_for(page) }} -->
<div id ="page-content">
{{ page.content }}
{{ page.content }}
{% if page.modified %}
<p>
Last updated: {{ page.locale_modified }}
</p>
{% endif %}
<!-- {% import 'translations.html' as translations with context %} -->
<!-- {{ translations.translations_for(page) }} -->
</div>
{% endblock %}

View File

@ -1,9 +1,8 @@
{% macro translations_for(article) %}
{% if article.translations %}
<div id="translation">
Translations:
{% for translation in article.translations %}
<a href="{{ SITEURL }}/{{ translation.url }}">{{ translation.lang }}</a>
<a href="{{ SITEURL }}/{{ translation.url }}">{{ translation.lang }}</a>
{% endfor %}
</div>
{% endif %}