diff --git a/public/fonts/Changa-Medium.ttf b/public/fonts/Changa-Medium.ttf deleted file mode 100644 index c8ef3b0..0000000 Binary files a/public/fonts/Changa-Medium.ttf and /dev/null differ diff --git a/public/fonts/Changa-Medium.woff b/public/fonts/Changa-Medium.woff deleted file mode 100644 index 5a61aab..0000000 Binary files a/public/fonts/Changa-Medium.woff and /dev/null differ diff --git a/public/fonts/Changa-Medium.woff2 b/public/fonts/Changa-Medium.woff2 deleted file mode 100644 index 036501b..0000000 Binary files a/public/fonts/Changa-Medium.woff2 and /dev/null differ diff --git a/public/fonts/Changa-SemiBold.ttf b/public/fonts/Changa-SemiBold.ttf deleted file mode 100644 index a540f31..0000000 Binary files a/public/fonts/Changa-SemiBold.ttf and /dev/null differ diff --git a/public/fonts/Changa-SemiBold.woff b/public/fonts/Changa-SemiBold.woff deleted file mode 100644 index b4e3ad8..0000000 Binary files a/public/fonts/Changa-SemiBold.woff and /dev/null differ diff --git a/public/fonts/Changa-SemiBold.woff2 b/public/fonts/Changa-SemiBold.woff2 deleted file mode 100644 index db53cd0..0000000 Binary files a/public/fonts/Changa-SemiBold.woff2 and /dev/null differ diff --git a/public/fonts/SpaceMono-Bold.ttf b/public/fonts/SpaceMono-Bold.ttf deleted file mode 100644 index 4acd36a..0000000 Binary files a/public/fonts/SpaceMono-Bold.ttf and /dev/null differ diff --git a/public/fonts/SpaceMono-Bold.woff b/public/fonts/SpaceMono-Bold.woff deleted file mode 100644 index 4131a51..0000000 Binary files a/public/fonts/SpaceMono-Bold.woff and /dev/null differ diff --git a/public/fonts/SpaceMono-Bold.woff2 b/public/fonts/SpaceMono-Bold.woff2 deleted file mode 100644 index f990c70..0000000 Binary files a/public/fonts/SpaceMono-Bold.woff2 and /dev/null differ diff --git a/public/fonts/SpaceMono-BoldItalic.ttf b/public/fonts/SpaceMono-BoldItalic.ttf deleted file mode 100644 index 0702475..0000000 Binary files a/public/fonts/SpaceMono-BoldItalic.ttf and /dev/null differ diff --git a/public/fonts/SpaceMono-BoldItalic.woff b/public/fonts/SpaceMono-BoldItalic.woff deleted file mode 100644 index 4e6e3e0..0000000 Binary files a/public/fonts/SpaceMono-BoldItalic.woff and /dev/null differ diff --git a/public/fonts/SpaceMono-BoldItalic.woff2 b/public/fonts/SpaceMono-BoldItalic.woff2 deleted file mode 100644 index c4c5324..0000000 Binary files a/public/fonts/SpaceMono-BoldItalic.woff2 and /dev/null differ diff --git a/public/fonts/SpaceMono-Regular.ttf b/public/fonts/SpaceMono-Regular.ttf deleted file mode 100644 index 28d7ff7..0000000 Binary files a/public/fonts/SpaceMono-Regular.ttf and /dev/null differ diff --git a/public/fonts/SpaceMono-Regular.woff b/public/fonts/SpaceMono-Regular.woff deleted file mode 100644 index a43347e..0000000 Binary files a/public/fonts/SpaceMono-Regular.woff and /dev/null differ diff --git a/public/fonts/SpaceMono-Regular.woff2 b/public/fonts/SpaceMono-Regular.woff2 deleted file mode 100644 index 82e3a0c..0000000 Binary files a/public/fonts/SpaceMono-Regular.woff2 and /dev/null differ diff --git a/public/fonts/demo.html b/public/fonts/demo.html deleted file mode 100644 index 3496957..0000000 --- a/public/fonts/demo.html +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - - - - Transfonter demo - - - - -
-
-

Changa Medium

-
.your-style {
-    font-family: 'Changa';
-    font-weight: 500;
-    font-style: normal;
-}
-
-<link rel="preload" href="Changa-Medium.woff2" as="font" type="font/woff2" crossorigin>
-
-

- abcdefghijklmnopqrstuvwxyz
-ABCDEFGHIJKLMNOPQRSTUVWXYZ
- 0123456789.:,;()*!?'@#<>$%&^+-=~ -

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-
-
- -
-

Space Mono

-
.your-style {
-    font-family: 'Space Mono';
-    font-weight: normal;
-    font-style: normal;
-}
-
-<link rel="preload" href="SpaceMono-Regular.woff2" as="font" type="font/woff2" crossorigin>
-
-

- abcdefghijklmnopqrstuvwxyz
-ABCDEFGHIJKLMNOPQRSTUVWXYZ
- 0123456789.:,;()*!?'@#<>$%&^+-=~ -

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-
-
- -
-

Space Mono Bold Italic

-
.your-style {
-    font-family: 'Space Mono';
-    font-weight: bold;
-    font-style: italic;
-}
-
-<link rel="preload" href="SpaceMono-BoldItalic.woff2" as="font" type="font/woff2" crossorigin>
-
-

- abcdefghijklmnopqrstuvwxyz
-ABCDEFGHIJKLMNOPQRSTUVWXYZ
- 0123456789.:,;()*!?'@#<>$%&^+-=~ -

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-
-
- -
-

Space Mono Bold

-
.your-style {
-    font-family: 'Space Mono';
-    font-weight: bold;
-    font-style: normal;
-}
-
-<link rel="preload" href="SpaceMono-Bold.woff2" as="font" type="font/woff2" crossorigin>
-
-

- abcdefghijklmnopqrstuvwxyz
-ABCDEFGHIJKLMNOPQRSTUVWXYZ
- 0123456789.:,;()*!?'@#<>$%&^+-=~ -

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-
-
- -
-

Changa SemiBold

-
.your-style {
-    font-family: 'Changa';
-    font-weight: 600;
-    font-style: normal;
-}
-
-<link rel="preload" href="Changa-SemiBold.woff2" as="font" type="font/woff2" crossorigin>
-
-

- abcdefghijklmnopqrstuvwxyz
-ABCDEFGHIJKLMNOPQRSTUVWXYZ
- 0123456789.:,;()*!?'@#<>$%&^+-=~ -

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-

The quick brown fox jumps over the lazy dog.

-
-
- -
- - diff --git a/public/fonts/ibm-plex-mono-v7-latin-ext_latin-700.woff b/public/fonts/ibm-plex-mono-v7-latin-ext_latin-700.woff new file mode 100644 index 0000000..e30d474 Binary files /dev/null and b/public/fonts/ibm-plex-mono-v7-latin-ext_latin-700.woff differ diff --git a/public/fonts/ibm-plex-mono-v7-latin-ext_latin-700.woff2 b/public/fonts/ibm-plex-mono-v7-latin-ext_latin-700.woff2 new file mode 100644 index 0000000..d886b1d Binary files /dev/null and b/public/fonts/ibm-plex-mono-v7-latin-ext_latin-700.woff2 differ diff --git a/public/fonts/ibm-plex-mono-v7-latin-ext_latin-700italic.woff b/public/fonts/ibm-plex-mono-v7-latin-ext_latin-700italic.woff new file mode 100644 index 0000000..04340ec Binary files /dev/null and b/public/fonts/ibm-plex-mono-v7-latin-ext_latin-700italic.woff differ diff --git a/public/fonts/ibm-plex-mono-v7-latin-ext_latin-700italic.woff2 b/public/fonts/ibm-plex-mono-v7-latin-ext_latin-700italic.woff2 new file mode 100644 index 0000000..5439487 Binary files /dev/null and b/public/fonts/ibm-plex-mono-v7-latin-ext_latin-700italic.woff2 differ diff --git a/public/fonts/ibm-plex-mono-v7-latin-ext_latin-italic.woff b/public/fonts/ibm-plex-mono-v7-latin-ext_latin-italic.woff new file mode 100644 index 0000000..db7f671 Binary files /dev/null and b/public/fonts/ibm-plex-mono-v7-latin-ext_latin-italic.woff differ diff --git a/public/fonts/ibm-plex-mono-v7-latin-ext_latin-italic.woff2 b/public/fonts/ibm-plex-mono-v7-latin-ext_latin-italic.woff2 new file mode 100644 index 0000000..f16eb9e Binary files /dev/null and b/public/fonts/ibm-plex-mono-v7-latin-ext_latin-italic.woff2 differ diff --git a/public/fonts/ibm-plex-mono-v7-latin-ext_latin-regular.woff b/public/fonts/ibm-plex-mono-v7-latin-ext_latin-regular.woff new file mode 100644 index 0000000..04629f8 Binary files /dev/null and b/public/fonts/ibm-plex-mono-v7-latin-ext_latin-regular.woff differ diff --git a/public/fonts/ibm-plex-mono-v7-latin-ext_latin-regular.woff2 b/public/fonts/ibm-plex-mono-v7-latin-ext_latin-regular.woff2 new file mode 100644 index 0000000..041a463 Binary files /dev/null and b/public/fonts/ibm-plex-mono-v7-latin-ext_latin-regular.woff2 differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-100.woff b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-100.woff new file mode 100644 index 0000000..29af4b8 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-100.woff differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-100.woff2 b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-100.woff2 new file mode 100644 index 0000000..e81940d Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-100.woff2 differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-100italic.woff b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-100italic.woff new file mode 100644 index 0000000..fda4740 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-100italic.woff differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-100italic.woff2 b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-100italic.woff2 new file mode 100644 index 0000000..1702d54 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-100italic.woff2 differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-200.woff b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-200.woff new file mode 100644 index 0000000..0cc8f50 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-200.woff differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-200.woff2 b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-200.woff2 new file mode 100644 index 0000000..ba8b968 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-200.woff2 differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-200italic.woff b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-200italic.woff new file mode 100644 index 0000000..483f2be Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-200italic.woff differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-200italic.woff2 b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-200italic.woff2 new file mode 100644 index 0000000..5a36100 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-200italic.woff2 differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-300.woff b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-300.woff new file mode 100644 index 0000000..3335d62 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-300.woff differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-300.woff2 b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-300.woff2 new file mode 100644 index 0000000..febf738 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-300.woff2 differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-300italic.woff b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-300italic.woff new file mode 100644 index 0000000..0831912 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-300italic.woff differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-300italic.woff2 b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-300italic.woff2 new file mode 100644 index 0000000..28a5cd0 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-300italic.woff2 differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-500.woff b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-500.woff new file mode 100644 index 0000000..0791233 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-500.woff differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-500.woff2 b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-500.woff2 new file mode 100644 index 0000000..1ebc14b Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-500.woff2 differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-500italic.woff b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-500italic.woff new file mode 100644 index 0000000..6c49842 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-500italic.woff differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-500italic.woff2 b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-500italic.woff2 new file mode 100644 index 0000000..2832576 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-500italic.woff2 differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-600.woff b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-600.woff new file mode 100644 index 0000000..8dec645 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-600.woff differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-600.woff2 b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-600.woff2 new file mode 100644 index 0000000..0551c53 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-600.woff2 differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-600italic.woff b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-600italic.woff new file mode 100644 index 0000000..09fdf5c Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-600italic.woff differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-600italic.woff2 b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-600italic.woff2 new file mode 100644 index 0000000..d3ac3f0 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-600italic.woff2 differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-700.woff b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-700.woff new file mode 100644 index 0000000..aed2ad6 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-700.woff differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-700.woff2 b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-700.woff2 new file mode 100644 index 0000000..1936b62 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-700.woff2 differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-700italic.woff b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-700italic.woff new file mode 100644 index 0000000..9597139 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-700italic.woff differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-700italic.woff2 b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-700italic.woff2 new file mode 100644 index 0000000..6a047d4 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-700italic.woff2 differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-italic.woff b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-italic.woff new file mode 100644 index 0000000..f22f430 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-italic.woff differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-italic.woff2 b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-italic.woff2 new file mode 100644 index 0000000..8d70474 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-italic.woff2 differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-regular.woff b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-regular.woff new file mode 100644 index 0000000..ab1a037 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-regular.woff differ diff --git a/public/fonts/ibm-plex-sans-v9-latin-ext_latin-regular.woff2 b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-regular.woff2 new file mode 100644 index 0000000..90660d0 Binary files /dev/null and b/public/fonts/ibm-plex-sans-v9-latin-ext_latin-regular.woff2 differ diff --git a/public/fonts/stylesheet.css b/public/fonts/stylesheet.css deleted file mode 100644 index 552154e..0000000 --- a/public/fonts/stylesheet.css +++ /dev/null @@ -1,45 +0,0 @@ -@font-face { - font-family: 'Changa'; - src: url('Changa-Medium.woff2') format('woff2'), - url('Changa-Medium.woff') format('woff'); - font-weight: 500; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'Space Mono'; - src: url('SpaceMono-Regular.woff2') format('woff2'), - url('SpaceMono-Regular.woff') format('woff'); - font-weight: normal; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'Space Mono'; - src: url('SpaceMono-BoldItalic.woff2') format('woff2'), - url('SpaceMono-BoldItalic.woff') format('woff'); - font-weight: bold; - font-style: italic; - font-display: swap; -} - -@font-face { - font-family: 'Space Mono'; - src: url('SpaceMono-Bold.woff2') format('woff2'), - url('SpaceMono-Bold.woff') format('woff'); - font-weight: bold; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'Changa'; - src: url('Changa-SemiBold.woff2') format('woff2'), - url('Changa-SemiBold.woff') format('woff'); - font-weight: 600; - font-style: normal; - font-display: swap; -} - diff --git a/public/index.css b/public/index.css deleted file mode 100644 index e0452e7..0000000 --- a/public/index.css +++ /dev/null @@ -1,163 +0,0 @@ -/* - * This is free and unencumbered software released into the public domain. - * - * Anyone is free to copy, modify, publish, use, compile, sell, or - * distribute this software, either in source code form or as a compiled - * binary, for any purpose, commercial or non-commercial, and by any - * means. - * - * In jurisdictions that recognize copyright laws, the author or authors - * of this software dedicate any and all copyright interest in the - * software to the public domain. We make this dedication for the benefit - * of the public at large and to the detriment of our heirs and - * successors. We intend this dedication to be an overt act of - * relinquishment in perpetuity of all present and future rights to this - * software under copyright law. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * For more information, please refer to - */ - - -* { box-sizing: border-box; } - -body { - background: #000; - color: #FFF; - font-family: 'Orbitron'; - text-shadow: 3px 3px #000; -} - -/* === FAHRPLAN === */ -#schedule { - position: fixed; - left: 5%; - right: 5%; - top: 10%; - bottom: 10%; - - font-family: 'Orbitron'; - font-size: 34px; -} - -#schedule .header { - margin-bottom: 40px; -} - -#schedule .list .item { - margin-bottom: 10px; - border-left: 5px solid #7b7b7b; - padding-left: 10px; -} - -#schedule .list .item .title { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -#schedule .list .item .sub { - color: #cbcbcb; - font-size: 26px; - - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -#schedule-here-container, #schedule-main-container, #schedule-other-container { - background-color: rgba(10, 10, 10, 0.5); - padding: 20px; -} - -#schedule-here-container { - position: absolute; - right: 52%; - left: 0; -} - -#schedule-main-container { - position: absolute; - right: 52%; - left: 0; - top: 50%; -} - -#schedule-other-container { - position: absolute; - left: 52%; - right: 0; -} - -#schedule-here-container .header { - color: #b145fb; -} -#schedule-main-container .header { - color: #6820e4; -} -#schedule-other-container .header { - color: #45b5e3; -} - - -/* === TICKER === */ -#bottom-bar { - position: fixed; - bottom: 0; - margin-bottom: 20px; - font-size: 14px; - - width: 100%; - overflow: hidden; -} - -#ticker-wrap { - width: 100%; - padding-left: 100%; /* Push contents to right side of screen */ -} - -@keyframes ticker { - 0% { transform: translate3d(-20%, 0, 0); } - 100% { transform: translate3d(-100%, 0, 0); } -} - -#ticker { - /* Basically move items from right side of screen to left in infinite loop */ - display: inline-block; - white-space: nowrap; - padding-right: 100%; - animation-iteration-count: infinite; - animation-timing-function: linear; - animation-name: ticker; - animation-duration: 120s; -} - -#ticker > .item{ - display: inline-block; /* Lay items in a horizontal line */ - padding: 10px 36px; - - font-size: 30px; -} - -#ticker > .item > img { - height: 32px; - vertical-align: middle; -} - -#ticker > .item > span.user { - color: #fff; - margin: 0 20px; - vertical-align: middle; -} - -#ticker > .item > span.content { - color: #fff; - vertical-align: middle; -} diff --git a/public/index.html b/public/index.html index 686afe7..1b52768 100644 --- a/public/index.html +++ b/public/index.html @@ -1,72 +1,16 @@ - - - - - - - - - - rC3 Stream Overlay - - -
-
-
-
- Next up here: -
-
-
-
-
-
- Next up on Main: -
-
-
-
-
-
- Next up on other channels: -
-
-
-
-
-
-
-
-
-
-
-
- - - - + + + + +rC3 NOWHERE + + + + +
+
+ + + + + \ No newline at end of file diff --git a/public/index.js b/public/index.js deleted file mode 100644 index 2146b59..0000000 --- a/public/index.js +++ /dev/null @@ -1,203 +0,0 @@ -/* - * This is free and unencumbered software released into the public domain. - * - * Anyone is free to copy, modify, publish, use, compile, sell, or - * distribute this software, either in source code form or as a compiled - * binary, for any purpose, commercial or non-commercial, and by any - * means. - * - * In jurisdictions that recognize copyright laws, the author or authors - * of this software dedicate any and all copyright interest in the - * software to the public domain. We make this dedication for the benefit - * of the public at large and to the detriment of our heirs and - * successors. We intend this dedication to be an overt act of - * relinquishment in perpetuity of all present and future rights to this - * software under copyright law. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * For more information, please refer to - */ - - -var channel_here = "407d1fb0-068d-4605-99e8-435fe599bd10"; -var channel_main_1 = "rC1"; -var channel_main_2 = "rC2"; - -// Not included in Frab XML -slug_map = { - bitwaescherei: "feb91cb1-eb66-43f1-a86f-f8d43909fbe0", - c3lounge: "ffa2f0d2-ca0b-41b6-a5cc-78ffc3fe15ff", - chaoszone: "084fed6f-8da2-4870-b8c2-7a2b1dce88bd", - csh: "ebc42052-10f7-4aef-bbe9-cfe9026880cc", - cwtv: "48f5bce3-5b46-44d8-9f36-90bed9bd4be0", - hacc: "60dd7f55-9f88-4de6-ad98-b9c4e2810300", - r3s: "c4a577e2-52e7-4f6f-a5c0-e3822d64f84a", - sendezentrum: "feb91cb1-eb66-43f1-a86f-f8d43909fbe0", -} - -var fahrplan = {}; -var tweets = {}; - -/* === EXTERNAL DATA === */ -function update_tweets() { - var request = new XMLHttpRequest(); - request.open('GET', 'tweets-rc3.json', true); - request.onload = function() { - if (this.status >= 200 && this.status < 400) { - tweets = JSON.parse(this.response); - update_tweet_ticker(); - } else { console.log(this); } - }; - request.onerror = function(e) { console.log(e); }; - request.send(); -} - -function update_fahrplan() { - var request = new XMLHttpRequest(); - request.open('GET', 'fahrplan.json', true); - request.onload = function() { - if (this.status >= 200 && this.status < 400) { - fahrplan = JSON.parse(this.response); - update_fahrplan_html(); - } else { console.log(this); } - }; - request.onerror = function(e) { console.log(e); }; - request.send(); -} - -/* === FAHRPLAN === */ -var n_here = 3; -var n_main = 3; -var n_other = 8; - -function parse_schedule() { - var fahrplan_parsed = { - "here": [], - "main": [], - "other": [], - } - - for (var i in fahrplan) { - if (fahrplan_parsed.here.length < n_here - && (fahrplan[i].roomguid == channel_here || fahrplan[i].room == channel_here)) { - fahrplan_parsed.here.push({ - title: fahrplan[i].title, - sub: fahrplan[i].start + " D" + fahrplan[i].day + ", " + fahrplan[i].personnames, - }); - } else if (fahrplan_parsed.main.length < n_main - && (fahrplan[i].roomguid == channel_main_1 || fahrplan[i].room == channel_main_1 - || fahrplan[i].roomguid == channel_main_2 || fahrplan[i].room == channel_main_2)) { - fahrplan_parsed.main.push({ - title: fahrplan[i].title, - sub: fahrplan[i].start + " D" + fahrplan[i].day + " @ " + fahrplan[i].room + ", " + fahrplan[i].personnames, - }); - } else if (fahrplan_parsed.other.length < n_other - && fahrplan[i].roomguid != channel_here && fahrplan[i].room != channel_here - && fahrplan[i].roomguid != channel_main_1 && fahrplan[i].room != channel_main_1 - && fahrplan[i].roomguid != channel_main_2 && fahrplan[i].room != channel_main_2) { - fahrplan_parsed.other.push({ - title: fahrplan[i].title, - sub: fahrplan[i].start + " D" + fahrplan[i].day + " @ " + fahrplan[i].room, - }); - } - } - - return fahrplan_parsed; -} - -function update_fahrplan_html() { - fahrplan_parsed = parse_schedule(); - var els = { - here: document.getElementById("schedule-here"), - main: document.getElementById("schedule-main"), - other: document.getElementById("schedule-other"), - } - - els.here.innerHTML = ""; - els.main.innerHTML = ""; - els.other.innerHTML = ""; - - for (var group in els) { - for (var i in fahrplan_parsed[group]) { - var el = document.createElement("div"); - el.className = "item"; - - var title = document.createElement("div"); - title.className = "title"; - title.innerText = fahrplan_parsed[group][i].title; - el.appendChild(title); - - var sub = document.createElement("div"); - sub.className = "sub"; - sub.innerText = fahrplan_parsed[group][i].sub; - el.appendChild(sub); - - els[group].appendChild(el); - } - } -} - - -/* === TWEETS === */ -function update_tweet_ticker() { - var ticker = document.getElementById("ticker"); - ticker.innerHTML = ""; - for (var i in tweets.data) { - //console.log(tweets.data[i].text); - var item = document.createElement("div"); - item.className = "item"; - - // Look up user - var user; - for (var useri in tweets.includes.users) { - if (tweets.includes.users[useri].id == tweets.data[i].author_id) - user = tweets.includes.users[useri]; - } - - var img = document.createElement("img"); - img.src = user.profile_image_url; - item.appendChild(img); - - var user_el = document.createElement("span"); - user_el.className = "user"; - var uname = user.username; - user_el.innerText = "@" + uname + ":"; - item.appendChild(user_el); - - var content = document.createElement("span"); - content.className = "content"; - var text = tweets.data[i].text; - text = text.replace(/\n/g, "↲"); - content.innerText = text; - item.appendChild(content); - - ticker.appendChild(item); - } -} - -(function() { - var query = location.search.substr(1); - var result = {}; - query.split("&").forEach(function(part) { - var item = part.split("="); - result[item[0]] = decodeURIComponent(item[1]); - }); - - if (result.room !== undefined) - channel_here = result.room; - - if (slug_map[channel_here] !== undefined) - channel_here = slug_map[channel_here]; - - update_fahrplan(); - update_tweets(); - setInterval(update_fahrplan,60000); - setInterval(update_tweets, 60000); -})(); diff --git a/public/js/config.a954e77ac7f60b43bb37f71a04934bbf522575b4b8bbc6e214d7b0371e2c81a4.js b/public/js/config.a954e77ac7f60b43bb37f71a04934bbf522575b4b8bbc6e214d7b0371e2c81a4.js new file mode 100644 index 0000000..55d69d1 --- /dev/null +++ b/public/js/config.a954e77ac7f60b43bb37f71a04934bbf522575b4b8bbc6e214d7b0371e2c81a4.js @@ -0,0 +1,13 @@ +(() => { + // + window.infoBeamerConfig = /* @__PURE__ */ new Map(); + window.infoBeamerConfig.set("workerBaseURL", "/"); + window.infoBeamerConfig.set("scheduleURL", "/fahrplan.json"); + window.infoBeamerConfig.set("scheduleFetchInterval", 10); + window.infoBeamerConfig.set("twitterURL", "/tweets-rc3.json"); + window.infoBeamerConfig.set("twitterFetchInterval", 60); + window.infoBeamerConfig.set("musicURL", "/music.json"); + window.infoBeamerConfig.set("musicFetchInterval", 60); + console.log("Info Beamer Configuration: "); + console.log(window.infoBeamerConfig); +})(); diff --git a/public/js/generic_fetch_worker.js b/public/js/generic_fetch_worker.js new file mode 100644 index 0000000..8ef2d1d --- /dev/null +++ b/public/js/generic_fetch_worker.js @@ -0,0 +1,38 @@ +let fetchType; +let fetchInterval; +let fetchURL; + + +onmessage = function(e) { + let msgType = e.data.msgType; + + fetchType = e.data.fetchType; + fetchURL = e.data.fetchURL; + fetchInterval = 1000 * e.data.fetchInterval; + + console.log("Configiuration Message:"); + console.log(' Fetch type: ' + fetchType); + console.log(' Using fetch url: ' + fetchURL); + console.log(' Fetching data each [ms]: ' + fetchInterval); +}; + + +function doFetch() { + let now = new Date(); + + if (fetchURL) { + fetch(fetchURL).then( + b => b.json()).then( + j => postMessage({msgType: fetchType, + json: j, + timestamp: now})) + .catch(e => console.log(e.message)); + } +} + + +// Periodic resource fetching +(function periodicFetch() { + doFetch(); + setTimeout(periodicFetch, fetchInterval); +})(); diff --git a/public/js/htm/htm.80e39afe20fd61183412eda89efa10532d57945e6364642aceacd50eb2384b4b.js b/public/js/htm/htm.80e39afe20fd61183412eda89efa10532d57945e6364642aceacd50eb2384b4b.js new file mode 100644 index 0000000..7c81f4b --- /dev/null +++ b/public/js/htm/htm.80e39afe20fd61183412eda89efa10532d57945e6364642aceacd50eb2384b4b.js @@ -0,0 +1 @@ +!function(){var n=function(t,e,s,u){var r;e[0]=0;for(var h=1;h=5&&((u||!n&&5===s)&&(h.push(s,0,u,e),s=6),n&&(h.push(s,n,0,e),s=6)),u=""},a=0;a"===t?(s=1,u=""):u=t+u[0]:r?t===r?r="":u+=t:'"'===t||"'"===t?r=t:">"===t?(p(),s=1):s&&("="===t?(s=5,e=u,u=""):"/"===t&&(s<5||">"===n[a][o+1])?(p(),3===s&&(h=h[0]),s=h,(h=h[0]).push(2,0,s),s=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(p(),s=2):u+=t),3===s&&"!--"===u&&(s=4,h=h[0])}return p(),h}(e)),s),arguments,[])).length>1?s:s[0]};"undefined"!=typeof module?module.exports=e:self.htm=e}(); diff --git a/public/js/preact/preact.min.0c204e20934f1e09cfe86fbcf1d069d842f988fc71efe3a923021c08892c71c8.js b/public/js/preact/preact.min.0c204e20934f1e09cfe86fbcf1d069d842f988fc71efe3a923021c08892c71c8.js new file mode 100644 index 0000000..9b0c8dd --- /dev/null +++ b/public/js/preact/preact.min.0c204e20934f1e09cfe86fbcf1d069d842f988fc71efe3a923021c08892c71c8.js @@ -0,0 +1,2 @@ +!function(){var n,l,u,t,i,o,r,f,e,c={},a=[],s=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function h(n,l){for(var u in l)n[u]=l[u];return n}function v(n){var l=n.parentNode;l&&l.removeChild(n)}function y(l,u,t){var i,o,r,f={};for(r in u)"key"==r?i=u[r]:"ref"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),"function"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return d(l,f,i,o,null)}function d(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u:r};return null!=l.vnode&&l.vnode(f),f}function p(n){return n.children}function _(n,l){this.props=n,this.context=l}function m(n,l){if(null==l)return n.__?m(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l0?d(_.type,_.props,_.key,null,_.__v):_)){if(_.__=u,_.__b=u.__b+1,null===(y=w[h])||y&&_.key==y.key&&_.type===y.type)w[h]=void 0;else for(v=0;v2&&(f.children=arguments.length>3?n.call(arguments,2):t),d(l.type,f,i||l.key,o||l.ref,null)},createContext:function(n,l){var u={__c:l="__cC"+f++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(b)},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u},toChildArray:function n(l,u){return u=u||[],null==l||"boolean"==typeof l||(Array.isArray(l)?l.some(function(l){n(l,u)}):u.push(l)),u},options:l},typeof module<"u"?module.exports=e:self.preact=e}(); +//# sourceMappingURL=preact.min.js.map diff --git a/public/js/schedule_worker.js b/public/js/schedule_worker.js new file mode 100644 index 0000000..bc8cf13 --- /dev/null +++ b/public/js/schedule_worker.js @@ -0,0 +1,45 @@ +let scheduleFetchInterval; +let scheduleURL; + + +onmessage = function(e) { + let msgType = e.data.msgType; + + if (msgType === "ScheduleFetchConfig") { + scheduleURL = e.data.scheduleURL; + scheduleFetchInterval = 1000 * e.data.scheduleFetchInterval; + + console.log("Message: " + msgType); + console.log('Using schedule url: ' + scheduleURL); + console.log('Fetching data each [ms]: ' + scheduleFetchInterval); + } +}; + + +function scheduleFetch() { + let now = new Date(); + + if (scheduleURL) { + fetch(scheduleURL).then( + b => b.json()).then( + j => postMessage({msgType: "ScheduleUpdate", + schedule: j, + timestamp: now})) + .catch(e => console.log(e.message)); + } + // TODO: Hook up schedule processing functions +} + + + + + +// TODO: Fix run once and then periodic +scheduleFetch(); + +(function periodicScheduleFetch() { + setTimeout(function() { + scheduleFetch(); + periodicScheduleFetch(); + }, scheduleFetchInterval); +})(); diff --git a/public/main.a55a1f2e9cf4680a90c5ba10a56774cc3eb771e1ac4d87608327474e6bc0b664.js b/public/main.a55a1f2e9cf4680a90c5ba10a56774cc3eb771e1ac4d87608327474e6bc0b664.js new file mode 100644 index 0000000..d84fd69 --- /dev/null +++ b/public/main.a55a1f2e9cf4680a90c5ba10a56774cc3eb771e1ac4d87608327474e6bc0b664.js @@ -0,0 +1,189 @@ +"use strict"; +(() => { + // ns-hugo:/home/raoul-web/rc3_2021/html-infobeamer-content/assets/js/dom.js + var html = htm.bind(preact.h); + var schedule_meta_here_dom = (schedule) => { + let inner = html`${schedule.map((talk) => html` +
+
${talk.personnames}:
+
${talk.title}
+
+ Starting at ${talk.start} + Duration: ${talk.duration} minutes +
+
+ `)}`; + return inner; + }; + var schedule_abstract_here_dom = (schedule) => { + let inner = html``; + let placeHolder = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec ut urna. Curabitur lorem risus, sagittis vitae, accumsan a, iaculis id, metus. Suspendisse potenti. Fusce nonummy commodo dui. Fusce venenatis ligula in pede. Aliquam velit dui, commodo quis, porttitor eget, convallis et, nisi. Nam sed nisl nec elit suscipit ullamcorper. Cras ac enim vel dui vestibulum suscipit. Suspendisse venenatis. Nam pharetra. Pellentesque et arcu. Nam sed nisl nec elit suscipit ullamcorper. Aenean turpis ipsum, rhoncus vitae, posuere vitae, euismod sed, ligula. Integer risus velit, facilisis eget, viverra et, venenatis id, leo. Aenean ligula. Mauris sed nulla quis nisi interdum tempor. Nullam libero nunc, tristique eget, laoreet eu, sagittis id, ante. Aliquam sed erat. Vestibulum viverra varius enim. Donec at diam a tellus dignissim vestibulum. Nullam sapien mauris, venenatis at, fermentum at, tempus eu, urna."; + schedule.forEach((talk) => { + let abstract = talk.abstract !== void 0 ? talk.abstract : placeHolder; + inner = html`${abstract}`; + }); + return inner; + }; + var schedule_all_list_dom = (schedule) => { + let inner = html` + ${schedule.map((talk) => html` +
+
+
${talk.title}
+
+
+ ${talk.start} + Day ${talk.day} + ${talk.room} +
+
`)}`; + return inner; + }; + var update_schedule_dom = (schedule) => { + const here_roomguid = ""; + const here_room = "Chaos-West TV"; + const here_number_events = 1; + const all_number_events = 10; + let allData = schedule.slice(0, all_number_events); + let hereData = schedule.filter((i) => i.room === here_room).slice(0, 1); + let nextHereMetaDom = schedule_meta_here_dom(hereData); + let nextHereAbstractDom = schedule_abstract_here_dom(hereData); + let nextAllMetaDom = schedule_all_list_dom(allData); + let inner = html` +
+
+
+
+
Next Up Here
+
${nextHereMetaDom}
+
+
+
Abstract
+
${nextHereAbstractDom}
+
+
+
+
+
Next Up at rC3
+
${nextAllMetaDom}
+
+
+
+
`; + return inner; + }; + var music_playing_now_dom = (music) => { + let inner = html` +
+ ${music.map((current) => html` +
+ Now playing: + (${current.license}) +
+
+ ${current.artist} + + ${current.title} +
`)} +
`; + return inner; + }; + function update_main_slide(data) { + let schedule = data.schedule; + let music = data.music; + let twitter = data.twitter; + let scheduleDom = update_schedule_dom(schedule); + let musicDom = music_playing_now_dom(music); + let twitterDom = void 0; + let inner = html` +${scheduleDom} +${musicDom} +${twitterDom} +`; + const anchorElId = "main"; + const el = document.getElementById(anchorElId); + preact.render(inner, el); + } + + // + var scheduleData = JSON.constructor([]); + var musicData = JSON.constructor([]); + var twitterData = JSON.constructor([]); + if (window.Worker) { + const workerBaseURL = window.infoBeamerConfig.get("workerBaseURL"); + const scheduleWorkerCode = workerBaseURL + "js/schedule_worker.js"; + console.log("Loading schedule worker JS from: " + scheduleWorkerCode); + const scheduleWorker = new Worker(scheduleWorkerCode); + const scheduleURL = window.infoBeamerConfig.get("scheduleURL"); + const scheduleFetchInterval = window.infoBeamerConfig.get("scheduleFetchInterval"); + scheduleWorker.postMessage({ + msgType: "ScheduleFetchConfig", + scheduleURL, + scheduleFetchInterval + }); + scheduleWorker.onmessage = function(e) { + let msgType = e.data.msgType; + if (msgType === "ScheduleUpdate") { + scheduleData = e.data.schedule; + let time = e.data.timestamp; + console.log("Message: " + msgType + " at " + time); + console.log(scheduleData); + update_screen(); + } + }; + const musicWorkerCode = workerBaseURL + "js/generic_fetch_worker.js"; + console.log("Loading worker JS from: " + musicWorkerCode); + const musicWorker = new Worker(musicWorkerCode); + const musicType = "Music"; + const musicURL = window.infoBeamerConfig.get("musicURL"); + const musicFetchInterval = window.infoBeamerConfig.get("musicFetchInterval"); + musicWorker.postMessage({ + fetchType: musicType, + fetchURL: musicURL, + fetchInterval: musicFetchInterval + }); + musicWorker.onmessage = function(e) { + let msgType = e.data.msgType; + if (msgType === musicType) { + musicData = JSON.constructor([e.data.json.current]); + let time = e.data.timestamp; + console.log("Message: " + msgType + " at " + time); + console.log(musicData); + update_screen(); + } + }; + const twitterWorkerCode = workerBaseURL + "js/generic_fetch_worker.js"; + console.log("Loading worker JS from: " + twitterWorkerCode); + const twitterWorker = new Worker(twitterWorkerCode); + const twitterType = "Twitter"; + const twitterURL = window.infoBeamerConfig.get("twitterURL"); + const twitterFetchInterval = window.infoBeamerConfig.get("twitterFetchInterval"); + twitterWorker.postMessage({ + fetchType: twitterType, + fetchURL: twitterURL, + fetchInterval: twitterFetchInterval + }); + twitterWorker.onmessage = function(e) { + let msgType = e.data.msgType; + if (msgType === twitterType) { + twitterData = e.data.json; + let time = e.data.timestamp; + console.log("Message: " + msgType + " at " + time); + console.log(twitterData); + update_screen(); + } + }; + } else { + console.log("Your browser doesn't support web workers."); + } + function update_screen() { + let time = new Date(); + console.log("Updating screen at at: " + time); + update_main_slide({ schedule: scheduleData, music: musicData, twitter: twitterData }); + } + function main_loop() { + update_screen(); + setTimeout(main_loop, 10 * 1e3); + } + main_loop(); +})(); diff --git a/public/main.min.98d83e9b389cfb42e02b6dc50f4985bde2bd17d3359d391d6154c0a69918bfc0.css b/public/main.min.98d83e9b389cfb42e02b6dc50f4985bde2bd17d3359d391d6154c0a69918bfc0.css new file mode 100644 index 0000000..4042b8a --- /dev/null +++ b/public/main.min.98d83e9b389cfb42e02b6dc50f4985bde2bd17d3359d391d6154c0a69918bfc0.css @@ -0,0 +1 @@ +@font-face{font-family:ibm plex mono;font-style:normal;font-weight:400;src:url(./fonts/ibm-plex-mono-v7-latin-ext_latin-regular.woff2)format("woff2"),url(./fonts/ibm-plex-mono-v7-latin-ext_latin-regular.woff)format("woff")}@font-face{font-family:ibm plex mono;font-style:italic;font-weight:400;src:url(./fonts/ibm-plex-mono-v7-latin-ext_latin-italic.woff2)format("woff2"),url(./fonts/ibm-plex-mono-v7-latin-ext_latin-italic.woff)format("woff")}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:700;src:url(./fonts/ibm-plex-mono-v7-latin-ext_latin-700.woff2)format("woff2"),url(./fonts/ibm-plex-mono-v7-latin-ext_latin-700.woff)format("woff")}@font-face{font-family:ibm plex mono;font-style:italic;font-weight:700;src:url(./fonts/ibm-plex-mono-v7-latin-ext_latin-700italic.woff2)format("woff2"),url(./fonts/ibm-plex-mono-v7-latin-ext_latin-700italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:100;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-100.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-100.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:100;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-100italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-100italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:200;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-200.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-200.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:200;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-200italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-200italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:300;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-300.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-300.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:300;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-300italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-300italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:400;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-regular.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-regular.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:400;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:500;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-500.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-500.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:500;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-500italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-500italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:600;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-600.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-600.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:600;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-600italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-600italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:700;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-700.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-700.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:700;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-700italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-700italic.woff)format("woff")}*{box-sizing:border-box}body{color:#fff;background:#646464}#main{position:absolute;top:0;left:0}.slide{width:1920px;height:1080px;overflow:hidden}.music{position:absolute;bottom:140px;left:60px;margin-left:30px;padding-left:10px;padding-top:5px;padding-bottom:5px;width:600px;font-family:ibm plex sans;font-weight:300;font-size:25px;color:#eee;text-shadow:0 0 6px #000;background:linear-gradient(110deg,rgba(26,115,150,.6) 0%,rgba(26,115,150,.2) 85%,rgba(26,115,150,0) 100%);white-space:nowrap;border-left:6px solid #309aca}.music .line1{display:flex;justify-content:space-between}.music .line2{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.music .header{font-weight:600;font-style:italic;white-space:normal}.music .artist{margin-right:20px}.music .title{margin-left:20px}.music .license{font-size:20px;color:#ccc}#bottom-bar{position:fixed;bottom:0;margin-bottom:20px;font-size:14px;width:100%;overflow:hidden}#ticker-wrap{width:100%;padding-left:100%}@keyframes ticker{0%{transform:translate3d(-20%,0,0)}100%{transform:translate3d(-100%,0,0)}}#ticker{display:inline-block;white-space:nowrap;padding-right:100%;animation-iteration-count:infinite;animation-timing-function:linear;animation-name:ticker;animation-duration:120s}#ticker>.item{display:inline-block;padding:10px 36px;font-family:ibm plex sans;font-size:30px}#ticker>.item>img{height:32px;vertical-align:middle}#ticker>.item>span.user{color:#fff;margin:0 20px;vertical-align:middle}#ticker>.item>span.content{color:#fff;vertical-align:middle}.schedule .left{position:absolute;top:30px;left:60px;width:850px;height:980px}.schedule .right{position:absolute;top:30px;right:60px;width:800px;height:980px}.schedule .panel{background-color:rgba(0,0,0,.6);box-shadow:2px 2px 4px 2px rgba(0,0,0,.6);padding:20px 30px}.schedule .header{width:100%;max-height:100px;margin-bottom:10px;color:#309aca;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ibm plex mono;font-weight:700;font-size:45px;text-shadow:1px 1px 1px #000,2px 2px 8px rgba(0,0,0,.8)}.schedule .content{font-family:ibm plex sans;font-weight:400;font-size:25px;text-shadow:1px 1px 6px #000;color:#eee}.panel.meta{height:300px;width:85%;margin-bottom:30px}.meta .header{margin-bottom:20px}.meta .content{background:linear-gradient(110deg,rgba(77,120,18,.6) 0%,rgba(77,120,18,.2) 85%,rgba(77,120,18,0) 100%);border-left:6px solid #6fad1a;padding-left:20px;padding-top:10px;padding-bottom:15px}.meta .speaker{margin-bottom:10px;font-style:italic;font-size:30px;font-weight:500}.meta .title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:20px;padding-left:20px;overflow:hidden;text-overflow:ellipsis;white-space:normal;font-size:45px;font-weight:600}.meta .start-duration{display:flex;justify-content:space-between;font-size:25px;font-weight:400}.meta .start-duration .duration{font-style:italic}.abstract .header{margin-bottom:20px}.abstract .content{background:linear-gradient(110deg,rgba(77,120,18,.6) 0%,rgba(77,120,18,.2) 85%,rgba(77,120,18,0) 100%);border-left:6px solid #6fad1a;border-bottom:4px solid #6fad1a;padding-left:10px;padding-top:5px;padding-bottom:8px}.abstract .text{display:-webkit-box;-webkit-line-clamp:10;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-word;line-break:anywhere}.list .header{margin-bottom:20px}.list .item{margin-bottom:10px;padding:2px 10px;background:linear-gradient(110deg,rgba(77,120,18,.6) 0%,rgba(77,120,18,.2) 85%,rgba(77,120,18,0) 100%);white-space:nowrap;border-left:6px solid #6fad1a}.item .title{color:#fff;font-size:30px;overflow:hidden;text-overflow:ellipsis}.item .details{font-size:25px;color:#eee}.item .day{position:absolute;left:150px}.item .stage{float:right;text-align:right;font-style:italic}.item .stage:before{padding-right:5px;content:"@"} \ No newline at end of file