aboutsummaryrefslogtreecommitdiff
path: root/configs
diff options
context:
space:
mode:
authorClemens H / OE1RFC / datacop2019-10-21 10:46:39 +0200
committerAndreas Hubel2019-10-21 10:46:39 +0200
commit55fa6f1054f03c4a7e465c34102daf21947783b5 (patch)
treed4b6b2a6ad3142d6e2aa28b0529d8744a8b7cbce /configs
parente16a674497d80658f74e2b1332ef9f1bd7ece3aa (diff)
add PrivacyWeek 2019 pw19 (#101)
Diffstat (limited to '')
-rw-r--r--configs/conferences/pw19/assets/bg.pngbin0 -> 359728 bytes
-rw-r--r--configs/conferences/pw19/assets/splash.pngbin0 -> 29435 bytes
-rw-r--r--configs/conferences/pw19/config.php239
-rwxr-xr-xconfigs/conferences/pw19/download.sh8
-rw-r--r--configs/conferences/pw19/main.less238
5 files changed, 485 insertions, 0 deletions
diff --git a/configs/conferences/pw19/assets/bg.png b/configs/conferences/pw19/assets/bg.png
new file mode 100644
index 0000000..4b49219
--- /dev/null
+++ b/configs/conferences/pw19/assets/bg.png
Binary files differ
diff --git a/configs/conferences/pw19/assets/splash.png b/configs/conferences/pw19/assets/splash.png
new file mode 100644
index 0000000..09caacd
--- /dev/null
+++ b/configs/conferences/pw19/assets/splash.png
Binary files differ
diff --git a/configs/conferences/pw19/config.php b/configs/conferences/pw19/config.php
new file mode 100644
index 0000000..59fb7f2
--- /dev/null
+++ b/configs/conferences/pw19/config.php
@@ -0,0 +1,239 @@
+<?php
+
+$CONFIG['CONFERENCE'] = array(
+ /**
+ * Der Startzeitpunkt der Konferenz als Unix-Timestamp. Befinden wir uns davor, wird die Closed-Seite
+ * mit einem Text der Art "hat noch nicht angefangen" angezeigt.
+ *
+ * Wird dieser Zeitpunkt nicht angegeben, gilt die Konferenz immer als angefangen. (Siehe aber ENDS_AT
+ * und CLOSED weiter unten)
+ */
+ 'STARTS_AT' => strtotime("2019-10-21 15:00"),
+
+ /**
+ * Der Endzeitpunkt der Konferenz als Unix-Timestamp. Befinden wir uns danach, wird eine Danke-Und-Kommen-Sie-
+ * Gut-Nach-Hause-Seite sowie einem Ausblick auf die kommenden Events angezeigt.
+ *
+ * Wird dieser Zeitpunkt nicht angegeben, endet die Konferenz nie. (Siehe aber CLOSED weiter unten)
+ */
+ 'ENDS_AT' => strtotime("2019-10-27 22:00"),
+
+ /**
+ * Hiermit kann die Funktionalitaet von STARTS_AT/ENDS_AT überschrieben werden. Der Wert 'before'
+ * simuliert, dass die Konferenz noch nicht begonnen hat. Der Wert 'after' simuliert, dass die Konferenz
+ * bereits beendet ist. 'running' simuliert eine laufende Konferenz.
+ *
+ * Der Boolean true ist aus Abwärtskompatibilitätsgründen äquivalent zu 'after'. False ist äquivalent
+ * zu 'running'.
+ */
+ //'CLOSED' => 'running',
+
+ /**
+ * Titel der Konferenz (kann Leer- und Sonderzeichen enthalten)
+ * Dieser im Seiten-Header, im <title>-Tag, in der About-Seite und ggf. ab weiteren Stellen als
+ * Anzeigetext benutzt
+ */
+ 'TITLE' => 'PrivacyWeek 2019',
+
+ /**
+ * Veranstalter
+ * Wird für den <meta name="author">-Tag verdet. Wird diese Zeile auskommentiert, wird kein solcher
+ * <meta>-Tag generiert.
+ */
+ 'AUTHOR' => 'Chaos Computer Club Wien (C3W)',
+
+ /**
+ * Beschreibungstext
+ * Wird für den <meta name="description">-Tag verdet. Wird diese Zeile auskommentiert, wird kein solcher
+ * <meta>-Tag generiert.
+ */
+ 'DESCRIPTION' => 'Konferenz zum Thema „Privatsphäre im digitalen Zeitalter“. Eine Woche, 100 Vorträge, Workshops und Diskussionsrunden.',
+
+ /**
+ * Schlüsselwortliste, Kommasepariert
+ * Wird für den <meta name="keywords">-Tag verdet. Wird diese Zeile auskommentiert, wird kein solcher
+ * <meta>-Tag generiert.
+ */
+ 'KEYWORDS' => 'PW19, PrivacyWeek, C3W, Vienna, Wien, Privacy, Privatsphäre, Oida',
+
+ /**
+ * HTML-Code für den Footer (z.B. für spezielle Attribuierung mit <a>-Tags)
+ * Sollte üblicherweise nur Inline-Elemente enthalten
+ * Wird diese Zeile auskommentiert, wird die Standard-Attribuierung für (c3voc.de) verwendet
+ */
+ 'FOOTER_HTML' => '
+ <a href="https://privacyweek.at">PrivacyWeek 2019</a>
+ by <a href="https://c3w.at">Chaos Computer Club Wien (C3W)</a> &amp;
+ <a href="https://c3voc.de">C3VOC</a>
+ ',
+
+ /**
+ * HTML-Code für den Banner (nur auf der Startseite, direkt unter dem Header)
+ * wird üblicherweise für KeyVisuals oder Textmarke verwendet (vgl. Blaues
+ * Wischiwaschi auf http://media.ccc.de/)
+ *
+ * Dieser HTML-Block wird üblicherweise in der main.less speziell für die
+ * Konferenz umgestaltet.
+ *
+ * Wird diese Zeile auskommentiert, wird kein Banner ausgegeben.
+ */
+/* 'BANNER_HTML' => '
+ <img src="../configs/conferences/pw19/logo3.png">
+ ',
+*/
+
+ /**
+ * Link zu den Recordings
+ * Wird diese Zeile auskommentiert, wird der Link nicht angezeigt
+ */
+ 'RELEASES' => 'https://media.ccc.de/c/pw19',
+
+ /**
+ * Um die interne ReLive-Ansicht zu aktivieren, kann hier ein ReLive-JSON
+ * konfiguriert werden. Üblicherweise wird diese Datei über das Script
+ * configs/download.sh heruntergeladen, welches von einem Cronjob
+ * regelmäßig getriggert wird.
+ *
+ * Wird diese Zeile auskommentiert, wird der Link nicht angezeigt
+ */
+ 'RELIVE_JSON' => 'https://live.ber.c3voc.de/relive/pw19/index.json',
+);
+
+/**
+ * Konfiguration der Stream-Übersicht auf der Startseite
+ */
+$CONFIG['OVERVIEW'] = array(
+ /**
+ * Abschnitte aud der Startseite und darunter aufgeführte Räume
+ * Es können beliebig neue Gruppen und Räume hinzugefügt werden
+ *
+ * Die Räume müssen in $CONFIG['ROOMS'] konfiguriert werden,
+ * sonst werden sie nicht angezeigt.
+ */
+ 'GROUPS' => array(
+ 'Live' => array(
+ 'saal1',
+ 'saal2',
+ ),
+ ),
+);
+
+
+
+/**
+ * Liste der Räume (= Audio & Video Produktionen, also auch DJ-Sets oä.)
+ */
+$CONFIG['ROOMS'] = array(
+ 'saal1' => array(
+ 'DISPLAY' => 'Saal 1',
+ 'STREAM' => 'q1',
+ 'PREVIEW' => true,
+
+ 'TRANSLATION' => true,
+ 'SD_VIDEO' => true,
+ 'HD_VIDEO' => true,
+ 'DASH' => true,
+ 'AUDIO' => true,
+ 'SLIDES' => false,
+ 'MUSIC' => false,
+
+ 'SCHEDULE' => true,
+ 'SCHEDULE_NAME' => 'Saal 1',
+ 'FEEDBACK' => false,
+ 'SUBTITLES' => false,
+ 'EMBED' => true,
+ 'IRC' => false,
+ 'TWITTER' => true,
+ 'TWITTER_CONFIG' => array(
+ 'DISPLAY' => '#pw19 @ twitter/mastodon',
+ 'TEXT' => '#pw19',
+ ),
+ ),
+
+ 'saal2' => array(
+ 'DISPLAY' => 'Saal 2',
+ 'STREAM' => 'q2',
+ 'PREVIEW' => true,
+
+ 'TRANSLATION' => false,
+ 'SD_VIDEO' => true,
+ 'HD_VIDEO' => true,
+ 'DASH' => true,
+ 'AUDIO' => true,
+ 'SLIDES' => false,
+ 'MUSIC' => false,
+
+ 'SCHEDULE' => true,
+ 'SCHEDULE_NAME' => 'Saal 2',
+ 'FEEDBACK' => false,
+ 'SUBTITLES' => false,
+ 'EMBED' => true,
+ 'IRC' => false,
+ 'TWITTER' => true,
+ 'TWITTER_CONFIG' => array(
+ 'DISPLAY' => '#pw19 @ twitter/mastodon',
+ 'TEXT' => '#pw19',
+ ),
+ ),
+);
+
+
+
+/**
+ * Konfigurationen zum Konferenz-Fahrplan
+ * Wird dieser Block auskommentiert, werden alle Fahrplan-Bezogenen Features deaktiviert
+ */
+$CONFIG['SCHEDULE'] = array(
+ /**
+ * URL zum Fahrplan-XML
+ *
+ * Diese URL muss immer verfügbar sein, sonst könnte die Programm-Ansicht
+ * aufhören zu funktionieren. Üblicherweise wird diese daher Datei über
+ * das Script configs/download.sh heruntergeladen, welches von einem
+ * Cronjob regelmäßig getriggert wird.
+ */
+ 'URL' => 'https://cfp.privacyweek.at/pw19/schedule/export/schedule.xml',
+
+ /**
+ * Nur die angegebenen Räume aus dem Fahrplan beachten
+ *
+ * Wird diese Zeile auskommentiert, werden alle Räume angezeigt
+ */
+ 'ROOMFILTER' => array('Saal 1', 'Saal 2', 'Workshopraum 1'),
+
+ /**
+ * Skalierung der Programm-Vorschau in Sekunden pro Pixel
+ */
+ 'SCALE' => 7,
+
+ /**
+ * Simuliere das Verhalten als wäre die Konferenz bereits heute
+ *
+ * Diese folgende Beispiel-Zeile Simuliert, dass das
+ * Konferenz-Datum 2016-12-29 auf den heutigen Tag 2016-02-24 verschoben ist.
+ */
+ //'SIMULATE_OFFSET' => strtotime(/* Conference-Date */ '2019-10-22 16:00') - strtotime(/* Today */ date('Y-m-d')),
+ //'SIMULATE_OFFSET' => 0,
+);
+
+
+/**
+ * Globaler Schalter für die Embedding-Funktionalitäten
+ *
+ * Wird diese Zeile auskommentiert oder auf False gesetzt, werden alle
+ * Embedding-Funktionen deaktiviert.
+ */
+$CONFIG['EMBED'] = true;
+
+/**
+ * Globale Konfiguration der Twitter-Links.
+ *
+ * Wird dieser Block auskommentiert, werden keine Twitter-Links mehr erzeugt. Sollen die
+ * Twitter-Links für jeden Raum einzeln konfiguriert werden, muss dieser Block trotzdem
+ * existieren sein. ggf. einfach auf true setzen:
+ *
+ * $CONFIG['TWITTER'] = true
+ */
+$CONFIG['TWITTER'] = true;
+
+return $CONFIG;
diff --git a/configs/conferences/pw19/download.sh b/configs/conferences/pw19/download.sh
new file mode 100755
index 0000000..555c8fb
--- /dev/null
+++ b/configs/conferences/pw19/download.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+# fahrplan
+wget --no-check-certificate -q "https://cfp.privacyweek.at/pw19/schedule/export/schedule.xml" -O /tmp/pw19-schedule.xml && mv /tmp/pw19-schedule.xml schedule.xml
+
+# relive
+wget -q "http://live.dus.c3voc.de/relive/pw19/index.json" -O /tmp/vod.json && mv /tmp/vod.json vod.json
+rm -f /tmp/vod.json
diff --git a/configs/conferences/pw19/main.less b/configs/conferences/pw19/main.less
new file mode 100644
index 0000000..dfbaac8
--- /dev/null
+++ b/configs/conferences/pw19/main.less
@@ -0,0 +1,238 @@
+@import "../../../assets/css/_structure.less";
+
+
+// conference specific styles here
+@pw-darkblue: #1c234c;
+@pw-lightblue: #7e94b7;
+@pw-yellow: #ffd900;
+@pw-darkgrey: #677077;
+@pw-lightgrey: #b5b5b7;
+@pw-darkpink: #ea5297;
+@pw-lightpink: #ef7eb0;
+
+@pw-color: @pw-darkpink;
+
+@body-text: @pw-darkblue;
+
+@overview-color: @pw-darkblue;
+
+@darker-grey: #262626;
+@dark-grey: lighten(@darker-grey, 20%);
+@light-grey: lighten(@darker-grey, 30%);
+@lighter-grey: lighten(@darker-grey, 40%);
+
+
+// often configured values (and their defaults):
+//
+@brand-primary: @pw-color;
+@text-color: @body-text;
+
+@link-color: @body-text;
+@link-hover-color: @lighter-grey;
+
+// @navbar-height: 70px;
+
+@navbar-default-bg: @pw-lightpink;
+@navbar-default-border: @pw-lightpink;
+
+@navbar-default-link-color: white;
+//@navbar-default-link-hover-color: @link-hover-color;
+
+body {
+ background-image: url("/configs/conferences/pw19/assets/bg.png");
+ background-repeat: no-repeat;
+ background-position: left top;
+ background-color: @pw-darkpink;
+ padding: @navbar-height 0;
+ color: @body-text;
+}
+
+body > div.container:after{
+ content: "";
+ background-image: url("/configs/conferences/pw19/assets/splash.png");
+ background-repeat: no-repeat;
+ background-position: left bottom;
+ position: fixed;
+ left: 0px;
+ bottom: 0px;
+ height: 462px;
+ width: 346px;
+ z-index: -9999;
+}
+
+body > .container {
+ background-color: rgba(255,255,255, 0.4);
+ padding-bottom: 15px;
+ border: 2px solid @pw-lightpink;
+}
+
+h1, h2, body.overview .room a.title, body.overview .panel-primary a, .navbar-brand {
+ font-family: "pt_sansregular",Arial,sans-serif;
+}
+
+.group-live {
+ margin-top: 60px;
+}
+
+.btn {
+ border: 1px solid @pw-lightpink;
+}
+ul.nav > li > a {
+ border-left: 2px solid @pw-lightpink !important;
+ border-right: none !important;
+ border-top: 2px solid @pw-lightpink !important;
+ border-bottom: none !important;
+}
+ul.nav {
+ border-right: 2px solid @pw-lightpink !important;
+}
+
+.overview {
+ h2 {
+ text-align: center;
+
+ text-transform: uppercase;
+ font-weight: bold;
+
+ margin: 40px 0 20px 0;
+ color: @pw-darkblue;
+ }
+
+ .room, .recordings {
+ a, a:hover {
+ text-decoration: none;
+ color: @overview-color;
+ }
+
+ .panel {
+ //background: none;
+ background-color: rgba(255,255,255,0.9);
+ border: 2px solid @pw-lightpink;
+
+ &:hover {
+ text-decoration: none;
+
+ .panel-body {
+ border-top: 2px solid @pw-lightpink;
+ }
+
+ .panel-body .program-schedule .next-talk {
+ border-bottom: 2px solid @pw-lightpink;
+ }
+ }
+
+ .panel-title {
+ color: @overview-color;
+ font-size: 18px;
+ }
+
+ .panel-primary {
+ background-color: @light-grey;
+ border-color: @pw-lightpink;
+ color: @overview-color;
+ a {
+ color: @overview-color;
+ }
+ }
+
+ .panel-heading {
+ background: none;
+ border: none;
+
+ display: block !important;
+
+ text-transform: uppercase;
+ font-weight: bold;
+
+ padding: 8px 15px;
+
+ a {
+ color: @overview-color;
+ }
+ }
+
+ }
+ }
+}
+
+.overview .room-group-live-music .room .panel .panel-body {
+ margin-bottom: 0;
+}
+
+.banner img {
+ max-width: 50%;
+}
+.banner {
+ display: none
+}
+
+.well a {
+ color: @dark-grey;
+ text-decoration: underline;
+}
+.alert {
+ a {
+ text-decoration: underline;
+ }
+ &.alert-success a {
+ color: @state-success-text;
+ }
+ &.alert-info a {
+ color: @state-info-text;
+ }
+ &.alert-warning a {
+ color: @state-warning-text;
+ }
+ &.alert-danger a {
+ color: @state-danger-text;
+ }
+}
+
+body.multiview .cell {
+ color: black;
+}
+
+.closed .about a {
+ text-decoration: underline;
+ color: @brand-primary;
+}
+
+.schedule .block.pause {
+ color: black !important;
+}
+
+
+footer {
+ color: lightgrey;
+}
+
+.nav-tabs > li > a {
+ border-radius: 0 !important;
+ background-color: rgba(255,255,255,0.4);
+ &:hover {
+ background-color: rgba(255,255,255,0.6);
+ }
+}
+
+body.room .tab-content {
+ background-color: rgba(255,255,255,0.85);
+ border-left: 2px solid @pw-lightpink;
+ border-bottom: 2px solid @pw-lightpink;
+ border-right: 2px solid @pw-lightpink;
+}
+
+@media (max-width: 768px)
+{
+ nav {
+ position: static !important;
+ }
+ body {
+ padding: 0 0;
+ }
+}
+
+@media (max-width: 480px) {
+ .banner {
+ margin-top: 60px;
+ }
+}