feat: add pw21 conference

This commit is contained in:
Clemens Hopfer 2021-10-23 19:01:43 +02:00
parent 654d6160a8
commit 3287bc05da
3 changed files with 459 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

View file

@ -0,0 +1,236 @@
<?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("2021-10-25 12: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("2021-10-31 24: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 2021',
/**
* 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' => 'PW21, PrivacyWeek, C3W, Vienna, Wien, Privacy, Privatsphäre, Datenmeer, Data-Sea',
/**
* 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 2021 - DATENMEER</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/pw21/logo3.png">
',
*/
/**
* Link zu den Recordings
* Wird diese Zeile auskommentiert, wird der Link nicht angezeigt
*/
'RELEASES' => 'https://media.ccc.de/c/pw21',
/**
* 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://cdn.c3voc.de/relive/pw21/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(
'stream',
),
),
);
/**
* Liste der Räume (= Audio & Video Produktionen, also auch DJ-Sets .)
*/
$CONFIG['ROOMS'] = array(
'stream' => array(
'DISPLAY' => 'Stream',
'STREAM' => 'pw21',
'PREVIEW' => true,
'TRANSLATION' => true,
'SD_VIDEO' => true,
'HD_VIDEO' => true,
'DASH' => true,
'AUDIO' => true,
'SLIDES' => false,
'MUSIC' => false,
'SCHEDULE' => true,
'SCHEDULE_NAME' => 'Stream',
'FEEDBACK' => false,
'SUBTITLES' => false,
'EMBED' => true,
'IRC' => true,
'TWITTER' => true,
'TWITTER_CONFIG' => array(
'DISPLAY' => '#pw21 @ twitter/mastodon',
'TEXT' => '#pw21',
),
'WEBCHAT' => false,
),
);
/**
* 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/pw21/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', '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 */ '2021-10-26 17: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;
$CONFIG['IRC'] = array(
/**
* Anzeigetext für die IRC-Links.
*
* %s wird durch den Raum-Slug ersetzt.
* Ist eine weitere Anpassung erfoderlich, kann ein IRC_CONFIG-Block in der
* Raum-Konfiguration zum Überschreiben dieser Angaben verwendet werden.
*/
'DISPLAY' => '#privacyweek21 @ Libera.Chat',
/**
* URL für die IRC-Links.
* Hierbei kann sowohl ein irc://-Link als auch ein Link zu einem
* WebIrc-Provider wie z.B. 'https://kiwiirc.com/client/irc.hackint.eu/#31C3-%s'
* verwendet werden.
*
* %s wird durch den urlencodeten Raum-Slug ersetzt.
* Eine Anpassung kann ebenfalls in der Raum-Konfiguration vorgenommen werden.
*/
'URL' => 'irc://irc.libera.chat/privacyweek21',
);
return $CONFIG;

View file

@ -0,0 +1,223 @@
@import "../../../assets/css/_structure.less";
// conference specific styles here
@pw-darkblue: #1c234c;
@pw-darkgrey: #677077;
@pw-turquoise: #89ecfe;
@pw-yellow: #ffd900;
@pw-lightgrey: #b5b5b7;
@pw-lightblue: #00caf0;
@pw-medblue: #1d00bf;
@pw-color: @pw-medblue;
@body-text: @pw-darkblue;
@overview-color: @pw-darkblue;
@darker-grey: @pw-darkgrey;
@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-darkblue;
@navbar-default-border: @pw-turquoise;
@navbar-default-link-color: white;
//@navbar-default-link-hover-color: @link-hover-color;
body {
background-image: url("/configs/conferences/pw21/assets/bg.jpg");
background-repeat: no-repeat;
background-size: cover;
background-color: @pw-lightblue;
padding: @navbar-height 0;
color: @body-text;
}
body > .container {
background-color: rgba(255,255,255, 0.75);
margin-top: 2.5em;
padding-bottom: 15px;
border: 2px solid rgba(255,255,255, 0.33);
border-radius: 1em;
}
h1, h2, body.overview .room a.title, body.overview .panel-primary a, .navbar-brand {
font-family: "pt_sansregular",Arial,sans-serif;
}
h1 {
margin-top: 12px;
}
.btn {
border: 1px solid @pw-lightblue;
}
ul.nav > li > a {
border-bottom: none !important;
}
ul.nav {
box-shadow: 0 5px 10px rgba(0,0,0,.2);
}
.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-lightblue;
&:hover {
text-decoration: none;
.panel-body {
border-top: 2px solid @pw-lightblue;
}
.panel-body .program-schedule .next-talk {
border-bottom: 2px solid @pw-lightblue;
}
}
.panel-title {
color: @overview-color;
font-size: 18px;
}
.panel-primary {
background-color: @light-grey;
border-color: @pw-lightblue;
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: none;
box-shadow: 0 5px 10px rgba(0,0,0,.2);
}
@media (max-width: 768px)
{
nav {
position: static !important;
}
body {
padding: 0 0;
}
}
@media (max-width: 480px) {
.banner {
margin-top: 60px;
}
}