Browse Source

big update to v2 of the wttf theme

master
mb@mb 6 years ago
parent
commit
df91b5342a
  1. 474
      theme/wttf/static/main.css
  2. 17
      theme/wttf/templates/article.html
  3. 53
      theme/wttf/templates/base.html
  4. 47
      theme/wttf/templates/index.html
  5. 3
      theme/wttf/templates/tag.html
  6. BIN
      theme/wttf_v1/static/fonts/arima-koshi/ArimaKoshi-Bold.otf
  7. BIN
      theme/wttf_v1/static/fonts/arima-koshi/ArimaKoshi-ExtraBold.otf
  8. BIN
      theme/wttf_v1/static/fonts/arima-koshi/ArimaKoshi-ExtraLight.otf
  9. BIN
      theme/wttf_v1/static/fonts/arima-koshi/ArimaKoshi-Light.otf
  10. BIN
      theme/wttf_v1/static/fonts/arima-koshi/ArimaKoshi-Medium.otf
  11. BIN
      theme/wttf_v1/static/fonts/arima-koshi/ArimaKoshi-Regular.otf
  12. BIN
      theme/wttf_v1/static/fonts/arima-koshi/ArimaKoshi-SemiBold.otf
  13. BIN
      theme/wttf_v1/static/fonts/arima-koshi/ArimaKoshi-Thin.otf
  14. 93
      theme/wttf_v1/static/fonts/arima-koshi/OFL.txt
  15. 12
      theme/wttf_v1/static/fonts/liberation-serif/AUTHORS
  16. 14
      theme/wttf_v1/static/fonts/liberation-serif/ChangeLog
  17. 102
      theme/wttf_v1/static/fonts/liberation-serif/LICENSE
  18. BIN
      theme/wttf_v1/static/fonts/liberation-serif/LiberationSerif-Bold.ttf
  19. BIN
      theme/wttf_v1/static/fonts/liberation-serif/LiberationSerif-BoldItalic.ttf
  20. BIN
      theme/wttf_v1/static/fonts/liberation-serif/LiberationSerif-Italic.ttf
  21. BIN
      theme/wttf_v1/static/fonts/liberation-serif/LiberationSerif-Regular.ttf
  22. 80
      theme/wttf_v1/static/fonts/liberation-serif/README
  23. 5
      theme/wttf_v1/static/fonts/liberation-serif/TODO
  24. BIN
      theme/wttf_v1/static/img/favicon.png
  25. 11
      theme/wttf_v1/static/img/shape1.svg
  26. 11
      theme/wttf_v1/static/img/shape2.svg
  27. 11
      theme/wttf_v1/static/img/shape3.svg
  28. 11
      theme/wttf_v1/static/img/shape4.svg
  29. 11
      theme/wttf_v1/static/img/shape5.svg
  30. 9205
      theme/wttf_v1/static/js/jquery-2.1.3.js
  31. 0
      theme/wttf_v1/static/js/jquery-3.3.1.min.js
  32. 413
      theme/wttf_v1/static/main.css
  33. 11
      theme/wttf_v1/templates/archives.html
  34. 45
      theme/wttf_v1/templates/article.html
  35. 7
      theme/wttf_v1/templates/author.html
  36. 13
      theme/wttf_v1/templates/authors.html
  37. 92
      theme/wttf_v1/templates/base.html
  38. 8
      theme/wttf_v1/templates/categories.html
  39. 5
      theme/wttf_v1/templates/category.html
  40. 14
      theme/wttf_v1/templates/gosquared.html
  41. 98
      theme/wttf_v1/templates/index.html
  42. 15
      theme/wttf_v1/templates/page.html
  43. 11
      theme/wttf_v1/templates/pagination.html
  44. 11
      theme/wttf_v1/templates/period_archives.html
  45. 59
      theme/wttf_v1/templates/syndication.html
  46. 2
      theme/wttf_v1/templates/tag.html
  47. 10
      theme/wttf_v1/templates/tags.html
  48. 9
      theme/wttf_v1/templates/translations.html

474
theme/wttf/static/main.css

@ -39,24 +39,47 @@ body{
margin:0px; margin:0px;
font-size: 14px; font-size: 14px;
font-family: "headers"; font-family: "headers";
background-color: #ccd1cab3;
/*background: linear-gradient(to bottom right, #c2c2c2, #fff7f7, #e4e3e3);*/ /* oranje salmon */
/*background: linear-gradient(to bottom, #ff7b43ff, salmon, #ff7b43ff, salmon);*/
/* licht blauwig/paars */
background: linear-gradient(to bottom, #dcdeff, #ffd0cb, #dcdeff, #ffd0cb);
word-break: normal; word-break: normal;
color:#3c0e02;
} }
h1{ h1{
font-size: 42px; font-size: 28px;
line-height:45px; line-height:40px;
margin-top: 0.3em; margin-top: 0.3em;
margin-bottom: 0.3em; margin-bottom: 0.3em;
font-size: 36px;
font-family: "headers"; font-family: "headers";
font-weight: bold; font-weight: bold;
} }
h2, h3, h4, h5, h6{ h2, h3, h4, h5, h6, h2 a, h3 a, h4 a{
font-family: "headers"; font-family: "headers";
font-weight: bold; font-weight: bold;
margin-bottom: 0; margin-bottom: 0;
padding-bottom: 0; padding-bottom: 0;
text-decoration: none;
}
h2{
border-bottom:1px solid;
font-size: 12px;
margin:10px 0 7px 0;
}
/* small headlines on index.html */
h2.break{
border-bottom:20px solid rgba(240,240,240,0.4);
margin:20px 20px 22px 20px;
font-size: 12px;
}
h3{
font-size: 70%;
border-bottom:1px solid;
margin:0;
font-weight: normal;
} }
p{ p{
margin: 0 0 1em 0; margin: 0 0 1em 0;
@ -82,156 +105,196 @@ a, a:active, a:visited{
} }
hr{ hr{
border:0; border:0;
border-bottom:1px solid; border-bottom:1px solid black;
} }
em{ em{
font-style: italic; font-style: italic;
} }
sup{
line-height: 0;
}
section{ section{
width: calc(100% - 4em); width: 100%;
padding:0 2em; padding:0;
} }
/* outlined box around white blobs */
.box{
margin:20px 0 0 20px;
padding:10px 20px;
/* grey */
background-color: rgba(240,240,240,0.4);
/* green */
/*background-color: rgb(122, 233, 139); */
/* blue */
/*background-color: rgb(139, 198, 255); */
/* lila */
/*background-color: rgb(220, 205, 221); */
/* donker oranje/bruin */
/*background-color: rgba(93, 44, 44, 0.17); */
/*border:1px solid #3c0e02;*/
}
/* blobs */
#title, .post, .events h1{
border: 0;
border-radius: 15px 50px;
}
#title{
background:linear-gradient(45deg, #dcdeffb4, #ffd0cb4d, #dcdeffb4, #ffd0cb4d);
}
.events h1{
background-color: white;
}
.post{
background-color: rgba(240,240,240,0.4);
}
header{ header{
top:0; position: relative;
width: 100%; width: 100%;
height: auto; top:0;
margin:0 0 5em 0; left:0;
padding:0; margin-top:30px; /* to leave some space for the menu */
text-align: left;
} }
#menu{ #menu-wrapper{
width: auto; position: relative;
margin:0; width: calc(100% - 242px);
padding:90px 1em; }
font-size: 5vw; #title{
padding: 31px 40px;
font-size: 32px;
line-height: 1.35; line-height: 1.35;
color:white;
background-color: #fb4817;
background: linear-gradient(to bottom, salmon, #ff7f4d, #ccd1cab3);
} }
#menu.main{ #title.main{
position: relative; position: relative;
z-index: 10; z-index: 10;
} }
#menu a{ #title a{
text-decoration: none; text-decoration: none;
} }
#menu.main .indent{ #title select{
padding-left:60px;
}
#menu #subtitle{
margin:2em 2em 1em 60px;
font-family: 'serif';
font-size: 32px;
font-weight: normal;
line-height: 1.3;
color:white;
}
#menu img.shape{
width:20px;
height: 20px;
position: absolute;
opacity: 0.15;
filter: alpha(opacity=15); /* For IE8 and earlier */
}
#menu select{
height:5vw;
vertical-align: middle; vertical-align: middle;
color:black; color:black;
padding: 0 0 0 1em; padding: 0.25em 0 0.25em 0.5em;
margin:0 1em; margin:0 0.9em 0 0.5em;
}
#menu.sticky{
position: fixed;
font-size: 1.1em;
width: calc(100% - 2em);
top:0;
left:0;
padding:2px 1em 2px 2em;
margin:0;
background-color: #fb4817;
} }
#menu.sticky{ #menu{
z-index: 1; display: none;
font-size: 12px;
}
#menu svg{
width:100%;
} }
#menu.sticky a{ #menu path{
color:white; fill:transparent;
text-decoration: none;
} }
#menu.sticky #character{ header #subtitle, header #logo{
display: none; position: absolute;
top:-20px;
right:20px;
width: 100px;
height: 104px;
padding:20px;
text-align: center;
font-family: 'serif';
font-size: 14px;
font-weight: normal;
line-height: 1.2;
color:black;
}
header #logo img{
width: 100%;
border: 1px solid;
border-radius: 15px 50px;
} }
#menu.sticky select{ header #logo{
padding:0; display: none;
height: auto;
margin:0 0.5em;
font-size: 12px;
} }
#content{ #content{
margin-bottom:5em; margin:0em;
} }
#agenda{ #intro{
width: calc(50% - 6.5em); display: inline-block;
float: left; width: calc(60% - 42px);
padding: 1em 1.5em 2em 4em; font-size: 17px;
margin:0 0 2em 0; line-height: 1.35;
background-color: #6ade4e;
color:#3c0e02;
border-radius: 15px;
} }
#agenda h2{ #intro #intro_wrapper{
margin-bottom:-1em; margin: 5px 0px 0;
} }
#agenda h3{ #intro em{
margin:2em 0 0.5em 0; font-size: 95%;
} }
#agenda h3:before{ .gallery{
content:'⟿'; display: inline-block;
margin-left:-1.8em; width: calc(40% - 60px);
padding-right: 0.5em; vertical-align: top;
margin: 20px 0 0 17px;
}
h2.break#gallery{
margin:-4px 0 20px 0;
} }
#agenda strong{ .gallery img{
font-family: "headers"; float: left;
font-weight: bold; width: 50%;
font-size: 130%; border-radius: 15px 50px;
line-height: 1.2;
} }
.featured { .events .event{
max-width: calc(50% - 1.5em); display: inline-block;
float: left; vertical-align: top;
margin:2em 0; width: calc(33% - 86.5px);
color:rgb(0, 5, 33); min-width: 240px;
} max-width: 600px;
padding:30px;
.featured:nth-of-type(even) { margin-top:20px;
float:right; }
} .events h2.break{
.featured:nth-of-type(odd) { margin-bottom:0;
clear: left; }
} .event a{
.featured:last-of-type{
margin-bottom:5em;
}
.entry-title{
border: 0;
border-radius: 15px 50px;
background-color: white;
padding: 2em;
text-align: center;
}
.entry-title a{
color:#3c0e02; color:#3c0e02;
text-decoration: none; text-decoration: none;
} }
.events h1{
width: calc(100% - 92px);
margin: -10px 10px 30px -10px;
padding: 2em;
text-align: center;
}
.post {
position: relative;
width: calc(100% - 82px);
left:20px;
margin:0;
clear: both;
}
.post:last-of-type{
margin-bottom:20px;
}
.post h1{
font-size: 18px;
}
article{
margin-left: 10px;
}
.entry-title a{
color:#3c0e02;
text-decoration: none;
}
.entry-subtitle{ .entry-subtitle{
font-size: 16px;
line-height: 1.5;
text-align:left; text-align:left;
margin:1em 0 2em; margin:-10px 0 15px;
padding:0 20px;
color:#3c0e02; color:#3c0e02;
font-size: 12px;
} }
.entry-category{ .entry-category{
font-weight: bold; font-weight: bold;
@ -255,6 +318,9 @@ header{
.entry-content a{ .entry-content a{
text-decoration: underline; text-decoration: underline;
} }
.entry-content h2 a, .entry-content h3 a{
text-decoration: none;
}
.entry-readmore a{ .entry-readmore a{
text-decoration: underline; text-decoration: underline;
} }
@ -263,23 +329,44 @@ header{
text-decoration: underline; text-decoration: underline;
color:#3c0e02; color:#3c0e02;
} }
.footnote{
font-size: 80%;
color:black;
}
/* article pages */ /* article pages */
#content.article{ #content.article{
width: calc(100% - 80px);
margin:20px;
} }
#content.article .entry-title{
margin:3em 3em 2em 2em;
}
#content.article h1, #content.article h2, #content.article h3{ #content.article h1, #content.article h2, #content.article h3{
clear: both; clear: both;
} }
#content.article .entry-content{ #content.article .entry-content{
font-size: 18px; font-size: 20px;
letter-spacing: 0.03em; letter-spacing: 0.03em;
line-height: 1.7; line-height: 1.7;
max-width: 900px; max-width: 750px;
margin:0 0 5em 50px; margin:0 0 5em 50px;
} }
#content.article .entry-content h1{
font-size: 115%;
line-height: 1.25;
margin: 1em 0 0;
}
#content.article .entry-title{
padding:1.5em 40px;
background-color: white;
border: 0;
border-radius: 15px 50px;
}
#content.article .entry-subtitle{
margin:15px 0 40px 22px;
}
#content.article .entry-content iframe{
width: 100%;
min-height: 32vw;
}
#content.article .entry-content .img{ #content.article .entry-content .img{
width: 80%; width: 80%;
margin:2em 0; margin:2em 0;
@ -308,106 +395,89 @@ header{
} }
footer{ footer{
width: calc(100% - 4em); width: calc(100% - 40px);
margin:0; margin:0;
padding:2em; padding:20px;
left:0; left:0;
background-color: black; background-color: black;
color:white; color:white;
clear:both; clear:both;
font-family: "serif";
font-size: 100%;
line-height: 1.2;
} }
footer p{
width: 200px;
margin:0 20px 0 0;
display: inline-block;
vertical-align: top;
}
@media only screen and (orientation:portrait) { @media only screen and (orientation:portrait) {
body { body {
width: calc(100% - 80px);
} }
h1{ h1{
font-size: 26px; font-size: 26px;
line-height: 1.4; line-height: 1.4;
} }
header{ header #title{
margin:0 0 2em 0; line-height: 1.65;
} }
#menu{ header #title select{
clear:both; margin-left:auto;
max-width: 100%;
padding:1em 1em 1em 1em;
font-size: 12vw;
}
#menu.sticky{
font-size: 1em;
padding:0.5em 1em;
}
#menu title{
vertical-align: top;
} }
#menu.main .indent{ header #logo, header #subtitle{
padding-left:0; position: relative;
} width: 100%;
#menu select{ height: auto;
height: auto; top: 0;
} left: 0;
#menu.sticky select{ margin: 20px 20px 0 20px;
float: right; }
position: absolute; #menu-wrapper, #intro, .events, .gallery .img a img, .gallery .img a, .post, footer, footer p, #content.article, #content.article .entry-content, #content.article .entry-content .img{
top: 40px; width: 100%;
right: 10px; min-width: 100%;
padding: 1em; }
} .gallery{
#menu.sticky #character{ width: calc(100% + 44px);
display: inline-block; }
} .events .event{
#menu #subtitle{ width: calc(100% - 20px);
width: calc(100% - 2em); min-width: 0;
top: 18em; }
left: 1em; .gallery h2.break{
margin: 2em 1em 1em 1em; width: calc(100% - 40px);
font-family: 'serif'; margin-top:20px;
font-size: 22px; }
line-height: 1.6; #content.article .entry-content h1{
} font-size: 120%;
#menu img.shape{ line-height: 1.25;
width: 12px; margin: 20px 0 10px 0;
height: 12px; }
} #content.article .entry-content{
#agenda{ font-size: 14px;
width: calc(100% - 6em); line-height: 1.4;
margin: 1em 0px; width: calc(100% + 5px);
padding:1em 2.5em 2em 3.5em; margin:0 0 0 -20px;
} }
.featured{ #content.article .entry-content blockquote{
max-width: 100%; !important margin:20px;
clear:both; !important
float: none;
margin-top:0;
}
.featured:nth-child(even) {
clear:both; !important
} }
.entry-title{ #content.article .entry-content a{
margin:1em 0 0; word-break:break-all;
padding:1.5em 1em;
} }
.entry-content{ #content.article .entry-content .footnote{
max-width: 100%; width: calc(100% - 20px);
padding:0;
font-size: 5vw;
line-height: 1.7;
} }
#content.article{ #content.article .entry-subtitle{
margin:0 0 2em 0; width:calc(100% - 40px);
left:0;
} }
#content.article .entry-title{
margin:2em 0 0 0;
padding:1.5em 1em;
}
#content.article .entry-content{
font-size: 20px;
line-height: 1.6;
}
footer{ footer{
padding:1em 2em; width: calc(100% + 40px);
} }
footer p:first-of-type{
margin-bottom:10px;
}
} }

17
theme/wttf/templates/article.html

@ -6,21 +6,8 @@
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block header %}
<h1 id="menu" class="sticky">
<a href="{{ SITEURL }}/">Welcome to
the <span id="character"></span></a>
<select onchange="window.location.href=this.value">
{%- for t, article in tags|sort %}
<option value="{{SITEURL}}/{{ t.url }}" {% if t == tag %}selected{% endif %}>{{ t }}</option>
{% endfor %}
</select>
<a href="{{ SITEURL }}/">Federation</a>
</h1>
{% endblock %}
{% block content %} {% block content %}
<section id="content" class="body article"> <section id="content" class="body article box">
<h1 class="entry-title p-name"> <h1 class="entry-title p-name">
<a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a> <a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a>
</h1> </h1>
@ -36,7 +23,7 @@
</span> </span>
{% endfor %} {% endfor %}
</span> </span>
published on , published on
<span class="entry-date dt-published">{{ article.date | strftime('%d %B %Y')}}</span> <span class="entry-date dt-published">{{ article.date | strftime('%d %B %Y')}}</span>
</div> </div>
<div class="entry-content e-content">{{ article.content }}</div> <div class="entry-content e-content">{{ article.content }}</div>

53
theme/wttf/templates/base.html

@ -2,7 +2,7 @@
<html lang="{{ DEFAULT_LANG }}"> <html lang="{{ DEFAULT_LANG }}">
<head> <head>
{% block head %} {% block head %}
<title>{% block title %}{{ SITENAME }} {{ SUBTITLE }}{% endblock title %}</title> <title>{% block title %}{{ SITENAME }} - {{ SUBTITLE }}{% endblock title %}</title>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="{{SITEURL}}/{{ THEME_STATIC_DIR }}{{ CSS_FILE }}" /> <link rel="stylesheet" type="text/css" href="{{SITEURL}}/{{ THEME_STATIC_DIR }}{{ CSS_FILE }}" />
@ -34,38 +34,32 @@
<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" /> <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 %} {% endif %}
{% endblock head %} {% endblock head %}
<script src="{{SITEURL}}/theme/js/jquery-2.1.3.js" type="text/javascript"></script>
</head> </head>
<body id="index" class="home"> <body id="index" class="home">
<header id="banner"> <header id="banner">
{% block header %} {% block header %}
<h1 id="menu" class="main"> <div id="menu-wrapper" class="box">
<div id="title"> <h1 id="title" class="main">
<a href="{{ SITEURL }}/">Welcome <a href="{{ SITEURL }}/">Welcome to the</a>
<div class="indent">to the</a>
<select onchange="window.location.href=this.value"> <select onchange="window.location.href=this.value">
{%- for t, article in tags|sort %} {%- for t, article in tags|sort %}
<option value="{{ SITEURL }}/{{ t.url }}" {% if t == tag %}selected{% endif %}>{{ t }}</option> <option value="{{ SITEURL }}/{{ t.url }}" {% if t == tag %}selected{% endif %}>{{ t }}</option>
{% endfor %} {% endfor %}
</select> </select><a href="{{ SITEURL }}/">Federation</a>
</div> </h1>
<div class="indent"><a href="{{ SITEURL }}/">Federation</a></div> </div>
</div> <div id="logo" class="box">
<div id="subtitle"> <img src="/images/wttf-bw.png">
{{ SUBTITLE }} </div>
</div> <div id="subtitle" class="box">
</h1> <em>{{ SUBTITLE }} </em>
<h1 id="menu" class="sticky"> </div>
<a href="{{ SITEURL }}/">Welcome to <div id="menu" class="box">
the <span id="character"></span></a> <a href="#gallery">gallery</a>,
<select onchange="window.location.href=this.value"> <a href="#agenda">events</a>,
{%- for t, article in tags|sort %} <a href="#posts">posts</a>
<option value="{{ SITEURL }}/{{ t.url }}" {% if t == tag %}selected{% endif %}>{{ t }}</option> </div>
{% endfor %}
</select>
<a href="{{ SITEURL }}/">Federation</a>
</h1>
{% endblock %} {% endblock %}
</header> </header>
{% block content %} {% block content %}
@ -78,15 +72,4 @@
{% endfor %} {% endfor %}
</footer> </footer>
</body> </body>
<script type="text/javascript">
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min) + min);
}
for(var i = 0; i < 30; i++){
var t = getRandom(-5,95);
var l = getRandom(-5,98);
var s = getRandom(1,6);
$('header #menu.main').append('<img class="shape" src="{{ SITEURL }}/theme/img/shape'+s.toString()+'.svg" style="top:'+t.toString()+'%; left:'+l.toString()+'%;"/>');
}
</script>
</html> </html>

47
theme/wttf/templates/index.html

@ -2,14 +2,31 @@
{% block content %} {% block content %}
{% if articles %} {% if articles %}
<section id="content"> <section id="content">
{% block indexpage %}
{% for page in pages %} {% for page in pages %}
{% if page.title == 'agenda' %} {% if page.title == 'ii-gallery' %}
<div id="agenda">{{ page.content }}</div> <div class="gallery">
<h2 id="gallery" class="break">Wtt�F gallery</h2>
{{ page.content }}
</div>
{% endif %}
{% if page.title == 'i-introduction' %}
<div id="intro" class="box">
<div id="intro_wrapper">{{ page.content }}</div>
</div>
{% endif %}
{% if page.title == 'iii-agenda' %}
<div class="events">
<h2 id="events" class="break">Wtt�F events</h2>
{{ page.content }}
</div>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{% endblock indexpage %}
<h2 id="posts" class="break">Wtt�F posts</h2>
{% for article in articles_page.object_list %} {% for article in articles_page.object_list %}
{% if loop.index <= 5 %} {% if loop.index <= 25 %}
<div class="featured"> <div class="post box">
<article> <article>
<h1 class="entry-title p-name"> <h1 class="entry-title p-name">
<a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a> <a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a>
@ -25,33 +42,17 @@
<a href="{{ SITEURL }}/{{ tag.url }}" rel="tag">{{ tag }}</a> <a href="{{ SITEURL }}/{{ tag.url }}" rel="tag">{{ tag }}</a>
</span> </span>
{% endfor %} {% endfor %}
</span> , </span>
published on published on
<span class="entry-date dt-published">{{ article.date | strftime('%d %B %Y') }}</span> <span class="entry-date dt-published">{{ article.date | strftime('%d %B %Y') }}</span>
</div> </div>
<div class="entry-content e-content">
{% if article.has_summary == True %}
<div id="summary">{{ article.summary }}
<a href="{{ SITEURL }}/{{ article.url }}" class="readmore">Read more ...</a>
</div>
{% else %}
{{ article.content }}
{% endif %}
</div>
</article> </article>
</div> </div>
{% if loop.index < 5 %} {% if loop.index < 25 %}
{% if loop.last %} {% if loop.last %}
</section> </section>
{% endif %} {% endif %}
{% endif %} {% endif %}
{% if loop.index == 5 %}
</section>
<section id="list">
<strong>Other articles</strong>
<hr />
<ul id="posts-list">
{% endif %}
{# other items #} {# other items #}
{% else %} {% else %}
{% if loop.first %} {% if loop.first %}

3
theme/wttf/templates/tag.html

@ -1,2 +1,3 @@
{% extends "index.html" %} {% extends "index.html" %}
{% block indexpage %}
{% endblock indexpage %}

BIN
theme/wttf_v1/static/fonts/arima-koshi/ArimaKoshi-Bold.otf

Binary file not shown.

BIN
theme/wttf_v1/static/fonts/arima-koshi/ArimaKoshi-ExtraBold.otf

Binary file not shown.

BIN
theme/wttf_v1/static/fonts/arima-koshi/ArimaKoshi-ExtraLight.otf

Binary file not shown.

BIN
theme/wttf_v1/static/fonts/arima-koshi/ArimaKoshi-Light.otf

Binary file not shown.

BIN
theme/wttf_v1/static/fonts/arima-koshi/ArimaKoshi-Medium.otf

Binary file not shown.

BIN
theme/wttf_v1/static/fonts/arima-koshi/ArimaKoshi-Regular.otf

Binary file not shown.

BIN
theme/wttf_v1/static/fonts/arima-koshi/ArimaKoshi-SemiBold.otf

Binary file not shown.

BIN
theme/wttf_v1/static/fonts/arima-koshi/ArimaKoshi-Thin.otf

Binary file not shown.

93
theme/wttf_v1/static/fonts/arima-koshi/OFL.txt

@ -0,0 +1,93 @@
Copyright 2015 The Arima Project Authors (info@ndiscovered.com)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

12
theme/wttf_v1/static/fonts/liberation-serif/AUTHORS

@ -0,0 +1,12 @@
AUTHORS
Current Contributors (sorted alphabetically):
- Pravin Satpute <psatpute at redhat dot com>
Project Owner (Current)
Red Hat, Inc.
Previous Contributors
- Steve Matteson
Original Designer
Ascender, Inc.

14
theme/wttf_v1/static/fonts/liberation-serif/ChangeLog

@ -0,0 +1,14 @@
* Thu Oct 04 2012 Pravin Satpute <psatpute AT redhat DOT com>
- Resolved "Glyphs with multiple unicode encodings inhibit subsetting" #851790
- Resolved #851791, #854601 and #851825
- Following GASP table version as per Liberation old version. (Anti-aliasing disabled)
- Added support for Serbian glyphs for wikipedia #657849
- In Monospace fonts, isFixedPitch bit set via script for getting it recognized as Monospace in putty.exe
* Fri Jul 06 2012 Pravin Satpute <psatpute AT redhat DOT com>
- Initial version of Liberation fonts based on croscore fonts version 1.21.0
- Converted TTF files into SFD files to be open source.
- Update Copyright and License file
- set fsType bit to 0, Installable Embedding is allowed.
- Absolute value in HHeadAscent/Descent values for maintaining Metric compatibility.

102
theme/wttf_v1/static/fonts/liberation-serif/LICENSE

@ -0,0 +1,102 @@
Digitized data copyright (c) 2010 Google Corporation
with Reserved Font Arimo, Tinos and Cousine.
Copyright (c) 2012 Red Hat, Inc.
with Reserved Font Name Liberation.
This Font Software is licensed under the SIL Open Font License,
Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
PREAMBLE The goals of the Open Font License (OFL) are to stimulate
worldwide development of collaborative font projects, to support the font
creation efforts of academic and linguistic communities, and to provide
a free and open framework in which fonts may be shared and improved in
partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves.
The fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply to
any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such.
This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components
as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting ? in part or in whole ?
any of the components of the Original Version, by changing formats or
by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer
or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a
copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,in
Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the
corresponding Copyright Holder. This restriction only applies to the
primary font name as presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole, must
be distributed entirely under this license, and must not be distributed
under any other license. The requirement for fonts to remain under
this license does not apply to any document created using the Font
Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER
DEALINGS IN THE FONT SOFTWARE.

BIN
theme/wttf_v1/static/fonts/liberation-serif/LiberationSerif-Bold.ttf

Binary file not shown.

BIN
theme/wttf_v1/static/fonts/liberation-serif/LiberationSerif-BoldItalic.ttf

Binary file not shown.

BIN
theme/wttf_v1/static/fonts/liberation-serif/LiberationSerif-Italic.ttf

Binary file not shown.

BIN
theme/wttf_v1/static/fonts/liberation-serif/LiberationSerif-Regular.ttf

Binary file not shown.

80
theme/wttf_v1/static/fonts/liberation-serif/README

@ -0,0 +1,80 @@
1. What's this?
=================
The Liberation Fonts is font collection which aims to provide document
layout compatibility as usage of Times New Roman, Arial, Courier New.
2. Requirements
=================
* fontforge is installed.
(http://fontforge.sourceforge.net)
3. Install
============
3.1 Decompress tarball
You can extract the files by following command:
$ tar zxvf liberation-fonts-[VERSION].tar.gz
3.2 Build from the source
Change into directory liberation-fonts-[VERSION]/ and build from sources by
following commands:
$ cd liberation-fonts-[VERSION]
$ make
The built font files will be available in 'build' directory.
3.3 Install to system
For Fedora, you could manually install the fonts by copying the TTFs to
~/.fonts for user wide usage, or to /usr/share/fonts/truetype/liberation
for system-wide availability. Then, run "fc-cache" to let that cached.
For other distributions, please check out corresponding documentation.
4. Usage
==========
Simply select preferred liberation font in applications and start using.
5. License
============
This Font Software is licensed under the SIL Open Font License,
Version 1.1.
Please read file "LICENSE" for details.
6. For Maintainers
====================
Before packaging a new release based on a new source tarball, you have to
update the version suffix in the Makefile:
VER = [VERSION]
Make sure that the defined version corresponds to the font software metadata
which you can check with ftinfo/otfinfo or fontforge itself. It is highly
recommended that file 'ChangeLog' is updated to reflect changes.
Create a tarball with the following command:
$ make dist
The new versioned tarball will be available in the dist/ folder as
'liberation-fonts-[NEW_VERSION].tar.gz'.
7. Credits
============
Please read file "AUTHORS" for list of contributors.

5
theme/wttf_v1/static/fonts/liberation-serif/TODO

@ -0,0 +1,5 @@
Here are todo for next release
1) Serbian glyph for wikipedia https://bugzilla.redhat.com/show_bug.cgi?id=657849
- Improving shape of S_BE https://bugzilla.redhat.com/show_bug.cgi?id=657849#c96
2) Liberation Mono not recognizing as Mono in Windows application #861003
- presently it is patch, we have to update zero width characters to fixed width

BIN
theme/wttf_v1/static/img/favicon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

11
theme/wttf_v1/static/img/shape1.svg

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created by diasvg.py -->
<svg width="3.123cm" height="3.123cm" viewBox="9.490 7.990 3.123 3.123"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Layer: Background -->
<g id="Background">
<!-- Geometric - Curved Eight Point Star -->
<path stroke="#1A1A1A" fill="#FFFFFF" stroke-width="0.001" d="M 11.051,7.990 C 11.051,8.770 11.832,8.770 12.222,8.380 C 11.832,8.770 11.832,9.551 12.613,9.551 C 11.832,9.551 11.832,10.332 12.222,10.722 C 11.832,10.332 11.051,10.332 11.051,11.113 C 11.051,10.332 10.270,10.332 9.880,10.722 C 10.270,10.332 10.270,9.551 9.490,9.551 C 10.270,9.551 10.270,8.770 9.880,8.380 C 10.270,8.770 11.051,8.770 11.051,7.990 z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 758 B

11
theme/wttf_v1/static/img/shape2.svg

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created by diasvg.py -->
<svg width="1.009cm" height="0.940cm" viewBox="10.807 9.627 1.009 0.940"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Layer: Background -->
<g id="Background">
<!-- Geometric - Four Point Star -->
<polygon fill="#FFFFFF" stroke="#1A1A1A" stroke-width="0.001" points="10.807,10.097 11.185,9.980 11.311,9.627 11.437,9.980 11.816,10.097 11.437,10.214 11.311,10.567 11.185,10.214 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 518 B

11
theme/wttf_v1/static/img/shape3.svg

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created by diasvg.py -->
<svg width="1.089cm" height="0.906cm" viewBox="10.268 10.682 1.089 0.906"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Layer: Background -->
<g id="Background">
<!-- Geometric - Hexagon -->
<polygon fill="#FFFFFF" stroke="#1A1A1A" stroke-width="0.001" points="10.579,10.682 11.046,10.682 11.357,11.134 11.046,11.587 10.579,11.587 10.268,11.134 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 486 B

11
theme/wttf_v1/static/img/shape4.svg

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created by diasvg.py -->
<svg width="1.123cm" height="0.779cm" viewBox="11.334 11.278 1.123 0.779"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Layer: Background -->
<g id="Background">
<!-- Geometric - Trapezoid -->
<polygon fill="#FFFFFF" stroke="#1A1A1A" stroke-width="0.001" points="11.615,11.278 12.177,11.278 12.457,12.057 11.334,12.057 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 460 B

11
theme/wttf_v1/static/img/shape5.svg

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created by diasvg.py -->
<svg width="0.906cm" height="0.596cm" viewBox="10.520 10.945 0.906 0.596"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Layer: Background -->
<g id="Background">
<!-- Block Arrow - Pentagon -->
<polygon fill="#FFFFFF" stroke="#1A1A1A" stroke-width="0.001" points="10.520,10.945 11.124,10.945 11.426,11.243 11.124,11.541 10.520,11.541 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 475 B

9205
theme/wttf_v1/static/js/jquery-2.1.3.js

File diff suppressed because it is too large

0
theme/wttf_v1/static/js/jquery-3.3.1.min.js

413
theme/wttf_v1/static/main.css

@ -0,0 +1,413 @@
@font-face{
font-family: "serif";
src:url('fonts/liberation-serif/LiberationSerif-Regular.ttf');
font-weight: normal;
font-style: normal;
}
@font-face{
font-family: "serif";
src:url('fonts/liberation-serif/LiberationSerif-Italic.ttf');
font-weight: normal;
font-style: italic;
}
@font-face{
font-family: "serif";
src:url('fonts/liberation-serif/LiberationSerif-Bold.ttf');
font-weight: bold;
font-style: normal;
}
@font-face{
font-family: "serif";
src:url('fonts/liberation-serif/LiberationSerif-BoldItalic.ttf');
font-weight: bold;
font-style: italic;
}
@font-face{
font-family: "headers";
src:url('fonts/arima-koshi/ArimaKoshi-Medium.otf');
font-weight: normal;
font-style: normal;
}
@font-face{
font-family: "headers";
src:url('fonts/arima-koshi/ArimaKoshi-ExtraBold.otf');
font-weight: bold;
font-style: normal;
}
body{
margin:0px;
font-size: 14px;
font-family: "headers";
background-color: #ccd1cab3;
/*background: linear-gradient(to bottom right, #c2c2c2, #fff7f7, #e4e3e3);*/
word-break: normal;
}
h1{
font-size: 42px;
line-height:45px;
margin-top: 0.3em;
margin-bottom: 0.3em;
font-size: 36px;
font-family: "headers";
font-weight: bold;
}
h2, h3, h4, h5, h6{
font-family: "headers";
font-weight: bold;
margin-bottom: 0;
padding-bottom: 0;
}
p{
margin: 0 0 1em 0;
}
a, a:visited, a:active{
color:black;
}
blockquote{
font-weight:bold;
font-family: "headers";
font-weight: normal;
}
code{
font-family: monospace;
font-size: 12px;
padding:0 5px;
}
a, a:active, a:visited{
color:inherit;
text-decoration: underline;
}
hr{
border:0;
border-bottom:1px solid;
}
em{
font-style: italic;
}
section{
width: calc(100% - 4em);
padding:0 2em;
}
header{
top:0;
width: 100%;
height: auto;
margin:0 0 5em 0;
padding:0;
text-align: left;
}
#menu{
width: auto;
margin:0;
padding:90px 1em;
font-size: 5vw;
line-height: 1.35;
color:white;
background-color: #fb4817;
background: linear-gradient(to bottom, salmon, #ff7f4d, #ccd1cab3);
}
#menu.main{
position: relative;
z-index: 10;
}
#menu a{
text-decoration: none;
}
#menu.main .indent{
padding-left:60px;
}
#menu #subtitle{
margin:2em 2em 1em 60px;
font-family: 'serif';
font-size: 32px;
font-weight: normal;
line-height: 1.3;
color:white;
}
#menu img.shape{
width:20px;
height: 20px;
position: absolute;
opacity: 0.15;
filter: alpha(opacity=15); /* For IE8 and earlier */
}
#menu select{
height:5vw;
vertical-align: middle;
color:black;
padding: 0 0 0 1em;
margin:0 1em;
}
#menu.sticky{
position: fixed;
font-size: 1.1em;
width: calc(100% - 2em);
top:0;
left:0;
padding:2px 1em 2px 2em;
margin:0;
background-color: #fb4817;
}
#menu.sticky{
z-index: 1;
}
#menu.sticky a{
color:white;
text-decoration: none;
}
#menu.sticky #character{
display: none;
}
#menu.sticky select{
padding:0;
height: auto;
margin:0 0.5em;
font-size: 12px;
}
#content{
margin-bottom:5em;
}
#agenda{
width: calc(50% - 6.5em);
float: left;
padding: 1em 1.5em 2em 4em;
margin:0 0 2em 0;
background-color: #6ade4e;
color:#3c0e02;
border-radius: 15px;
}
#agenda h2{
margin-bottom:-1em;
}
#agenda h3{
margin:2em 0 0.5em 0;
}
#agenda h3:before{
content:'⟿';
margin-left:-1.8em;
padding-right: 0.5em;
}
#agenda strong{
font-family: "headers";
font-weight: bold;
font-size: 130%;
line-height: 1.2;
}
.featured {
max-width: calc(50% - 1.5em);
float: left;
margin:2em 0;
color:rgb(0, 5, 33);
}
.featured:nth-of-type(even) {
float:right;
}
.featured:nth-of-type(odd) {
clear: left;
}
.featured:last-of-type{
margin-bottom:5em;
}
.entry-title{
border: 0;
border-radius: 15px 50px;
background-color: white;
padding: 2em;
text-align: center;
}
.entry-title a{
color:#3c0e02;
text-decoration: none;
}
.entry-subtitle{
font-size: 16px;
line-height: 1.5;
text-align:left;
margin:1em 0 2em;
padding:0 20px;
color:#3c0e02;
}
.entry-category{
font-weight: bold;
}
.entry-content #summary p:last-of-type{
display: inline;
}
.entry-content #summary a.readmore, .entry-content #summary a.readmore:active, .entry-content #summary a.readmore:visited{
color:#4d4b5d;
}
.entry-content{
font: 18px 'serif';
line-height: 28px;
letter-spacing: 0.01em;
padding:0 20px;
color:black;
}
.entry-content img{
width: 100%;
}
.entry-content a{
text-decoration: underline;
}
.entry-readmore a{
text-decoration: underline;
}
.entry-tags a{
font-weight:bold;
text-decoration: underline;
color:#3c0e02;
}
/* article pages */
#content.article{
}
#content.article .entry-title{
margin:3em 3em 2em 2em;
}
#content.article h1, #content.article h2, #content.article h3{
clear: both;
}
#content.article .entry-content{
font-size: 18px;
letter-spacing: 0.03em;
line-height: 1.7;
max-width: 900px;
margin:0 0 5em 50px;
}
#content.article .entry-content .img{
width: 80%;
margin:2em 0;
font-family: sans-serif;
font-size:12px;
line-height: 1.4;
}
#content.article .entry-content .img img{
width: 100%;
margin-bottom: 0.5em
}
#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 */
padding:1em 2em;
}
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 {
}
h1{
font-size: 26px;
line-height: 1.4;
}
header{
margin:0 0 2em 0;
}
#menu{
clear:both;
max-width: 100%;
padding:1em 1em 1em 1em;
font-size: 12vw;
}
#menu.sticky{
font-size: 1em;
padding:0.5em 1em;
}
#menu title{
vertical-align: top;
}
#menu.main .indent{
padding-left:0;
}
#menu select{
height: auto;
}
#menu.sticky select{
float: right;
position: absolute;
top: 40px;
right: 10px;
padding: 1em;
}
#menu.sticky #character{
display: inline-block;
}
#menu #subtitle{
width: calc(100% - 2em);
top: 18em;
left: 1em;
margin: 2em 1em 1em 1em;
font-family: 'serif';
font-size: 22px;
line-height: 1.6;
}
#menu img.shape{
width: 12px;
height: 12px;
}
#agenda{
width: calc(100% - 6em);
margin: 1em 0px;
padding:1em 2.5em 2em 3.5em;
}
.featured{
max-width: 100%; !important
clear:both; !important
float: none;
margin-top:0;
}
.featured:nth-child(even) {
clear:both; !important
}
.entry-title{
margin:1em 0 0;
padding:1.5em 1em;
}
.entry-content{
max-width: 100%;
padding:0;
font-size: 5vw;
line-height: 1.7;
}
#content.article{
margin:0 0 2em 0;
left:0;
}
#content.article .entry-title{
margin:2em 0 0 0;
padding:1.5em 1em;
}
#content.article .entry-content{
font-size: 20px;
line-height: 1.6;
}
footer{
padding:1em 2em;
}
}

11
theme/wttf_v1/templates/archives.html

@ -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 %}

45
theme/wttf_v1/templates/article.html

@ -0,0 +1,45 @@
{% extends "base.html" %}
{% block head %}
{{ super() }}
{% if article.description %}
<meta name="description" content="{{article.description}}" />
{% endif %}
{% endblock %}
{% block header %}
<h1 id="menu" class="sticky">
<a href="{{ SITEURL }}/">Welcome to
the <span id="character"></span></a>
<select onchange="window.location.href=this.value">
{%- for t, article in tags|sort %}
<option value="{{SITEURL}}/{{ t.url }}" {% if t == tag %}selected{% endif %}>{{ t }}</option>
{% endfor %}
</select>
<a href="{{ SITEURL }}/">Federation</a>
</h1>
{% endblock %}
{% block content %}
<section id="content" class="body article">
<h1 class="entry-title p-name">
<a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a>
</h1>
<div class="entry-subtitle">
<span class="entry-category">
{{ article.category }}
</span>
about
<span class="entry-tags">
{% for tag in article.tags %}
<span itemprop="keywords">
<a href="{{ SITEURL }}/{{ tag.url }}" rel="tag">{{ tag }}</a>
</span>
{% endfor %}
</span>
⟿ 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>
</section>
{% endblock %}

7
theme/wttf_v1/templates/author.html

@ -0,0 +1,7 @@
{% extends "index.html" %}
{% block title %}{{ SITENAME }} - Articles by {{ author }}{% endblock %}
{% block content_title %}
<h2>Articles by {{ author }}</h2>
{% endblock %}

13
theme/wttf_v1/templates/authors.html

@ -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 %}

92
theme/wttf_v1/templates/base.html

@ -0,0 +1,92 @@
<!DOCTYPE html>
<html lang="{{ DEFAULT_LANG }}">
<head>
{% block head %}
<title>{% block title %}{{ SITENAME }} ⟿ {{ SUBTITLE }}{% endblock title %}</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="{{SITEURL}}/{{ THEME_STATIC_DIR }}{{ CSS_FILE }}" />
{% from 'syndication.html' import syndication with context %}
{{ syndication(article) }}
<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 %}
<script src="{{SITEURL}}/theme/js/jquery-2.1.3.js" type="text/javascript"></script>
</head>
<body id="index" class="home">
<header id="banner">
{% block header %}
<h1 id="menu" class="main">
<div id="title">
<a href="{{ SITEURL }}/">Welcome
<div class="indent">to the</a>
<select onchange="window.location.href=this.value">
{%- for t, article in tags|sort %}
<option value="{{ SITEURL }}/{{ t.url }}" {% if t == tag %}selected{% endif %}>{{ t }}</option>
{% endfor %}
</select>
</div>
<div class="indent"><a href="{{ SITEURL }}/">Federation</a></div>
</div>
<div id="subtitle">
{{ SUBTITLE }}
</div>
</h1>
<h1 id="menu" class="sticky">
<a href="{{ SITEURL }}/">Welcome to
the <span id="character"></span></a>
<select onchange="window.location.href=this.value">
{%- for t, article in tags|sort %}
<option value="{{ SITEURL }}/{{ t.url }}" {% if t == tag %}selected{% endif %}>{{ t }}</option>
{% endfor %}
</select>
<a href="{{ SITEURL }}/">Federation</a>
</h1>
{% endblock %}
</header>
{% block content %}
{% endblock %}
<footer>
{% for page in pages %}
{% if page.title == 'colophon' %}
{{ page.content }}
{%endif%}
{% endfor %}
</footer>
</body>
<script type="text/javascript">
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min) + min);
}
for(var i = 0; i < 30; i++){
var t = getRandom(-5,95);
var l = getRandom(-5,98);
var s = getRandom(1,6);
$('header #menu.main').append('<img class="shape" src="{{ SITEURL }}/theme/img/shape'+s.toString()+'.svg" style="top:'+t.toString()+'%; left:'+l.toString()+'%;"/>');
}
</script>
</html>

8
theme/wttf_v1/templates/categories.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 %}

5
theme/wttf_v1/templates/category.html

@ -0,0 +1,5 @@
{% extends "index.html" %}
{% block content_title %}
<h2>Articles in the {{ category }} category</h2>
{% endblock %}

14
theme/wttf_v1/templates/gosquared.html

@ -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 %}

98
theme/wttf_v1/templates/index.html

@ -0,0 +1,98 @@
{% extends "base.html" %}
{% block content %}
{% if articles %}
<section id="content">
{% for page in pages %}
{% if page.title == 'agenda' %}
<div id="agenda">{{ page.content }}</div>
{% endif %}
{% endfor %}
{% for article in articles_page.object_list %}
{% if loop.index <= 5 %}
<div class="featured">
<article>
<h1 class="entry-title p-name">
<a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a>
</h1>
<div class="entry-subtitle">
<span class="entry-category">
{{ article.category }}
</span>
about
<span class="entry-tags">
{% for tag in article.tags %}
<span itemprop="keywords">
<a href="{{ SITEURL }}/{{ tag.url }}" rel="tag">{{ tag }}</a>
</span>
{% endfor %}
</span>
⟿ published on
<span class="entry-date dt-published">{{ article.date | strftime('%d %B %Y') }}</span>
</div>
<div class="entry-content e-content">
{% if article.has_summary == True %}
<div id="summary">{{ article.summary }}
<a href="{{ SITEURL }}/{{ article.url }}" class="readmore">Read more ...</a>
</div>
{% else %}
{{ article.content }}
{% endif %}
</div>
</article>
</div>
{% if loop.index < 5 %}
{% if loop.last %}
</section>
{% endif %}
{% endif %}
{% if loop.index == 5 %}
</section>
<section id="list">
<strong>Other articles</strong>
<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">
<span class="entry-category">
<em>{{ article.category }}</em>
</span>
about
<span class="entry-tags">
{% for tag in article.tags %}
<span itemprop="keywords">
<a href="{{ SITEURL }}/{{ 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 %}
</ol>
{% endfor %}
</section>
{% endif %}
{% endblock content %}

15
theme/wttf_v1/templates/page.html

@ -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 %}

11
theme/wttf_v1/templates/pagination.html

@ -0,0 +1,11 @@
{% if DEFAULT_PAGINATION %}
<p class="paginator">
{% if articles_page.has_previous() %}
<a href="{{ SITEURL }}/{{ articles_previous_page.url }}">&laquo;</a>
{% endif %}
Page {{ articles_page.number }} / {{ articles_paginator.num_pages }}
{% if articles_page.has_next() %}
<a href="{{ SITEURL }}/{{ articles_next_page.url }}">&raquo;</a>
{% endif %}
</p>
{% endif %}

11
theme/wttf_v1/templates/period_archives.html

@ -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 %}

59
theme/wttf_v1/templates/syndication.html

@ -0,0 +1,59 @@
{#This template is for syndicating across the fucked up part of the web. It implements Open Graph and Twitter Card metadata to display links to HBSC well on social media
# This code is mostly taken from Talha Mansoor's Elegant pelican theme https://github.com/talha131/pelican-elegant
#}
{# Thumbnail image to show when homepage is shared on social media. It also
serves as the default image for posts whose featured_image is not set. #}
{% if not FEATURED_IMAGE %}
{% set FEATURED_IMAGE = 'https://roelof.info/~r/wttf/images/fi.jpg' %}
{% else %}
{% set FEATURED_IMAGE = FEATURED_IMAGE %}
{% endif %}
{% macro syndication(article) %}
{% if article %}
<meta property="og:title" content="{{ article.title|striptags|e }} {%if article.subtitle %} - {{ article.subtitle|striptags|e }} {% endif %}"/>
<meta property="og:url" content="{{ SITEURL }}/{{ article.url }}" />
<meta property="og:description" content="{% if article.summary %}{{article.summary|striptags}}{% endif %}" />
<meta property="og:site_name" content="{{ SITENAME|striptags|e }}" />
<meta property="og:article:author" content="{{ article.author }}" />
{% if article.date %}
<meta property="og:article:published_time" content="{{ article.date.isoformat() }}" />
{% endif %}
{% if article.locale_modified and article.modified %}
<meta property="" content="{{ article.modified.isoformat() }}" />
{% endif %}
<meta name="twitter:title" content="{{ article.title|striptags|e }} {%if article.subtitle %} - {{ article.subtitle|striptags|e }} {% endif %}">
<meta name="twitter:description" content="{% if article.summary %}{{article.summary|striptags}}{% endif %}">
{% if article.featured_image %}
<meta name="twitter:card" content="summary_large_image">
<meta property="og:image" content="{{SITEURL}}/{{article.featured_image}}" />
<meta property="og:image:secure_url" content="{{SITEURL}}/{{article.featured_image}}" />
<meta name="twitter:image" content="{{SITEURL}}/{{article.featured_image}}" >
{% else %}
{% if FEATURED_IMAGE %}
<meta property="og:image" content="{{FEATURED_IMAGE}}" />
<meta name="twitter:image" content="{{FEATURED_IMAGE}}" >
<meta name="twitter:card" content="summary" />
{% endif %}
{% endif %}
{% endif %}
{% if not article %}
<meta property="og:title" content="{{ SITENAME|striptags|e }}"/>
<meta name="twitter:title" content="{{ SITENAME|striptags|e }}">
<meta name="twitter:card" content="summary" />
<meta property="og:url" content="{{ SITEURL }}" />
<meta property="og:description" content="{{ SUBTITLE }}">
<meta property="twitter:description" content=" {{ SUBTITLE }}">
<meta property="og:site_name" content="{{ SITENAME|striptags|e }}" />
<meta property="og:article:author" content="{{ AUTHOR }}" />
{% if FEATURED_IMAGE %}
<meta property="og:image" content="{{FEATURED_IMAGE}}" />
<meta name="twitter:image" content="{{FEATURED_IMAGE}}" >
{% endif %}
{% endif %}
{% endmacro %}b

2
theme/wttf_v1/templates/tag.html

@ -0,0 +1,2 @@
{% extends "index.html" %}

10
theme/wttf_v1/templates/tags.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 %}

9
theme/wttf_v1/templates/translations.html

@ -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…
Cancel
Save