Update podcast layouting
This commit is contained in:
parent
c1ac9ffa99
commit
5f3ee611c1
16 changed files with 227 additions and 233 deletions
27
Makefile
27
Makefile
|
@ -1,11 +1,10 @@
|
||||||
LEKTOR_SERVER_FLAGS=-h 127.0.0.1
|
LEKTOR_SERVER_FLAGS=-h 127.0.0.1
|
||||||
|
# minify javascript assets, compile scss assets
|
||||||
|
LEKTOR_PLUGIN_FLAGS=-f scss
|
||||||
|
LEKTOR_DEPLOY_FLAGS=
|
||||||
|
|
||||||
all: build
|
all: build
|
||||||
|
|
||||||
sass:
|
|
||||||
lektor clean --yes
|
|
||||||
lektor server -f jsminify
|
|
||||||
|
|
||||||
.ONESHELL:
|
.ONESHELL:
|
||||||
install:
|
install:
|
||||||
if hash apt-get 2>/dev/null; then
|
if hash apt-get 2>/dev/null; then
|
||||||
|
@ -17,18 +16,20 @@ install:
|
||||||
else
|
else
|
||||||
echo -e "Please install Imagemagick, python3-pip and gcc"
|
echo -e "Please install Imagemagick, python3-pip and gcc"
|
||||||
fi
|
fi
|
||||||
pip install lektor --user
|
pip3 install wheel --user
|
||||||
# pip3 install wheel --user
|
pip3 install lektor --user
|
||||||
lektor plugin flush-cache
|
|
||||||
|
|
||||||
install-sassc:
|
|
||||||
lektor plugin flush-cache
|
|
||||||
lektor clean --yes
|
|
||||||
lektor build -f jsminify
|
|
||||||
|
|
||||||
build:
|
build:
|
||||||
lektor clean --yes
|
lektor clean --yes
|
||||||
lektor build -f jsminify
|
lektor plugin flush-cache
|
||||||
|
python3 -m lektor build $(LEKTOR_PLUGIN_FLAGS)
|
||||||
|
|
||||||
server:
|
server:
|
||||||
lektor server $(LEKTOR_SERVER_FLAGS)
|
python3 -m lektor server $(LEKTOR_SERVER_FLAGS) $(LEKTOR_PLUGIN_FLAGS)
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
lektor clean --yes
|
||||||
|
lektor plugin flush-cache
|
||||||
|
lektor build $(LEKTOR_PLUGIN_FLAGS) $(LEKTOR_DEPLOY_FLAGS)
|
||||||
|
lektor deploy $(LEKTOR_PLUGIN_FLAGS) $(LEKTOR_DEPLOY_FLAGS)
|
||||||
|
|
BIN
assets/images/home/abschnitt1.jpeg
(Stored with Git LFS)
Normal file
BIN
assets/images/home/abschnitt1.jpeg
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/images/home/abschnitt2.jpeg
(Stored with Git LFS)
Normal file
BIN
assets/images/home/abschnitt2.jpeg
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/images/home/abschnitt3.jpeg
(Stored with Git LFS)
Normal file
BIN
assets/images/home/abschnitt3.jpeg
(Stored with Git LFS)
Normal file
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 759 B |
BIN
assets/images/iron.jpeg
(Stored with Git LFS)
Normal file
BIN
assets/images/iron.jpeg
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/images/podcast.jpg
(Stored with Git LFS)
Normal file
BIN
assets/images/podcast.jpg
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/images/waffel.jpeg
(Stored with Git LFS)
Normal file
BIN
assets/images/waffel.jpeg
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/images/waffel.jpg
(Stored with Git LFS)
Normal file
BIN
assets/images/waffel.jpg
(Stored with Git LFS)
Normal file
Binary file not shown.
|
@ -24,4 +24,4 @@ locale = en_US
|
||||||
url_prefix = /en/
|
url_prefix = /en/
|
||||||
|
|
||||||
[packages]
|
[packages]
|
||||||
lektor-scsscompile = 1.2.2
|
lektor-scss = 1.3.6
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
source_dir = assets/sass/
|
source_dir = assets/scss/
|
||||||
output_dir = assets/css/
|
output_dir = assets/css/
|
||||||
output_style = compressed
|
output_style = compressed
|
||||||
|
name_prefix = .min
|
|
@ -1,230 +1,121 @@
|
||||||
{% set fqdn = 'c3woc.de'
|
{%- from "macros/translator.j2" import translator -%}
|
||||||
%}{% set ausnahmezustand = False
|
<!DOCTYPE html>
|
||||||
%}<!DOCTYPE html>
|
<html
|
||||||
<html{% if this.alt %} lang="{{ this.alt }}"{% endif %}>
|
{%- if alt %} lang="{{ alt }}"
|
||||||
|
{%- endif %}>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<title>
|
||||||
<title>{% block title %}Startseite{% endblock %} - c3woc.de</title>
|
{%- block title -%}
|
||||||
<meta property="og:title" content="{{ this.title }}"/>
|
Startseite
|
||||||
<meta property="og:type" content="website"/>
|
{%- endblock -%}
|
||||||
<meta property="og:image" content={% block expand_ogg_image
|
</title>
|
||||||
%}"{{ '/images/banner.jpg'|asseturl }}"{% endblock %} />
|
{%- block expand_description %}
|
||||||
<link href="https://c3woc.de/feed_blog.xml" rel="alternate" title="[C3WOC] - Neuigkeiten" type="application/rss+xml">
|
<meta name="description" content="{{- translator('description', 'translate', this.alt) }}" />
|
||||||
<link href="https://c3woc.de/en/feed_blog.xml" rel="alternate" title="[C3WOC] - News [EN]" type="application/rss+xml">
|
{%- endblock %}
|
||||||
<link href="https://c3woc.de/feed_rezepte.xml" rel="alternate" title="Waffelrezepte" type="application/rss+xml">
|
{%- block expand_header %}
|
||||||
<link href="https://c3woc.de/en/feed_rezepte.xml" rel="alternate" title="Waffle Recipes" type="application/rss+xml">
|
{%- endblock %}
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />{%
|
{% include "partials/head.html" -%}
|
||||||
if '/css/main.min.css'|asseturl == empty and '/css/main.css'|asseturl == empty %}
|
|
||||||
<link rel="stylesheet" href="{{ '/css/font-awesome.min.css'|asseturl }}" />
|
|
||||||
<link rel="stylesheet" href="{{ '/fonts/roboto.css'|asseturl }}" />{%
|
|
||||||
endif %}
|
|
||||||
<link rel="stylesheet" href=
|
|
||||||
{%- if '/css/main.min.css'|asseturl == empty -%}
|
|
||||||
{%- if '/css/main.css'|asseturl == empty -%}
|
|
||||||
"https://{{ fqdn }}/css/main.min.css"
|
|
||||||
{%- else -%}
|
|
||||||
"{{ '/css/main.css'|asseturl }}"
|
|
||||||
{%- endif -%}
|
|
||||||
{%- else -%}
|
|
||||||
"{{ '/css/main.min.css'|asseturl }}"
|
|
||||||
{%- endif -%}
|
|
||||||
/>
|
|
||||||
<!--[if lte IE 9]><link rel="stylesheet" href={%
|
|
||||||
if '/css/ie9.min.css'|asseturl == empty %}"https://{{ fqdn }}/css/ie9.min.css"{%
|
|
||||||
else %}"{{ '/css/ie9.min.css'|asseturl }}"{%
|
|
||||||
endif %}" /><![endif]-->
|
|
||||||
{% block expand_description
|
|
||||||
%}<meta name="description" content="{%
|
|
||||||
if bag('translate', this.alt, 'description') %}{{ bag('translate', this.alt, 'description') }}{%
|
|
||||||
else %}{{ bag('translate', 'de', 'description') }}{% endif %}" />{%
|
|
||||||
endblock %}
|
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="{{ '/images/icons/apple-touch-icon.png'|asseturl }}">
|
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="{{ '/images/icons/favicon-32x32.png'|asseturl }}">
|
|
||||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ '/images/icons/favicon-16x16.png'|asseturl }}">
|
|
||||||
<link rel="manifest" href="{{ '/images/icons/site.webmanifest'|asseturl }}">
|
|
||||||
<link rel="mask-icon" href="{{ '/images/icons/safari-pinned-tab.svg'|asseturl }}" color="#e64f2d">
|
|
||||||
<link rel="shortcut icon" href="{{ '/images/icons/favicon.ico'|asseturl }}">
|
|
||||||
<meta name="msapplication-TileColor" content="#da532c">
|
|
||||||
<meta name="msapplication-config" content="{{ '/images/icons/browserconfig.xml'|asseturl }}">
|
|
||||||
<meta name="theme-color" content="#e64f2d">{%
|
|
||||||
block expand_header %}{% endblock %}
|
|
||||||
<script src="{{ '/js/jquery.min.js'|asseturl }}"></script>
|
|
||||||
</head>
|
</head>
|
||||||
<body class="{% if this._path == '/' %}landing {% endif %} is-preload">
|
|
||||||
|
<body class="
|
||||||
|
{%- if this._path == '/' -%}
|
||||||
|
landing
|
||||||
|
{%- endif %} is-preload">
|
||||||
<div id="page-wrapper">
|
<div id="page-wrapper">
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<header id="header">
|
<header id="header">
|
||||||
<h1 id="logo">{#
|
<h1 id="logo">
|
||||||
|
|
||||||
|
{% include "partials/spacestate.html" -%}
|
||||||
|
|
||||||
|
|
||||||
Hier findet sich der "Waffel Status" der Webseite.
|
|
||||||
Wenn das CSS sagt, dass es Waffeln gibt,
|
|
||||||
dann wird die Webseite grün und es gibt Waffeln.
|
|
||||||
|
|
||||||
Wenn nicht... nicht!
|
|
||||||
|
|
||||||
Das ganze wird über die SpaceAPI gesteuert.
|
|
||||||
Auch wenn das C3WOC kein echter Hackerspace ist...
|
|
||||||
Aber die Webseite ist dreist von der Toolbox kopiert worden.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#}
|
|
||||||
<div class="tooltip">
|
|
||||||
<a id="waffel-available" class="button waffel-available navbar special" href="{%
|
|
||||||
if bag('translate', this.alt, 'api_url_open') %}{{ bag('translate', this.alt, 'api_url_open') }}{%
|
|
||||||
else %}{{ bag('translate', 'de', 'api_url_open') }}{% endif
|
|
||||||
%}">{%
|
|
||||||
if bag('translate', this.alt, 'api_space') %}{{ bag('translate', this.alt, 'api_space') }}{%
|
|
||||||
else %}{{ bag('translate', 'de', 'api_space') }}{% endif %} {%
|
|
||||||
if bag('translate', this.alt, 'api_open') %}{{ bag('translate', this.alt, 'api_open') }}{%
|
|
||||||
else %}{{ bag('translate', 'de', 'api_open') }}{% endif %}</a>
|
|
||||||
<span class="tooltiptext">{% if bag('translate', this.alt, 'api_open_text')
|
|
||||||
%}{{ bag('translate', this.alt, 'api_open_text') }}{%
|
|
||||||
else %}{{ bag('translate', 'de', 'api_open_text') }}{% endif %}</span>
|
|
||||||
</div>
|
|
||||||
<div class="tooltip">
|
|
||||||
<a id="no-waffles" class="no-waffles" href="{% if bag('translate', this.alt, 'api_url') %}{{ bag('translate', this.alt, 'api_url') }}{%
|
|
||||||
else %}{{ bag('translate', 'de', 'api_url') }}{% endif
|
|
||||||
%}">{%
|
|
||||||
if bag('translate', this.alt, 'api_space') %}{{ bag('translate', this.alt, 'api_space') }}{%
|
|
||||||
else %}{{ bag('translate', 'de', 'api_space') }}{%
|
|
||||||
endif %} {% if bag('translate', this.alt, 'api_closed') %}{{ bag('translate', this.alt, 'api_closed') }}{%
|
|
||||||
else %}{{ bag('translate', 'de', 'api_closed') }}{% endif %}</a>
|
|
||||||
<span class="tooltiptext">{% if bag('translate', this.alt, 'api_opening_time')
|
|
||||||
%}{{ bag('translate', this.alt, 'api_opening_time') }}{%
|
|
||||||
else %}{{ bag('translate', 'de', 'api_opening_time') }}{% endif %}</span>
|
|
||||||
</div>
|
|
||||||
</h1>
|
</h1>
|
||||||
<nav id="nav">{#
|
|
||||||
|
|
||||||
|
|
||||||
Hier beginnt das Menü.
|
|
||||||
Erstmal werden in einer Liste alle elemente definiert, die in dem "root" level des Menüs auftauchen.
|
|
||||||
Anschließend kommen in einer relativ hässlichen if-abfrage der sublevel.
|
|
||||||
|
|
||||||
Das kann man hübscher machen. Aber so ist es zumindest erstmal funktional.
|
|
||||||
Und da am schluss fertig gerendertes HTML raus kommt auch keine kritische Infrastruktur,
|
|
||||||
die besonders schützenswert ist...
|
|
||||||
|
|
||||||
Dennoch würde ich (L3D) mich hier sehr über etwas beteiligung freuen.
|
|
||||||
Alleine an einer Webseite zu arbeiten... Ist schon cool. Aber zu zweit gleich noch viel cooler!!!
|
|
||||||
|
|
||||||
|
{#-
|
||||||
|
# Navigation Bar
|
||||||
#}
|
#}
|
||||||
|
<nav id="nav">
|
||||||
<ul>
|
<ul>
|
||||||
<li{% if this._path == '/' %} class="active"{% endif
|
<li{% if this._path == '/' %} class="active"{% endif %}>
|
||||||
%}><a href="{{ '/'|url }}">{%
|
<a href="{{ '/'|url }}">
|
||||||
if bag('navigation', this.alt, 'home') %}{{ bag('navigation', this.alt, 'home') }}{%
|
{{- translator('home', 'navigation', this.alt) -}}
|
||||||
else %}{{ bag('navigation', 'de', 'home') }}{% endif %}</a></li>{%
|
</a>
|
||||||
for title, href in bag('nav-bar', "NavBar").items() %}
|
</li>
|
||||||
<li{% if this.is_child_of(href) %} class="active"{% endif
|
{%- for title, href in bag('nav-bar', "NavBar").items() %}
|
||||||
%}><a href="{{ href|string }}">{% if bag('navigation', this.alt, title) %}{{ bag('navigation', this.alt, title) }}{% else %}{{ title }}{% endif %}</a>
|
<li{% if this.is_child_of(href) %} class="active"{% endif %}>
|
||||||
<ul>{%
|
<a href="{{ href|url }}">
|
||||||
if bag('nav-bar', 'list', title) %}{%
|
{{- translator(title, 'navigation', this.alt) -}}
|
||||||
set root = site.get( bag('nav-bar', 'list', title), alt=this.alt) %}{%
|
</a>
|
||||||
for child in root.children recursive %}{% if loop.index <= 7 %}
|
<ul>
|
||||||
|
{%- if bag('nav-bar', 'list', title) %}
|
||||||
|
{%- set root = site.get( bag('nav-bar', 'list', title), alt=this.alt) %}
|
||||||
|
{%- for child in root.children recursive %}
|
||||||
|
{%- if loop.index <= 7 %}
|
||||||
<li{% if this._path == child._path %} class="active"{% endif %}>
|
<li{% if this._path == child._path %} class="active"{% endif %}>
|
||||||
<a href="{{ child|url }}">{{ child.shorttitle if child.shorttitle else child.title }}</a></li>{%
|
<a href="{{ child|url }}">{{ child.shorttitle if child.shorttitle else child.title }}</a>
|
||||||
endif %}{% endfor %}{%
|
</li>
|
||||||
endif %}
|
{%- endif %}
|
||||||
{% if bag('nav-bar', title) %} {%
|
{%- endfor %}
|
||||||
for nav_title, nav_url in bag('nav-bar', title).items()
|
{%- endif %}
|
||||||
%}<li><a href={{ nav_url if 'http' in nav_url else nav_url|url }}{%
|
{%- if bag('nav-bar', title) %}
|
||||||
if bag('nav-bar', 'button', nav_title)
|
{%- for nav_title, nav_url in bag('nav-bar', title).items() %}
|
||||||
%}class="button special"{% endif
|
<li>
|
||||||
%}>{{ bag('navigation', this.alt, nav_title)
|
<a href={{ nav_url if 'http' in nav_url else nav_url|url }}
|
||||||
if bag('navigation', this.alt, nav_title)
|
{%- if bag('nav-bar', 'button', nav_title) %} class="button nav"
|
||||||
else bag('navigation', 'de', nav_title) }}</a></li>{%
|
{%- endif -%}
|
||||||
endfor %}{% endif %}
|
>
|
||||||
|
{{- translator(nav_title, 'navigation', this.alt) -}}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{%- endfor %}
|
||||||
|
{%- endif %}
|
||||||
</ul>
|
</ul>
|
||||||
</li>{% endfor %}
|
</li>
|
||||||
<li class="last"><a href="/{%
|
{%- endfor %}
|
||||||
if bag('navigation', this.alt, 'default_path')
|
|
||||||
%}{{ bag('navigation', this.alt, 'default_path') }}{%
|
{#-
|
||||||
else %}..{%
|
# the language selection is currently not included into the template above, because we did not find a proper solution to integrate them yet
|
||||||
endif %}{{ this._path }}">{%
|
#}
|
||||||
if bag('navigation', this.alt, 'sprache')
|
<li class="last">
|
||||||
%}{{ bag('navigation', this.alt, 'sprache') }}{%
|
<a href="{{ '.'|url(alt=translator('default_path', 'navigation', this.alt, 'en')) }}">
|
||||||
else %}Sprache{%
|
{{- translator('sprache', 'navigation', this.alt) -}}
|
||||||
endif %}</a>
|
</a>
|
||||||
<ul class="last">
|
<ul class="last">
|
||||||
<li><a href="{{ this._path }}">{%
|
<li>
|
||||||
if bag('navigation', this.alt, 'German')
|
<a href="{{ '.'|url(alt='') }}">
|
||||||
%}{{ bag('navigation', this.alt, 'German') }}{%
|
{{- translator('German', 'navigation', this.alt) -}}
|
||||||
else %}{{ bag('navigation', 'de', 'German') }}{%
|
</a>
|
||||||
endif %}</a></li>
|
</li>
|
||||||
<li><a href="/en{{ this._path }}">{%
|
<li>
|
||||||
if bag('navigation', this.alt, 'Englisch')
|
<a href="{{ '.'|url(alt='sxu') }}">
|
||||||
%}{{ bag('navigation', this.alt, 'Englisch') }}{%
|
{{- translator('Saechsisch', 'navigation', this.alt) }}
|
||||||
else %}{{ bag('navigation', 'de', 'Englisch') }}{%
|
<i>(
|
||||||
endif %} <i>({%
|
{{- translator('falls', 'navigation', this.alt) -}}
|
||||||
if bag('navigation', this.alt, 'falls')
|
)</i>
|
||||||
%}{{ bag('navigation', this.alt, 'falls') }}{%
|
</a>
|
||||||
else %}{{ bag('navigation', 'de', 'falls') }}{%
|
</li>
|
||||||
endif %})</i></a><li>
|
<li>
|
||||||
|
<a href="{{ '.'|url(alt='en') }}">
|
||||||
|
{{- translator('Englisch', 'navigation', this.alt) }}
|
||||||
|
<i>(
|
||||||
|
{{- translator('falls', 'navigation', this.alt) -}}
|
||||||
|
)</i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
</header>{#
|
</header>
|
||||||
|
|
||||||
Und hier werden nun die eientlichen Seiten eingebunden...
|
|
||||||
|
|
||||||
#}
|
|
||||||
|
|
||||||
{% if ausnahmezustand %}
|
|
||||||
<div id="overwrite" style="display: none; z-index: 1 !important; position: fixed !important; top: 10%; left: 15%; width: 70%; text-align: center; background: white; color: black; padding:30px;font-size: 9pt; text-decoration: none">
|
|
||||||
<style type="text/css">
|
|
||||||
a:link{color:#300;}
|
|
||||||
a:visited{color:#511;}
|
|
||||||
a:hover{color:#f00;}
|
|
||||||
a:active{color:#f00;}
|
|
||||||
</style>
|
|
||||||
<h2 style="color:red">#SaveYourInternet</h2>
|
|
||||||
<p>Liebe Besucherin, lieber Besucher,
|
|
||||||
|
|
||||||
vielen Dank für Ihr Interesse. Leider steht unser Service heute nicht zur Verfügung. Wir protestieren gemeinsam mit der Autorenschaft der Wikipedia gegen Teile der geplanten EU-Urheberrechtsreform, die im Parlament der Europäischen Union Ende März verabschiedet werden soll, und schalten unsere Seite für 24 Stunden ab.
|
|
||||||
<br/>
|
|
||||||
<br/>
|
|
||||||
Ausgetragen wird dieser Konflikt auf den Rücken der Internetnutzer und Kreativen. Diese müssen nach dem aktuellen Entwurf mit erheblichen Einschränkungen rechnen. Das freie Internet, wie wir es kennen, könnte zu einem „Filternet“ verkommen, in dem Plattformbetreiber darüber entscheiden müssen, was wir schreiben, hochladen und sehen dürfen. Denn das geplante Gesetz schreibt Internetseiten und Apps vor, dass sie hochgeladene Inhalte präventiv auf Urheberrechtsverletzungen prüfen müssen. Selbst kleinere Unternehmen müssten demnach fehleranfällige, teure und technisch unausgereifte Uploadfilter einsetzen (Artikel 13) und für minimale Textausschnitte aus Presseerzeugnissen Lizenzen erwerben, um das sogenannte Leistungsschutzrecht einzuhalten (Artikel 11).
|
|
||||||
|
|
||||||
Wenn Sie unsere Kritik an der geplanten Urheberrechtsreform teilen, werden Sie aktiv:
|
|
||||||
</p>
|
|
||||||
<ul style="text-align: left"><li>unterzeichnen Sie die Petition <a href="https://www.change.org/p/stoppt-die-zensurmaschine-rettet-das-internet-uploadfilter-artikel13-saveyourinternet">"Stoppt die Zensurmaschine – Rettet das Internet!"</a>,</li>
|
|
||||||
<li><a href="https://pledge2019.eu/de">kontaktieren Sie die Abgeordneten des Europäischen Parlaments</a>,</li>
|
|
||||||
|
|
||||||
<li><a href="https://savetheinternet.info/demos">gehen Sie am 23. März auf die Straße</a>,</li>
|
|
||||||
|
|
||||||
<li>nehmen Sie Ihr demokratisches Recht wahr und gehen Sie am 26. Mai zur Wahl.</li></ul>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
<div id="block_me">
|
{%- block body %}
|
||||||
{% else %}
|
{%- endblock %}
|
||||||
<!-- Main -->
|
|
||||||
{% endif %}
|
|
||||||
{% block body %}{% endblock %}
|
|
||||||
|
|
||||||
{% if ausnahmezustand %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
document.getElementById("block_me").style.opacity = "0.023";
|
|
||||||
document.getElementById("overwrite").style.display = "block";
|
|
||||||
</script>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{#
|
|
||||||
|
|
||||||
Und da wären wir auch schon am Ende der Webseite...
|
|
||||||
Hier noch mal fett Werbung gemacht, wo es alles etwas vom C3WOC gibt...
|
|
||||||
|
|
||||||
So mit Twitter, Mail, IRC, Mastodon und RSS kommt da doch einiges zusammen :P
|
|
||||||
|
|
||||||
#}
|
|
||||||
<!-- Footer -->
|
<!-- Footer -->
|
||||||
<footer id="footer">
|
<footer id="footer">
|
||||||
<ul class="icons">{%
|
<ul class="icons">{%
|
||||||
|
@ -236,7 +127,7 @@ Wenn Sie unsere Kritik an der geplanten Urheberrechtsreform teilen, werden Sie a
|
||||||
['Mail', 'fas fa-envelope', "mailto:waffeln@c3woc.de"],
|
['Mail', 'fas fa-envelope', "mailto:waffeln@c3woc.de"],
|
||||||
['IRC Chat', 'fas fa-hashtag', "ircs://irc.hackint.org/#waffel"],
|
['IRC Chat', 'fas fa-hashtag', "ircs://irc.hackint.org/#waffel"],
|
||||||
['Webirc Chat', 'fab fa-slack', "https://webirc.hackint.org/#irc://irc.hackint.org/#waffel"],
|
['Webirc Chat', 'fab fa-slack', "https://webirc.hackint.org/#irc://irc.hackint.org/#waffel"],
|
||||||
['Rezept-Feed', 'fas fa-receipt', "https://c3woc.de.de/feed_rezepte.xml"],
|
['Rezept-Feed', 'fas fa-receipt', "https://c3woc.de/feed_rezepte.xml"],
|
||||||
['News', 'fas fa-rss', "https://c3woc.de/feed_blog.xml"],
|
['News', 'fas fa-rss', "https://c3woc.de/feed_blog.xml"],
|
||||||
['Tourdaten', 'far fa-calendar-plus', "https://c3woc.de/waffeln.ics"],
|
['Tourdaten', 'far fa-calendar-plus', "https://c3woc.de/waffeln.ics"],
|
||||||
['Tourdaten', 'fas fa-user-plus', "https://c3woc.de/mitmachen"]
|
['Tourdaten', 'fas fa-user-plus', "https://c3woc.de/mitmachen"]
|
||||||
|
@ -245,7 +136,8 @@ Wenn Sie unsere Kritik an der geplanten Urheberrechtsreform teilen, werden Sie a
|
||||||
endfor %}
|
endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="copyright">
|
<ul class="copyright">
|
||||||
<li>©Copyright by C3 Waffel Operation Center.</li>
|
<li>© Copyright by C3 Waffel Operation Center.</li>
|
||||||
|
<li>© <a href="https://github.com/c3woc/c3woc-website/blob/master/LICENCE">MIT License</a></li>
|
||||||
<li><a href="{{ '/impressum/'|url }}">{%
|
<li><a href="{{ '/impressum/'|url }}">{%
|
||||||
if bag('navigation', this.alt, 'Impressum') %}{{ bag('navigation', this.alt, 'Impressum') }}{%
|
if bag('navigation', this.alt, 'Impressum') %}{{ bag('navigation', this.alt, 'Impressum') }}{%
|
||||||
else %}Impressum{% endif %}</a></li>
|
else %}Impressum{% endif %}</a></li>
|
||||||
|
|
14
templates/macros/translator.j2
Normal file
14
templates/macros/translator.j2
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{#- text -> key in databag,
|
||||||
|
bag_name -> name of databag,
|
||||||
|
language -> language to translate to,
|
||||||
|
fallback -> fallback language when translation is not available
|
||||||
|
#}
|
||||||
|
{%- macro translator(text, bag_name, language, fallback='de') %}
|
||||||
|
{%- if bag(bag_name, language, text) -%}
|
||||||
|
{{ bag(bag_name, language, text) }}
|
||||||
|
{%- elif bag(bag_name, fallback, text) -%}
|
||||||
|
{{ bag(bag_name, fallback, text) }}
|
||||||
|
{%- else -%}
|
||||||
|
{{ text }}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endmacro %}
|
37
templates/partials/head.html
Normal file
37
templates/partials/head.html
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta property="og:title" content="{{ this.title }}"/>
|
||||||
|
<meta property="og:type" content="website"/>
|
||||||
|
<meta property="og:image" content=
|
||||||
|
{%- block expand_ogg_image -%}
|
||||||
|
"{{ '/images/banner.jpg'|asseturl }}"
|
||||||
|
{%- endblock %} />
|
||||||
|
<link href="https://{{ bag('settings', 'generic', 'fqdn') }}/feed_blog.xml" rel="alternate" title="[C3WOC] Neues aus der Waffelwelt" type="application/rss+xml">
|
||||||
|
<link href="https://{{ bag('settings', 'generic', 'fqdn') }}/en/feed_blog.xml" rel="alternate" title="[C3WOC] Wafflenews [EN]" type="application/rss+xml">
|
||||||
|
<link href="https://{{ bag('settings', 'generic', 'fqdn') }}/feed_rezepte.xml" rel="alternate" title="Waffelrezepte" type="application/rss+xml">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="{{ '/images/icons/apple-touch-icon.png'|asseturl }}">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="{{ '/images/icons/favicon-32x32.png'|asseturl }}">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="{{ '/images/icons/favicon-16x16.png'|asseturl }}">
|
||||||
|
<link rel="manifest" href="{{ '/images/icons/site.webmanifest'|asseturl }}">
|
||||||
|
<link rel="mask-icon" href="{{ '/images/icons/safari-pinned-tab.svg'|asseturl }}" color="#ffda1d">
|
||||||
|
<link rel="shortcut icon" href="{{ '/images/icons/favicon.ico'|asseturl }}">
|
||||||
|
<meta name="msapplication-TileColor" content="#da532c">
|
||||||
|
<meta name="msapplication-config" content="{{ '/images/icons/browserconfig.xml'|asseturl }}">
|
||||||
|
<meta name="theme-color" content="#ffda1d">
|
||||||
|
<script src="{{ '/js/jquery.min.js'|asseturl }}"></script>
|
||||||
|
|
||||||
|
{%- if '/css/main.min.css'|asseturl == empty %}
|
||||||
|
<link rel="stylesheet" href="https://{{ bag('settings', 'generic', 'fqdn') }}/css/main.min.css" />
|
||||||
|
<link rel="stylesheet" href="https://{{ bag('settings', 'generic', 'fqdn') }}/css/font-awesome.min.css" />
|
||||||
|
<link rel="stylesheet" href="https://{{ bag('settings', 'generic', 'fqdn') }}/fonts/roboto.css" />
|
||||||
|
{%- else %}
|
||||||
|
<link rel="stylesheet" href="{{ '/css/font-awesome.min.css'|asseturl }}" />
|
||||||
|
<link rel="stylesheet" href="{{ '/fonts/roboto.css'|asseturl }}" />
|
||||||
|
<link rel="stylesheet" href="{{ '/css/main.min.css'|asseturl }}" />
|
||||||
|
{%- endif %}
|
||||||
|
<!--[if lte IE 9]><link rel="stylesheet" href=
|
||||||
|
{%- if '/css/ie9.min.css'|asseturl == empty %}"https://{{ bag('settings', 'generic', 'fqdn') }}/css/ie9.min.css"
|
||||||
|
{%- else %}"{{ '/css/ie9.min.css'|asseturl }}"
|
||||||
|
{%- endif %} /><![endif]-->
|
||||||
|
|
||||||
|
|
28
templates/partials/spacestate.html
Normal file
28
templates/partials/spacestate.html
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{#
|
||||||
|
Space status
|
||||||
|
|
||||||
|
Can show different messages for an open
|
||||||
|
or closed space.
|
||||||
|
Is triggered via JavaScript XHR Scripts and simple CSS Magic
|
||||||
|
#}
|
||||||
|
<div class="tooltip">
|
||||||
|
<a id="space-opened" class="button space-opened navbar special" href="
|
||||||
|
{{- translator('api_url', 'translate', this.alt) }}">
|
||||||
|
{{- translator('api_space', 'translate', this.alt) }} {{
|
||||||
|
translator('api_open', 'translate', this.alt) -}}
|
||||||
|
</a>
|
||||||
|
<span class="tooltiptext">
|
||||||
|
{{- translator('api_open_text', 'translate', this.alt) -}}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tooltip">
|
||||||
|
<a id="space-closed" class="space-closed" href="
|
||||||
|
{{- translator('api_url', 'translate', this.alt) -}}">
|
||||||
|
{{- translator('api_space', 'translate', this.alt) }} {{
|
||||||
|
translator('api_closed', 'translate', this.alt) -}}
|
||||||
|
</a>
|
||||||
|
<span class="tooltiptext">
|
||||||
|
{{- translator('api_opening_time', 'translate', this.alt) -}}
|
||||||
|
</span>
|
||||||
|
</div>
|
|
@ -42,7 +42,7 @@
|
||||||
$('.lightgallery').lightGallery();
|
$('.lightgallery').lightGallery();
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<script src="{{ '/js/openstreetmap.js'|asseturl }}"></script>
|
<script src="{{ '/js/openstreetmap.js'|url }}"></script>
|
||||||
<script src="{{ '/js/picturefill.min.js'|asseturl }}"></script>
|
<script src="{{ '/js/picturefill.min.js'|asseturl }}"></script>
|
||||||
<script src="{{ '/js/lightgallery-all.min.js'|asseturl }}"></script>
|
<script src="{{ '/js/lightgallery-all.min.js'|asseturl }}"></script>
|
||||||
<script src="{{ '/js/jquery.mousewheel.min.js'|asseturl }}"></script>
|
<script src="{{ '/js/jquery.mousewheel.min.js'|asseturl }}"></script>
|
||||||
|
|
Loading…
Reference in a new issue