Compare commits

...

1 Commits

10 changed files with 315 additions and 195 deletions

View File

@ -0,0 +1,16 @@
Title: colophon
Date: 2018-12-18
Category: about
Slug: colophon
lang: en
Varia<br>
Gouwstraat 3<br>
3082 BA<br>
Rotterdam<br>
[info@varia.zone](mailto:info@varia.zone)
[mailinglist](https://we.lurk.org/postorius/lists/varia.we.lurk.org/)<br>
[RSS feed](feeds/all-en.rss.xml)
[NL](/) / [EN](/en/){.active} <br>

View File

@ -0,0 +1,16 @@
Title: colophon
Date: 2018-12-18
Category: about
Slug: colophon
lang: nl
Varia<br>
Gouwstraat 3<br>
3082 BA<br>
Rotterdam<br>
[info@varia.zone](mailto:info@varia.zone)
[mailinglijst](https://we.lurk.org/postorius/lists/varia.we.lurk.org/)<br>
[RSS feed](feeds/all-nl.rss.xml)
[NL](/){.active} / [EN](/en/)<br>

View File

@ -4,4 +4,6 @@ Category: about
Slug: header Slug: header
lang: en lang: en
<a class="h-card" rel="me" href="https://varia.zone/en/">*varia*</a> (Gouwstraat 3, Rotterdam) is a space for developing collective approaches to everyday technology. *varia* is an [association](/en/pages/about.html#contact) whose members organize [events](/en/category/event.html) and collaborate in [work groups](/en/category/work-group.html). *varia* is [around 90m<sup>2</sup>](/en/pages/about.html#offline) and has a [100/35<sup>mbps</sup> connection](/en/pages/about.html#online). *varia* works with [free software](https://git.vvvvvvaria.org), provides [a set of tools](/en/pages/about.html). *varia* figures things out as she goes, tries to keep [notes](https://vvvvvvaria.org/archive), is [bilingual](/) and uses [info[@]varia.zone](mailto:info@varia.zone) to send and receive emails. <a class="h-card" rel="me" href="https://varia.zone/en/">*varia*</a> (Gouwstraat 3, Rotterdam) is a space for collective approaches to everyday technology. Through events and work groups, varia members facilitate [a social infrastructure](/en/pages/infrastructure.html) for questions, opinions, modifications, help and action. *varia* works with free software, is around 90m2 and has a 100/35mbps connection. *varia* figures things out as she goes, tries to keep notes, is [bilingual](/) and can be contacted via [info[@]varia.zone](mailto:info@varia.zone).

View File

@ -0,0 +1,32 @@
Title: infrastructure
Date: 2018-12-18
Category: about
Slug: infrastructure
lang: en
#Channels
varia experiments with tools for building physical and digital infrastructures of affinity.
A conscious decision has been taken to be considerate about the channels that we use to communicate through: what kind of new interactions are made possible through the protocolary other? Its members use federated networks like XMPP group chats, Mastodon instances, RSS feeds or the unflinching mailing list. Fragmented spaces of sociality that self-determine how they connect to one another.
We look for ways to stay connected by offering a locally-accessible [library](https://books.vvvvvvaria.org/)(accessible without login in Varia itself), etherpads, calendar and [git repositories](https://git.vvvvvvaria.org/). Similarly, we are working on developing a depot for electronic parts and workbenches, as well as printing facilities.
+ archive mentioned somewhere
## <a id="online">online resources</a>
*varia* hosts , , [etherpad](https://pad.vvvvvvaria.org/) and a [calender](https://cal.vvvvvvaria.org/).
###XMPP
In addition to the above web services *varia* hosts a server for the federated chat protocol XMPP, supporting all the latest features.
<a href='https://check.messaging.one/result.php?domain=vvvvvvaria.org&amp;type=client'>
<img src='https://check.messaging.one/badge.php?domain=vvvvvvaria.org' alt='IM observatory score' />
</a>
<a href='https://compliance.conversations.im/server/vvvvvvaria.org'><img src='https://compliance.conversations.im/badge/vvvvvvaria.org'></a>
###RSS
Subscribe to our RSS feeds, available in [Dutch](http://varia.zone/feeds/all-nl.rss.xml) and [English](http://varia.zone/en/feeds/all-en.rss.xml).
<a href="https://validator.w3.org/feed/check.cgi?url=http%3A//varia.zone/feeds/all-nl.rss.xml"><img src="/images/valid-rss-rogers.png" alt="[Valid RSS]" title="Validate my RSS feed" /></a>

View File

@ -1,4 +0,0 @@
Title: stream
Category: meta
Slug: stream
lang: en

16
content/pages/stream.md Normal file
View File

@ -0,0 +1,16 @@
Title: stream
Category: meta
Slug: stream
# 18 Dec 2018
[![](https://vvvvvvaria.org/stream/fXQltIw8Ti2w4C0eYlQE5g.jpg)](https://vvvvvvaria.org/stream/fXQltIw8Ti2w4C0eYlQE5g.jpg){.container}
---
# 12 Dec 2018
XPPL is running!
---

View File

@ -1,4 +0,0 @@
Title: stream.nl
Category: meta
Slug: stream
lang: nl

View File

@ -34,23 +34,21 @@
font-weight: bold; font-weight: bold;
font-style: italic; font-style: italic;
} }
body{ body{
position: relative; position: relative;
width: calc(100% - 50px); width: calc(100% - 100px);
min-width: 500px; min-width: 500px;
top:0px; top:0px;
left:0px; left:0px;
margin:0 auto 5em auto; margin:15px;
padding: 14px 15px; padding:0 10px;
font-family: "main", monospace; font-family: "main", monospace;
font-size: 22px; font-size: 22px;
line-height:1.65; line-height:1.65;
background-color: rgba(238, 238, 238, 0.5); background-color: rgba(238, 238, 238, 0.5);
color:#164515; color:#164515;
} }
#content{
margin-top:1em;
}
/****************************/ /****************************/
/* general elements */ /* general elements */
@ -136,8 +134,9 @@ ul li{
} }
/* date */ /* date */
.article-info .event-details{ .article-info .event-details{
color:#7e5211; color:#164515;
} }
/* featured image */ /* featured image */
.article-info .featured-image img{ .article-info .featured-image img{
width:100%; width:100%;
@ -174,94 +173,105 @@ ul li{
content:'→'; content:'→';
} }
/****************************/
/* streambot */
#background{
display: block;
position: fixed;
top:0px;
left:0px;
width: 100%;
height: 100vh;
z-index: -1;
opacity: 0.15;
background-clip: padding-box;
background-position: center center;
background-size: cover;
}
#stream{
min-height: 200px;
font-size: 14px;
margin:2em 0 2em 0;
border:1px dotted;
min-height: 300px;
}
#stream .log{
display: inline-block;
}
#stream a.container{
background-clip: padding-box;
background-position: center center;
background-size: cover;
/*height: none;*/
/*width: none;*/
}
/* reset header img styles */
#stream a.container img{
min-width: none;
min-height: none;
width: 100px;
height: auto;
}
#stream a{
display: block;
}
#stream.overview{
width: 100%;
}
div#stream a:nth-child(odd) {
transform: skew(-2deg);
}
div#stream a:nth-child(even) {
transform: skew(2deg);
}
/****************************/ /****************************/
/* header & #translation */ /* header & #translation */
header { header {
width:calc(100% - 50px); width:100%;
margin-top:26px; min-height: 230px;
margin-bottom:5em;
padding-bottom:1em;
font-family: "header"; font-family: "header";
font-size: 17px; font-size: 17px;
line-height: 1.6; line-height: 1.6;
letter-spacing: -0.03em; letter-spacing: -0.03em;
} }
header img{
width: 50px;
display: inline;
margin: 0;
vertical-align: calc(-2px);
}
/* custom font size for index */ /* custom font size for index */
#content.index header{ #content.index header{
font-size: 24px; font-size: 24px;
line-height: 1.5; line-height: 1.5;
margin-top:0; margin-top:0;
} }
header p{ header #about{
display: inline;
}
#stream{
position: absolute;
width: 100%;
}
#stream a .container{
background-clip: padding-box;
background-position: center center;
background-size: cover;
height: 600px;
width: 100%;
}
/* reset header img styles */
#stream a .container img{
min-width: none;
min-height: none;
width: none;
height: none;
}
#stream a{
display: block;
}
#stream.overview{
width: 100%;
}
div#stream a:nth-child(odd) {
transform: skew(-2deg);
}
div#stream a:nth-child(even) {
transform: skew(2deg);
}
.buttons{
position: absolute;
font-size: 14px;
margin:0;
padding:0;
}
.buttons.top, .buttons.side{
top:10px;
right:15px;
text-align: right;
}
.buttons.side{
top:40px;
}
.buttons.side li{
display: block;
}
.buttons li{
list-style: none;
display: inline-block; display: inline-block;
padding-left: 3px; width: calc(100% - 130px);
} }
.buttons li.active a{ header #about p{
text-decoration: none; display: inline;
}
header #colophon{
position: relative;
float: right;
margin:8px 0 10px 0;
padding:0;
width:100px;
text-align: center;
font-family: "main";
font-size: 14px;
letter-spacing: 0em;
} }
#colophon a.active{
text-decoration: none;
}
#colophon a.active:hover{
cursor: default;
}
/****************************/ /****************************/
/* main/index overview page */ /* main/index overview page */
#content #post-list{ #content #post-list{
width: 100%; width: 100%;
} }
@ -300,13 +310,14 @@ header {
display: block; display: block;
width: 100%; width: 100%;
font-family: "kop"; font-family: "kop";
font-size: 185%; font-size: 170%;
font-weight: bold; font-weight: bold;
line-height: 1.15; line-height: 1.15;
margin:0; margin:0;
} }
.hentry .article-info .entry-title a{ .hentry .article-info .entry-title a{
text-decoration: none; text-decoration: none;
color: #164515;
} }
/* ascii art styling */ /* ascii art styling */
.hentry pre{ .hentry pre{
@ -314,19 +325,49 @@ header {
font-weight: normal; font-weight: normal;
clear:both; /*to prevent the ascii to break up*/ clear:both; /*to prevent the ascii to break up*/
} }
/* double-blocks for super important categories */
.hentry.current, .hentry.article, .hentry.artikel, .hentry.current .article-info, .hentry.current .featured-image img{ /* custom css for upcoming events */
.hentry.current, .hentry.current .entry-title a, .hentry.current .summary .read_more a, .hentry.current .summary .read_more::before, .hentry.current .post-info a, .hentry.current .post-info .categories::before, .hentry.current .event-details{
/*color:blue;*/
}
.hentry.current .separator hr{
/*border-top: 1px dotted blue;*/
}
/* upcoming */
.current .article-info .event-details::after{
/*background-color:pink;*/
content:'UPCOMING';
font-size: 11px;
transform: rotate(0deg);
position: absolute;
padding: 5px;
border-radius: 100%;
margin-left: 1em;
-webkit-animation: 0.2s linear 1s infinite alternate blink;
animation: 0.2s linear 1s infinite alternate blink;
}
/* double-blocks for articles */
.hentry.article, .hentry.artikel {
width: calc(400px + 1em); width: calc(400px + 1em);
} }
/* color background for articles */ /* custom css for articles */
.hentry.article, .hentry.artikel{ .hentry.article, .hentry.artikel{
padding:1.5em 1em 1em 1em; padding:1.5em 1em 1em 1em;
border:1px dashed #7e5211; border:1px dashed #7e5211;
border-radius:15px; border-radius:15px;
} }
/****************************/
/* page */
div#page-content{
margin-top:3em;
}
/****************************/ /****************************/
/* article */ /* article */
#content.body .entry-title{ #content.body .entry-title{
display:inline-block; display:inline-block;
font-family: "kop"; font-family: "kop";
@ -341,6 +382,10 @@ header {
width:200px; width:200px;
float: left; float: left;
} }
/****************************/
/* page + article */
.entry-content-container, #page-content-container{ .entry-content-container, #page-content-container{
width: calc(100% - 260px); width: calc(100% - 260px);
float: right; float: right;
@ -400,4 +445,12 @@ sup span{
} }
sup span p{ sup span p{
display: inline; display: inline;
} }
/* animations */
@-webkit-keyframes blink { from { opacity: 1; } to { opacity: 0.2; } }
@keyframes blink { from { opacity: 1; } to { opacity: 0.2; }
@-webkit-keyframes wobble { from { transform: rotate(-15deg); } to { transform: rotate(15deg); } }
@keyframes wobble { from { transform: rotate(-15deg); } to { transform: rotate(15deg); } }

View File

@ -14,37 +14,11 @@
</head> </head>
<body id="index" class="home"> <body id="index" class="home">
<div class="buttons top"> <!-- <div id="background" style="background-image: url(https://vvvvvvaria.org/stream/YL6kn2e-QvOn2BOCbfx-yw.jpg)"></div> -->
{% if I18N_SUBSITES %} <!-- <div id="background" style="background-image: url(https://vvvvvvaria.org/stream/Lo4AAGW9TCuZr664UYL55g.jpg)"></div> -->
{% for lang, url in I18N_SUBSITES.items() %} <!-- <div id="background" style="background-image: url(https://vvvvvvaria.org/stream/KXdP3NScR-2Zd5uUZn5OoA.jpg)"></div> -->
{% if DEFAULT_LANG == 'nl' %} <div id="background" style="background-image: url(https://vvvvvvaria.org/stream/Fsso8ElEThSM6cwkE4rCMA.jpg)"></div>
{% if lang == 'nl' %} {% block content %}
<li><em>varia</em> kent de volgende gedaantes: </li> {% endblock %}
<li><a href="https://we.lurk.org/postorius/lists/varia.we.lurk.org/" target="_blank"><i class="fa fa-rss "></i>mailinglijst </a></li>
<li><a href="feeds/all-{{ DEFAULT_LANG }}.rss.xml" type="application/rss+xml"><i class="fa fa-rss "></i>RSS feed </a></li>
<!-- <li><a href="#"><i class="fa fa-rss "></i>.ics kalendar</a></li> -->
<li {% if DEFAULT_LANG == 'nl' %} class="active"><a href="/">Nederlands</a>{% else %}><a href="/">Nederlands</a>{% endif %}</li>
<li{% if DEFAULT_LANG == 'en' %} class="active"><a href="/en/">English</a>{% else %}><a href="/en/">English</a>{% endif %}</li>
{% endif %}
{% endif %}
{% if DEFAULT_LANG == 'en' %}
{% if lang == 'en' %}
<li><em>varia</em> comes in many forms: </li>
<li><a href="https://we.lurk.org/postorius/lists/varia.we.lurk.org/" target="_blank"><i class="fa fa-rss "></i>mailinglist </a></li>
<li><a href="feeds/all-{{ DEFAULT_LANG }}.rss.xml" type="application/rss+xml"><i class="fa fa-rss "></i>RSS feed </a></li>
<!-- <li><a href="#"><i class="fa fa-rss "></i>.ics calendar</a></li> -->
<li {% if DEFAULT_LANG == 'nl' %} class="active"><a href="/">Nederlands</a>{% else %}><a href="/">Nederlands</a>{% endif %}</li>
<li{% if DEFAULT_LANG == 'en' %} class="active"><a href="/{{lang}}">English</a>{% else %}><a href="/{{lang}}">English</a>{% endif %}</li>
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
<br>
</div>
<div class="buttons top">
</div>
{% block content %}
{% endblock %}
</body> </body>
</html> </html>

View File

@ -1,16 +1,35 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block content %} {% block content %}
<section id="content" class="index"> <section id="content" class="index">
<header id="banner"> <header>
{% for p in pages %} <div id="about">
{% if p.title == 'header' %} {% for p in pages %}
<div id="title"> {% if p.title == 'header' %}
{{ p.content }} {{ p.content }}
</div> {% endif %}
{% endif %} {% endfor %}
{% endfor %} </div>
<div id="colophon">
{% for p in pages %}
{% if p.title == 'colophon' %}
{{ p.content }}
{% endif %}
{% endfor %}
</div>
</header> </header>
<div id="stream">
<div class="intro">Since the last update of the website, the streambot collected the following logs:</div>
<div class="logs">
{% for p in pages %}
{% if p.title == 'stream' %}
{{ p.content }}
{% endif %}
{% endfor %}
</div>
</div>
{% set glob={} %} {% set glob={} %}
{% if DEFAULT_LANG == 'nl' %} {% if DEFAULT_LANG == 'nl' %}
@ -35,75 +54,75 @@
<div id="post-list"> <div id="post-list">
{% for article in articles_page.object_list %} {% for article in articles_page.object_list %}
{% set thumb_size = '/thumb' %}
{% if article.category %}
{% if article.event_start %}
{% set event_status = '' %}
{% if article.event_start < article.date.now() %}
{% set event_status = ' past' %}
{% endif %}
{% if article.event_start >= article.date.now() %}
{% set event_status = ' current' %}
{% set thumb_size = '/thumb2x' %}
{% endif %}
{% if article.category == 'article' %}
{% set thumb_size = '/thumb2x' %}
{% endif %}
{% endif %}
<article class="hentry {{article.category}}{{event_status}}"> {% if loop.index < 6 %}
{% endif %}
<div class="article-info"> {% set thumb_size = '/thumb' %}
<span class="entry-title"><a href="/{% if article.lang == 'en' %}en/{% endif %}{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></span>
{% if article.event_start %} {% if article.event_start %}
<div class="event-details"> {% set event_status = '' %}
{{ article.event_start | strftime('%d %B %Y') }} {% if article.event_start < article.date.now() %}
</div> {% set event_status = ' past' %}
{% else %} {% endif %}
<div class="event-details"></div> {% if article.event_start >= article.date.now() %}
{% endif %} {% set event_status = ' current' %}
<div class="featured-image {{event_status}}"> {% endif %}
{% if article.featured_image %} {% endif %}
<a href="/{% if article.lang == 'en' %}en/{% endif %}{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">
{% if article.featured_image.endswith('.gif') %} <article class="hentry {{article.category}}{{event_status}}">
{% set thumb_size =''%} <div class="article-info">
{% endif %} <span class="entry-title"><a href="/{% if article.lang == 'en' %}en/{% endif %}{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></span>
<img src="{{ article.featured_image | replace('images','images'+thumb_size) }}"> {% if article.event_start %}
<div class="event-details">
{{ article.event_start | strftime('%d %B %Y') }}
</div>
{% else %}
<div class="event-details"></div>
{% endif %}
<div class="featured-image {{event_status}}">
{% if article.featured_image %}
<a href="/{% if article.lang == 'en' %}en/{% endif %}{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">
{% if article.featured_image.endswith('.gif') %}
{% set thumb_size =''%}
{% endif %}
<img src="{{ article.featured_image | replace('images','images/thumb') }}">
</a>
{% endif %}
</div>
</div>
<div class="summary {{ article.category }}">{{ article.summary }}
<span class="read_more">
{% if DEFAULT_LANG == 'en' %}
<a href="/en/{{ article.url }}">{{ glob.read_more }}</a>
{% elif DEFAULT_LANG == 'nl' %}
<a href="/{{ article.url }}">{{ glob.read_more }}</a>
{% endif %}
</span>
</div>
<div class="separator"><hr></div>
<div class="post-info">
{% if article.category %}
<span class="categories">
<span itemprop="articleSection">
<a href="/category{{ article.category.url }}" rel="category">{{ article.category }}</a>
</span>
</span>
{% endif %}
{% if article.tags %}
<span class="tags">
{{ glob.related_to }}
{% for tag in article.tags %}
<span itemprop="keywords">
<a href="/{{ tag.url }}" rel="tag">{{ tag }}</a>
</span> {% endfor %}
</span>
{% endif %}
</div>
</article>
{% endif %}
</a>
{% endif %}
</div>
</div>
<div class="summary {{ article.category }}">{{ article.summary }}
<span class="read_more">
{% if DEFAULT_LANG == 'en' %}
<a href="/en/{{ article.url }}">{{ glob.read_more }}</a>
{% elif DEFAULT_LANG == 'nl' %}
<a href="/{{ article.url }}">{{ glob.read_more }}</a>
{% endif %}
</span>
</div>
<div class="separator"><hr></div>
<div class="post-info">
{% if article.category %}
<span class="categories">
<span itemprop="articleSection">
<a href="/category{{ article.category.url }}" rel="category">{{ article.category }}</a>
</span>
</span>
{% endif %}
{% if article.tags %}
<span class="tags">
{{ glob.related_to }}
{% for tag in article.tags %}
<span itemprop="keywords">
<a href="/{{ tag.url }}" rel="tag">{{ tag }}</a>
</span> {% endfor %}
</span>
{% endif %}
</div>
</article>
{% endfor %} {% endfor %}
</div><!-- /#posts-list --> </div><!-- /#posts-list -->