From cbc1055ec5bbce5bdba80bf925489fd95b0b64cd Mon Sep 17 00:00:00 2001 From: dedeibel Date: Thu, 14 Dec 2017 00:03:40 +0100 Subject: Initial configuration for 34c3, some values to be checked, styling still to be done --- configs/conferences/34c3/assets/Makefile | 10 + configs/conferences/34c3/assets/dot.png | Bin 0 -> 137 bytes configs/conferences/34c3/assets/drops.svg | 1 + configs/conferences/34c3/assets/f-beta.svg | 85 +++ configs/conferences/34c3/assets/logo.svg | 1 + configs/conferences/34c3/assets/min/drops.svg | 1 + configs/conferences/34c3/assets/min/f-beta.svg | 1 + configs/conferences/34c3/assets/min/logo.svg | 1 + configs/conferences/34c3/config.php | 694 +++++++++++++++++++++++++ configs/conferences/34c3/main.less | 364 +++++++++++++ 10 files changed, 1158 insertions(+) create mode 100644 configs/conferences/34c3/assets/Makefile create mode 100644 configs/conferences/34c3/assets/dot.png create mode 100644 configs/conferences/34c3/assets/drops.svg create mode 100644 configs/conferences/34c3/assets/f-beta.svg create mode 100644 configs/conferences/34c3/assets/logo.svg create mode 100644 configs/conferences/34c3/assets/min/drops.svg create mode 100644 configs/conferences/34c3/assets/min/f-beta.svg create mode 100644 configs/conferences/34c3/assets/min/logo.svg create mode 100644 configs/conferences/34c3/config.php create mode 100644 configs/conferences/34c3/main.less (limited to 'configs/conferences') diff --git a/configs/conferences/34c3/assets/Makefile b/configs/conferences/34c3/assets/Makefile new file mode 100644 index 0000000..fff4358 --- /dev/null +++ b/configs/conferences/34c3/assets/Makefile @@ -0,0 +1,10 @@ +SVGFILES := $(wildcard *.svg) +MINSVGS := $(SVGFILES:%.svg=min/%.svg) + +all: $(MINSVGS) + +min/%.svg : %.svg + svgo -i $*.svg -o min/$*.svg + +clean: + rm $(MINSVGS) diff --git a/configs/conferences/34c3/assets/dot.png b/configs/conferences/34c3/assets/dot.png new file mode 100644 index 0000000..cc3863a Binary files /dev/null and b/configs/conferences/34c3/assets/dot.png differ diff --git a/configs/conferences/34c3/assets/drops.svg b/configs/conferences/34c3/assets/drops.svg new file mode 100644 index 0000000..71a89df --- /dev/null +++ b/configs/conferences/34c3/assets/drops.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/configs/conferences/34c3/assets/f-beta.svg b/configs/conferences/34c3/assets/f-beta.svg new file mode 100644 index 0000000..ea55e5d --- /dev/null +++ b/configs/conferences/34c3/assets/f-beta.svg @@ -0,0 +1,85 @@ + + + + + + image/svg+xml + + Live_Music + + + + + Live_Music + + + + + + + + + + + + + + + + diff --git a/configs/conferences/34c3/assets/logo.svg b/configs/conferences/34c3/assets/logo.svg new file mode 100644 index 0000000..0468799 --- /dev/null +++ b/configs/conferences/34c3/assets/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/configs/conferences/34c3/assets/min/drops.svg b/configs/conferences/34c3/assets/min/drops.svg new file mode 100644 index 0000000..71a89df --- /dev/null +++ b/configs/conferences/34c3/assets/min/drops.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/configs/conferences/34c3/assets/min/f-beta.svg b/configs/conferences/34c3/assets/min/f-beta.svg new file mode 100644 index 0000000..c54c7ed --- /dev/null +++ b/configs/conferences/34c3/assets/min/f-beta.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/configs/conferences/34c3/assets/min/logo.svg b/configs/conferences/34c3/assets/min/logo.svg new file mode 100644 index 0000000..643266f --- /dev/null +++ b/configs/conferences/34c3/assets/min/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/configs/conferences/34c3/config.php b/configs/conferences/34c3/config.php new file mode 100644 index 0000000..e898640 --- /dev/null +++ b/configs/conferences/34c3/config.php @@ -0,0 +1,694 @@ + strtotime("2017-12-27 08:00"), # TODO check + + /** + * 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("2017-12-30 23:00"), # TODO check + + /** + * 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' => true, + + /** + * 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' => '34C3', + + /** + * Veranstalter + * Wird für den <meta name="author">-Tag verdet. Wird diese Zeile auskommentiert, wird kein solcher + * <meta>-Tag generiert. + */ + 'AUTHOR' => 'CCC', + + /** + * Beschreibungstext + * Wird für den <meta name="description">-Tag verdet. Wird diese Zeile auskommentiert, wird kein solcher + * <meta>-Tag generiert. + */ + 'DESCRIPTION' => 'Live-Streaming vom 34C3', + + /** + * Schlüsselwortliste, Kommasepariert + * Wird für den <meta name="keywords">-Tag verdet. Wird diese Zeile auskommentiert, wird kein solcher + * <meta>-Tag generiert. + */ + 'KEYWORDS' => '34C3, Hacking, Chaos Computer Club, Video, Music, Podcast, Media, Streaming, Hacker, Leipzig, Tuwat, Phasenprüfer, Phrasenprüfer, Chaos, Everywhere', + + /** + * 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' => ' + by <a href="https://ccc.de">Chaos Computer Club e.V</a>, + <a href="https://www.isystems.at/">iSystems</a>, + <a href="https://fem.tu-ilmenau.de/">FeM</a>, + <a href="http://www.ags.tu-bs.de/">ags</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' => ' + <h1>34C3 – works for me</h1> + <img src="configs/conferences/34c3/assets/logo.svg" width="810px" height="388px" alt="34C3 TUWAT Logo"/> + ', + + /** + * Link zu den Recordings + * Wird diese Zeile auskommentiert, wird der Link nicht angezeigt + */ + 'RELEASES' => 'https://media.ccc.de/c/34c3', + + /** + * 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.dus.c3voc.de/relive/34c3/index.json', # TODO check +); + +/** + * 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( + 'hallA', + 'hallB', + 'hallC', + 'hallD', + ), + + 'Live Music' => array( + 'fresswuerfel', + 'electric_cube', + 'shell_beach', + 'bar', + ), + ), +); + + + +/** + * Liste der Räume (= Audio & Video Produktionen, also auch DJ-Sets oä.) + */ +$CONFIG['ROOMS'] = array( + /** + * Array-Key ist der Raum-Slug, der z.B. auch zum erstellen der URLs, + * in $CONFIG['OVERVIEW'] oder im Feedback verwendet wird. + * + * Der Raum-Slug darf ausschliesslich aus "unkritischen" Zeichen + * ([a-zA-Z0-9_\-]) bestehen und insbesondere keine Leerzeichen + * enthalten. + */ + 'hallA' => array( + /** + * Angezeige-Name + */ + 'DISPLAY' => 'Saal Adams', + + /** + * ID des Video/Audio-Streams. Die Stream-ID ist davon abhängig, welches + * Event-Case in welchem Raum aufgebaut wird und wird üblicherweise von + * s1 bis s5 durchnummeriert. + */ + 'STREAM' => 's1', + + /** + * Stream-Vorschaubildchen auf der Übersichtsseite anzeigen + * Damit das funktioniert muss der entsprechende runit-Task auf dem + * CDN-Quell-Host (live.ber) laufen. + */ + 'PREVIEW' => true, + + /** + * Übersetzungstonspur aktivieren + * + * Wenn diese Zeile auskommentiert oder auf false gesetzt ist werden nur + * die native-Streams verwendet, andernfalls wird native und translated + * angeboten und auch für beide Tonspuren eine Player-Seite angezeigt. + * + * Betrifft video sd / hd, slides, audio + * + * Ein Label für die Übersetzung oder mehrere Übersetzungsspuren können + * wie folgt konfiguriert werden: + * + * 'TRANSLATION' => [ + * ['endpoint' => 'translated', 'label' => 'Translated1'], + * ['endpoint' => 'translated-2', 'label' => 'Translated2'] + * ], + * + * Ein einfaches true entspricht dabei folgendem: + * + * 'TRANSLATION' => [ + * ['endpoint' => 'translated', 'label' => 'Translated'] + * ], + * + * Sollte die Sprache während der Veranstaltung Konstant sein, kann ein + * Label auch spezifisch konfiguriert werden z.B. 'label' => 'English'. + */ + 'TRANSLATION' => [ + ['endpoint' => 'translated', 'label' => 'Translated1'], + ['endpoint' => 'translated-2', 'label' => 'Translated2'] + ], + + /** + * stereo-Tonspur statt native-Tonspur benutzen + * + * Wenn diese Zeile auskommentiert oder auf false gesetzt ist werden + * die "native"-Mono-Streams verwendet, andernfalls wird statt "native" + * der Streamname "stereo" eingesetzt. Im normalen Konferenz-Setup + * müssen dann beide Kanäle der Kamera mit einem Signal bespielt werden. + */ + 'STEREO' => false, + + /** + * SD-Video-Stream (1024×576) verfügbar + * + * Wenn diese Zeile auskommentiert oder auf false gesetzt ist ẃird kein SD-Video + * angeboten. Wird auch HD_VIDEO auf false gesetzt oder auskommentiert ist, wird + * für diesen Raum überhaupt kein Video angeboten. + * + * In diesem Fall wird, sofern jeweils aktiviert, Slides, Audio und zuletzt Musik + * als Default-Stream angenommen. + */ + 'SD_VIDEO' => true, + + /** + * HD-Video-Stream (1920×1080) verfügbar + * + * Wenn diese Zeile auskommentiert oder auf false gesetzt ist ẃird kein HD-Video + * angeboten. Wird auch SD_VIDEO auf false gesetzt oder auskommentiert ist, wird + * für diesen Raum überhaupt kein Video angeboten. + * + * In diesem Fall wird, sofern jeweils aktiviert, Slides, Audio und zuletzt Musik + * als Default-Stream angenommen. + */ + 'HD_VIDEO' => true, + 'DASH' => true, + + /** + * Slide-Only-Stream (1024×576) verfügbar + * + * Wenn diese Zeile auskommentiert oder auf false gesetzt ist ẃird kein Slide-Only- + * Stream angeboten. Für diesen Raum wird dann keim Slides-Tab angeboten. + * + * In diesem Fall wird, sofern jeweils aktiviert, Audio und zuletzt Musik als + * Default-Stream angenommen. + */ + 'SLIDES' => true, + + /** + * Audio-Only-Stream verfügbar + * + * Wenn diese Zeile auskommentiert oder auf false gesetzt ist ẃird kein Audio-Only- + * Stream angeboten. Für diesen Raum wird dann keim Audio-Tab angeboten. + * + * In diesem Fall wird, sofern aktiviert, Musik als Default-Stream angenommen. + */ + 'AUDIO' => true, + + /** + * Musik-Stream verfügbar + * + * Wenn diese Zeile auskommentiert oder auf false gesetzt ist ẃird kein Musik-Stream + * angeboten. Für diesen Raum wird dann keim Musik-Tab angeboten. + * + * Ist kein einziger Stream angebote, wird statt der Stream-Seite ein 404-Fehler + * angezeigt. + */ + 'MUSIC' => false, + + /** + * Fahrplan-Ansicht auf der Raum-Seite aktivieren (boolean) + * + * Wenn diese Zeile auskommentiert oder auf false gesetzt ist, + * wird der Raum nicht im Fahrplan gesucht und auch auf der Startseite + * findet keine Darstellung statt. + * + * Ebenso können alle Fahrplan-Funktionialitäten durch auskommentieren + * des globalen $CONFIG['SCHEDULE']-Blocks deaktiviert werden + */ + 'SCHEDULE' => true, + + /** + * Name des Raums im Fahrplan + * Wenn diese Zeile auskommentiert ist wird der Raum-Display-Name verwendet + */ + //'SCHEDULE_NAME' => 'Saal 1', + + /** + * Feedback anzeigen (boolean) + * + * Wenn diese Zeile auskommentiert oder auf false gesetzt ist, + * taucht der Raum auch im globalen Feedback-Formular nicht auf. + * + * Ebenso können alle Feedback-Funktionialitäten durch auskommentieren + * des globalen $CONFIG['FEEDBACK']-Blocks deaktiviert werden + */ + 'FEEDBACK' => true, + + /** + * Subtitles-Player aktivieren (boolean) + * + * Wenn diese Zeile auskommentiert oder auf false gesetzt ist, + * wird der Subtitles-Button und die damit verbundenen Funktionen deaktiviert. + * + * Ebenso können alle Subtitles-Funktionialitäten durch auskommentieren + * des globalen $CONFIG['SUBTITLES']-Blocks deaktiviert werden + */ + 'SUBTITLES' => false, # TODO check + + /** + * ID des Raumes im L2S2-System (int) + * + * Wenn diese Zeile auskommentiert oder auf false gesetzt ist, + * für diesen Raum das Subtitles-System deaktiviert. + */ + 'SUBTITLES_ROOM_ID' => 1, + + /** + * Embed-Form aktivieren (boolean) + * + * Ist dieses Feld auf true gesetzt, wird ein Embed-Tab unter dem Video + * angezeigt. Darüber kann der Player als iframe eingebunden werden. + * + * Wenn diese Zeile auskommentiert oder auf false gesetzt ist, + * wird kein Embed-Tab angeboten und die URL zum Einbetten existiert nicht. + * + * Ebenso können alle Embedding-Funktionialitäten durch auskommentieren + * des globalen $CONFIG['EMBED']-Blocks deaktiviert werden + */ + 'EMBED' => true, + + /** + * IRC-Link aktivieren (boolean) + * + * Solange Twitter oder IRC aktiviert ist, wird ein "Chat"-Tab mit den + * jeweiligen Links angezeigt. + * + * Ist dieses Feld auf true gesetzt, wird ein irc://-Link angezeigt. + * WebIrc wird nach dem Congress nicht mehr unterstützt ;) + * + * Wenn diese Zeile auskommentiert oder auf false gesetzt ist, + * wird kein IRC-Link angezeigt + * + * Ebenso können alle IRC-Links durch auskommentieren + * des globalen $CONFIG['IRC']-Blocks deaktiviert werden + */ + 'IRC' => true, + + /** + * Mit dem Angaben in diesem Block können die Vorgaben aus dem + * globalen $CONFIG['IRC'] Block überschrieben werden. + * + * Der globale $CONFIG['IRC']-Block muss trotzdem existieren, + * da sonst überhaupt kein IRC-Link erzeugt wird. (ggf. einfach `= true` setzen) + */ + 'IRC_CONFIG' => array( + 'DISPLAY' => '#34C3-hall-a @ hackint', # TODO check + 'URL' => 'irc://irc.hackint.eu:6667/34C3-hall-a', + ), + + /** + * Twitter-Link aktivieren (boolean) + * + * Ist dieses Feld auf true gesetzt, wird ein Link zu Twitter angezeigt. + * + * Solange Twitter oder IRC aktiviert ist, wird ein "Chat"-Tab mit den + * jeweiligen Links angezeigt. + * + * Wenn diese Zeile auskommentiert oder auf false gesetzt ist, + * wird kein Twitter-Link angezeigt + * + * Ebenso können alle Twitter-Links durch auskommentieren + * des globalen $CONFIG['TWITTER']-Blocks deaktiviert werden + **/ + 'TWITTER' => true, + + /** + * Mit dem Angaben in diesem Block können die Vorgaben aus dem + * globalen $CONFIG['TWITTER'] Block überschrieben werden. + * + * Der globale $CONFIG['TWITTER']-Block muss trotzdem existieren, + * da sonst überhaupt kein IRC-Link erzeugt wird. (ggf. einfach `= true` setzen) + */ + 'TWITTER_CONFIG' => array( + 'DISPLAY' => '#hallA @ twitter', + 'TEXT' => '#34C3 #hallA', + ), + ), + + 'hallB' => array( + 'DISPLAY' => 'Saal Borg', + 'STREAM' => 's2', + 'PREVIEW' => true, + + 'TRANSLATION' => [ + ['endpoint' => 'translated', 'label' => 'Translated1'], + ['endpoint' => 'translated-2', 'label' => 'Translated2'] + ], + 'SD_VIDEO' => true, + 'HD_VIDEO' => true, + 'DASH' => true, + 'AUDIO' => true, + 'SLIDES' => true, + 'MUSIC' => false, + + 'SCHEDULE' => true, + //'SCHEDULE_NAME' => 'Saal Borg', # TODO check + 'FEEDBACK' => true, + 'SUBTITLES' => false, # TODO check + 'SUBTITLES_ROOM_ID' => 2, + 'EMBED' => true, + 'IRC' => true, + 'IRC_CONFIG' => array( + 'DISPLAY' => '#34C3-hall-B @ hackint', # TODO check + 'URL' => 'irc://irc.hackint.eu:6667/34C3-hall-B', + ), + 'TWITTER' => true, + 'TWITTER_CONFIG' => array( + 'DISPLAY' => '#hallB @ twitter', + 'TEXT' => '#34C3 #hallB', + ), + ), + + 'hallC' => array( + 'DISPLAY' => 'Saal Clarke', + 'STREAM' => 's3', + 'PREVIEW' => true, + + 'TRANSLATION' => [ + ['endpoint' => 'translated', 'label' => 'Translated1'], + ['endpoint' => 'translated-2', 'label' => 'Translated2'] + ], + 'SD_VIDEO' => true, + 'HD_VIDEO' => true, + 'DASH' => true, + 'AUDIO' => true, + 'SLIDES' => true, + 'MUSIC' => false, + + 'SCHEDULE' => true, + //'SCHEDULE_NAME' => 'Saal Clarke', # TODO check + 'FEEDBACK' => true, + 'SUBTITLES' => false, # TODO check + 'SUBTITLES_ROOM_ID' => 2, + 'EMBED' => true, + 'IRC' => true, + 'IRC_CONFIG' => array( + 'DISPLAY' => '#34C3-hall-C @ hackint', # TODO check + 'URL' => 'irc://irc.hackint.eu:6667/34C3-hall-C', + ), + 'TWITTER' => true, + 'TWITTER_CONFIG' => array( + 'DISPLAY' => '#hallC @ twitter', + 'TEXT' => '#34C3 #hallC', + ), + ), + + 'hallC' => array( + 'DISPLAY' => 'Saal Dijkstra', + 'STREAM' => 's4', + 'PREVIEW' => true, + + 'TRANSLATION' => [ + ['endpoint' => 'translated', 'label' => 'Translated'], + ], + 'SD_VIDEO' => true, + 'HD_VIDEO' => true, + 'DASH' => true, + 'AUDIO' => true, + 'SLIDES' => true, + 'MUSIC' => false, + + 'SCHEDULE' => true, + //'SCHEDULE_NAME' => 'Saal Dijkstra', # TODO check + 'FEEDBACK' => true, + 'SUBTITLES' => false, # TODO check + 'SUBTITLES_ROOM_ID' => 2, + 'EMBED' => true, + 'IRC' => true, + 'IRC_CONFIG' => array( + 'DISPLAY' => '#34C3-hall-D @ hackint', # TODO check + 'URL' => 'irc://irc.hackint.eu:6667/34C3-hall-D', + ), + 'TWITTER' => true, + 'TWITTER_CONFIG' => array( + 'DISPLAY' => '#hallD @ twitter', + 'TEXT' => '#34C3 #hallD', + ), + ), + + + +# TODO check namen + 'fresswuerfel' => array( + 'DISPLAY' => 'Unwetterbar Fresswürfell (Halle 1 / 3)', + 'STREAM' => 'a1', + 'MUSIC' => true, + 'EMBED' => false, + ), + 'electric_cube' => array( + 'DISPLAY' => 'Electric Cube (Halle 2 / CCL)', + 'STREAM' => 'a2', + 'MUSIC' => true, + 'EMBED' => false, + ), + 'shell_beach' => array( + 'DISPLAY' => 'Shell Beach (CCL unten)', + 'STREAM' => 'a3', + 'MUSIC' => true, + 'EMBED' => false, + ), + 'bar' => array( + 'DISPLAY' => 'Bar (Halle 2)', + 'STREAM' => 'a4', + 'MUSIC' => true, + 'EMBED' => 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' => 'http://data.c3voc.de/34C3/everything.schedule.xml', # TODO check + + /** + * Nur die angegebenen Räume aus dem Fahrplan beachten + * + * Wird diese Zeile auskommentiert, werden alle Räume angezeigt + */ +# TODO check, Namen ermitteln +# 'ROOMFILTER' => array('Saal A', 'Saal B', 'Saal C', 'Saal D'), + + /** + * 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 */ '2016-12-27') - strtotime(/* Today */ date('Y-m-d')), + //'SIMULATE_OFFSET' => 0, +); + + + +/** + * Konfiguration des Feedback-Formulars + * + * Wird dieser Block auskommentiert, wird das gesamte Feedback-System deaktiviert + */ +$CONFIG['FEEDBACK'] = array( + /** + * DSN zum abspeichern der eingegebenen Daten + * die Datenbank muss eine Tabelle enthaltem, die dem in `lib/schema.sql` angegebenen + * Schema entspricht. + * + * Achtung vor Dateirechten: Bei SQLite reicht es nicht, wenn wer Webseiten-Benutzer + * die .sqlite3-Datei schreiben darf, er muss auch im übergeordneten Order neue + * (Lock-)Dateien anlegen dürfen + */ + 'DSN' => 'sqlite:/opt/streaming-feedback/feedback.sqlite3', + + /** + * Login-Daten für die /feedback/read/-Seite, auf der eingegangenes + * Feedback gelesen werden kann. + * + * Durch auskommentieren der beiden Optionen wird diese Seite komplett deaktiviert, + * es kann dann nur noch durch manuelle Inspektion der .sqlite3-Datei auf das Feedback + * zugegriffen werden. + */ + 'USERNAME' => 'katze', + 'PASSWORD' => trim(@file_get_contents('/opt/streaming-feedback/feedback-password')), +); + +/** + * Globaler Schalter für die Embedding-Funktionalitäten + * + * Wird diese Zeile auskommentiert oder auf False gesetzt, werden alle + * Embedding-Funktionen deaktiviert. + */ +$CONFIG['EMBED'] = true; + +/** + * Konfiguration des L2S2-Systems + * https://github.com/c3subtitles/L2S2 + * + * Wird dieser Block auskommentiert, wird das gesamte Subtitle-System deaktiviert + */ + +// TODO CHECK +// $CONFIG['SUBTITLES'] = array( +// /** +// * URL des L2S2 Primus-Servers +// */ +// 'PRIMUS_URL' => 'https://live.c3subtitles.de/', +// +// /** +// * URL des L2S2 Frontend-Servers +// */ +// 'FRONTEND_URL' => 'https://live.c3subtitles.de/', +// ); + +/** + * Globale Konfiguration der IRC-Links. + * + * Wird dieser Block auskommentiert, werden keine IRC-Links mehr erzeugt. Sollen die + * IRC-Links für jeden Raum einzeln konfiguriert werden, muss dieser Block trotzdem + * existieren sein. ggf. einfach auf true setzen: + * + * $CONFIG['IRC'] = 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' => '#34C3-%s @ hackint', + + /** + * 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/#33C3-%s' + * verwendet werden. + * + * %s wird durch den urlencodeten Raum-Slug ersetzt. + * Eine Anpassung kann ebenfalls in der Raum-Konfiguration vorgenommen werden. + */ + 'URL' => 'irc://irc.hackint.eu:6667/34C3-%s', +); + +/** + * 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'] = array( + /** + * Anzeigetext für die Twitter-Links. + * + * %s wird durch den Raum-Slug ersetzt. + * Ist eine weitere Anpassung erfoderlich, kann ein TWITTER_CONFIG-Block in der + * Raum-Konfiguration zum Überschreiben dieser Angaben verwendet werden. + */ + 'DISPLAY' => '#%s @ twitter', + + /** + * Vorgabe-Tweet-Text für die Twitter-Links. + * + * %s wird durch den Raum-Slug ersetzt. + * Eine Anpassung kann ebenfalls in der Raum-Konfiguration vorgenommen werden. + */ + 'TEXT' => '#34C3 #%s', +); + +/** + * Liste zusätzlich herunterzuladender Dateien + * + * Dict mit dem Dateinamen im Key und einer URL im Value. Die Dateien werden + * unter dem angegebenen Dateinamen in diesem Konfigurationsordner abgelegt. + */ +# TODO CHECK +$CONFIG['EXTRA_FILES'] = array( + 'schedule.xml' => 'https://fahrplan.events.ccc.de/congress/2017/Fahrplan/schedule.xml', + 'schedule.json' => 'https://fahrplan.events.ccc.de/congress/2017/Fahrplan/schedule.json', + 'schedule.ics' => 'https://fahrplan.events.ccc.de/congress/2017/Fahrplan/schedule.ics', + 'schedule.xcal' => 'https://fahrplan.events.ccc.de/congress/2017/Fahrplan/schedule.xcal', + + 'everything.schedule.xml' => 'http://data.c3voc.de/34C3/everything.schedule.xml', + 'everything.schedule.json' => 'http://data.c3voc.de/34C3/everything.schedule.json', + + 'workshops.schedule.xml' => 'http://data.c3voc.de/34C3/workshops.schedule.xml', + 'workshops.schedule.json' => 'http://data.c3voc.de/34C3/workshops.schedule.json', +); + +return $CONFIG; diff --git a/configs/conferences/34c3/main.less b/configs/conferences/34c3/main.less new file mode 100644 index 0000000..13634aa --- /dev/null +++ b/configs/conferences/34c3/main.less @@ -0,0 +1,364 @@ +@import "../../../assets/css/_structure.less"; + + +// conference specific styles here +@tuwatred: #a41c31; +@darker-grey: #262626; +@dark-grey: lighten(@darker-grey, 20%); +@light-grey: lighten(@darker-grey, 30%); +@lighter-grey: lighten(@darker-grey, 40%); + +@red-dot: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACAQMAAABIeJ9nAAAAA1BMVEWkHDHOopUBAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB+EMDRYjEJ3j75wAAAAMSURBVAjXY2BgYAAAAAQAASc0JwoAAAAASUVORK5CYII="; + +// often configured values (and their defaults): +// +@brand-primary: @tuwatred; +@text-color: white; + +@link-color: white; +@link-hover-color: @lighter-grey; + +@navbar-height: 70px; + +@navbar-default-bg: transparent; +@navbar-default-border: transparent; + +@navbar-default-link-color: white; +//@navbar-default-link-hover-color: @link-hover-color; + +body { + background-color: black; + padding: @navbar-height 0 +} + +h1, h2, body.overview .room a.title, body.overview .panel-primary a, .navbar-brand { + font-family: sans-serif; +} + +.relive { + color: black; +} + +.group-live { + margin-top: 60px; +} + +.overview { + h2 { + text-align: center; + background-image: url(@red-dot); + background-repeat: repeat-x; + background-position: 0 50%; + + text-transform: uppercase; + font-weight: bold; + + margin: 40px 0 20px 0; + + span { + background-color: black; + padding: 0 15px; + } + } + + .room { + a, a:hover { + text-decoration: none; + color: white; + } + + .panel { + background: none; + border: none; + + &:hover { + text-decoration: none; + + .panel-body { + border-top: 1px solid white; + border-bottom: 1px solid white; + } + + .panel-body .program-schedule .next-talk { + border-bottom: 1px solid white; + } + } + + .panel-title { + color: white; + font-size: 18px; + } + + .panel-primary { + background-color: @light-grey; + border-color: @light-grey; + color: white; + a { + color: white; + } + } + + .panel-heading { + background: none; + border: none; + + display: block !important; + + text-transform: uppercase; + font-weight: bold; + + padding: 8px 15px; + + a { + color: white; + } + } + + .panel-body { + padding: 0; + border-top: 1px solid @darker-grey; + border-bottom: 1px solid @darker-grey; + + position: relative; + margin-bottom: 100px; + + .program-schedule { + padding: 15px 10px; + overflow: hidden; + font-size: 18px; + + .current-talk strong { + display: none; + } + .next-talk { + display: block; + position: absolute; + + overflow: hidden; + + bottom: -44px; + left: 0; + right: 0; + height: 44px; + margin: 0; + + line-height: 44px; + padding-left: 16px; + + border-bottom: 1px solid @darker-grey; + + font-size: 15px; + } + } + } + } + } + + .room-group-live-music .panel-body { + border-bottom-width: 0 !important; + } + + .recordings { + .panel { + background: none; + border: 1px solid @dark-grey; + border-radius: 0; + + &:hover { + border-color: white; + } + + a { + color: white; + } + } + } +} + +.overview .room-group-live-music .room .panel .panel-body { + margin-bottom: 0; +} + +.navbar-header { + background-color: #000; +} + +.navbar-brand { + font-size: 20px; +} + +.well { + color: @dark-grey; +} + +.banner { + background: url("assets/min/drops.svg") no-repeat center; + height: 320px; + text-indent: -9999em; + display: block; + position: relative; + + h1 { display: none; } + + video, img { + @width: 810px; + @height: 388px; + + display: block; + width: @width/2; + height: @height/2; + margin: 0; + + left: 50%; + margin-left: -@width/2/2; + position: absolute; + bottom: -25px; + + @media (max-width: @screen-xs-max) { + width: @width/3; + height: @height/3; + margin: 0; + + margin-left: -@width/3/2; + } + } +} + +@media (max-width: 480px) { + .banner { + margin-top: 60px; + } +} + +.player-wrap { + background-color: @darker-grey; +} + +.nav-tabs > li > a { + border-color: @dark-grey; +} + +nav .navbar-form { + margin-top: 0; + margin-bottom: 0; + padding: 0; + + @media (max-width: @screen-xs-max) { + padding: 0 40px; + } +} + +.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; +} + +.navbar-brand { + width: 290px; + height: 75px +} + +.functions-wrap { + .beta { + margin-bottom: 30px; + height: 50px; + } + + .notes { + font-size: 16px; + text-align: center; + } +} + +.navbar-default .navbar-form.button-wrapper { + border-bottom: 1px solid @dark-grey; + background-color: #000; +} + +nav .button-wrapper > .btn { + height: 60px; + margin-top: 15px; + margin-bottom: -1px; + + background-color: transparent; + border: none; + border-bottom: 1px solid transparent; + border-radius: 0; + + &:hover { + border-bottom: 1px solid @tuwatred; + } + + &.btn-ssl { + &.btn-warning { + } + width: 90px; + } + + display: block; + float: left; +} + +footer { + position: static; + color: @dark-grey; + + margin-top: 64px; + + + a { + color: @lighter-grey; + + &:hover { + color: @lighter-grey; + text-decoration: underline; + } + } +} + +.nav-tabs > li > a { + border-radius: 0 !important; +} + +body.room .tab-content { + border-left: 1px solid @light-grey; + border-bottom: 1px solid @light-grey; + border-right: 1px solid @light-grey; +} + +@media (max-width: 768px) +{ + nav { + position: static !important; + } +} -- cgit v1.2.3