mirror of
https://github.com/voc/streaming-website
synced 2024-11-10 14:44:21 +00:00
feat: add pw21 conference
This commit is contained in:
parent
654d6160a8
commit
3287bc05da
3 changed files with 459 additions and 0 deletions
BIN
configs/conferences/pw21/assets/bg.jpg
Normal file
BIN
configs/conferences/pw21/assets/bg.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 89 KiB |
236
configs/conferences/pw21/config.php
Normal file
236
configs/conferences/pw21/config.php
Normal 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> &
|
||||
<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 oä.)
|
||||
*/
|
||||
$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;
|
223
configs/conferences/pw21/main.less
Normal file
223
configs/conferences/pw21/main.less
Normal 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;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue