From 55fa6f1054f03c4a7e465c34102daf21947783b5 Mon Sep 17 00:00:00 2001 From: Clemens H / OE1RFC / datacop Date: Mon, 21 Oct 2019 10:46:39 +0200 Subject: add PrivacyWeek 2019 pw19 (#101) --- configs/conferences/pw19/assets/bg.png | Bin 0 -> 359728 bytes configs/conferences/pw19/assets/splash.png | Bin 0 -> 29435 bytes configs/conferences/pw19/config.php | 239 +++++++++++++++++++++++++++++ configs/conferences/pw19/download.sh | 8 + configs/conferences/pw19/main.less | 238 ++++++++++++++++++++++++++++ 5 files changed, 485 insertions(+) create mode 100644 configs/conferences/pw19/assets/bg.png create mode 100644 configs/conferences/pw19/assets/splash.png create mode 100644 configs/conferences/pw19/config.php create mode 100755 configs/conferences/pw19/download.sh create mode 100644 configs/conferences/pw19/main.less (limited to 'configs/conferences/pw19') diff --git a/configs/conferences/pw19/assets/bg.png b/configs/conferences/pw19/assets/bg.png new file mode 100644 index 0000000..4b49219 Binary files /dev/null and b/configs/conferences/pw19/assets/bg.png differ diff --git a/configs/conferences/pw19/assets/splash.png b/configs/conferences/pw19/assets/splash.png new file mode 100644 index 0000000..09caacd Binary files /dev/null and b/configs/conferences/pw19/assets/splash.png 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 @@ + 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 -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> & + <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; + } +} -- cgit v1.2.3