New endpoints

Available info endpoints:

* /
* /music/
* /hashtag/
* /music-and-posts/
This commit is contained in:
Ral 2021-12-27 16:11:53 +01:00
parent be69a7b196
commit e2f6bfb51d
9 changed files with 48 additions and 19 deletions

View File

@ -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}.hashtags{position:absolute;left:60px;bottom:195px;width:900px;height:140px;padding:20px 30px}.hashtags .box{padding-left:10px;background:linear-gradient(110deg,rgba(95,124,125,.6) 0%,rgba(33,106,99,.2) 85%,rgba(77,120,18,0) 100%);border-left:6px solid #98adb0;text-shadow:0 0 6px #000;padding-top:10px;font-family:ibm plex sans;font-weight:300;font-size:25px;white-space:nowrap}.hashtags .box .text{padding-bottom:5px;margin:0}.hashtags .box .text .hashtag,.hashtags .box .text .irc{font-weight:500}.hashtags .box .header{font-weight:600}.schedule{display:none}.bottom-bar{display:none}.music-box{display:none}.hashtags{position:absolute;left:60px;bottom:42px;width:900px;height:100px;padding:5px;background-color:rgba(0,0,0,.3);box-shadow:0 0 8px 8px rgba(0,0,0,.3)}

18
public/hashtag/index.html Normal file
View File

@ -0,0 +1,18 @@
<!doctype html><html lang=en>
<head>
<meta charset=utf-8>
<meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no">
<title>rC3 NOWHERE</title>
<link href=/fork-awesome/css/fork-awesome.min.css rel=stylesheet type=text/css>
<link rel=stylesheet href=https://infobeamer.montage2.de/hashtag.min.f51cff1ba38414d9536af60c407a9355010d66bbc4838dd06742d900708e6b1a.css>
<script src=https://infobeamer.montage2.de/js/config.0f4d0d28e4cf21f765f0b1911e185b73399aa76b4db102fc085df728a4e0c8fe.js integrity="sha256-D00NKOTPIfdl8LGRHhhbczmap2tNsQL8CF33KKTgyP4="></script>
</head>
<body>
<main id=main>
</main>
<script src=https://infobeamer.montage2.de/js/moment/moment.min.73de4254959530e4d1d9bec586379184f96b4953dacf9cd5e5e2bdd7bfeceef7.js integrity="sha256-c95CVJWVMOTR2b7FhjeRhPlrSVPaz5zV5eK917/s7vc="></script>
<script src=https://infobeamer.montage2.de/js/preact/preact.min.0c204e20934f1e09cfe86fbcf1d069d842f988fc71efe3a923021c08892c71c8.js integrity="sha256-DCBOIJNPHgnP6G+88dBp2EL5iPxx7+OpIwIcCIksccg="></script>
<script src=https://infobeamer.montage2.de/js/htm/htm.80e39afe20fd61183412eda89efa10532d57945e6364642aceacd50eb2384b4b.js integrity="sha256-gOOa/iD9YRg0Eu2onvoQUy1XlF5jZGQqzqzVDrI4S0s="></script>
<script src=https://infobeamer.montage2.de/main.ec4847eb1a7e9db3e0ba4d4ccd76aec3fd6761cf9309df4a74f2216e541cbed6.js integrity="sha256-7EhH6xp+nbPguk1MzXauw/1nYc+TCd9KdPIhblQcvtY=" type=module></script>
</body>
</html>

View File

@ -13,6 +13,6 @@
<script src=https://infobeamer.montage2.de/js/moment/moment.min.73de4254959530e4d1d9bec586379184f96b4953dacf9cd5e5e2bdd7bfeceef7.js integrity="sha256-c95CVJWVMOTR2b7FhjeRhPlrSVPaz5zV5eK917/s7vc="></script> <script src=https://infobeamer.montage2.de/js/moment/moment.min.73de4254959530e4d1d9bec586379184f96b4953dacf9cd5e5e2bdd7bfeceef7.js integrity="sha256-c95CVJWVMOTR2b7FhjeRhPlrSVPaz5zV5eK917/s7vc="></script>
<script src=https://infobeamer.montage2.de/js/preact/preact.min.0c204e20934f1e09cfe86fbcf1d069d842f988fc71efe3a923021c08892c71c8.js integrity="sha256-DCBOIJNPHgnP6G+88dBp2EL5iPxx7+OpIwIcCIksccg="></script> <script src=https://infobeamer.montage2.de/js/preact/preact.min.0c204e20934f1e09cfe86fbcf1d069d842f988fc71efe3a923021c08892c71c8.js integrity="sha256-DCBOIJNPHgnP6G+88dBp2EL5iPxx7+OpIwIcCIksccg="></script>
<script src=https://infobeamer.montage2.de/js/htm/htm.80e39afe20fd61183412eda89efa10532d57945e6364642aceacd50eb2384b4b.js integrity="sha256-gOOa/iD9YRg0Eu2onvoQUy1XlF5jZGQqzqzVDrI4S0s="></script> <script src=https://infobeamer.montage2.de/js/htm/htm.80e39afe20fd61183412eda89efa10532d57945e6364642aceacd50eb2384b4b.js integrity="sha256-gOOa/iD9YRg0Eu2onvoQUy1XlF5jZGQqzqzVDrI4S0s="></script>
<script src=https://infobeamer.montage2.de/main.8966886766c73e23bb53a40fa0239b6ddb4f4acb8c9c08d717a644f4a82a2b8f.js integrity="sha256-iWaIZ2bHPiO7U6QPoCObbdtPSsuMnAjXF6ZE9KgqK48=" type=module></script> <script src=https://infobeamer.montage2.de/main.ec4847eb1a7e9db3e0ba4d4ccd76aec3fd6761cf9309df4a74f2216e541cbed6.js integrity="sha256-7EhH6xp+nbPguk1MzXauw/1nYc+TCd9KdPIhblQcvtY=" type=module></script>
</body> </body>
</html> </html>

View File

@ -6,7 +6,7 @@ let fetchURL;
onmessage = function(e) { onmessage = function(e) {
let msgType = e.data.msgType; let msgType = e.data.msgType;
console.log("Configuration Message:"); // console.log("Configuration Message:");
console.log(e.data); console.log(e.data);
fetchType = e.data.fetchType; fetchType = e.data.fetchType;

View File

@ -15,7 +15,6 @@
let recentPosts = posts.filter(maxAge); let recentPosts = posts.filter(maxAge);
let byDate = (fst, snd) => Date.parse(fst.time) - Date.parse(snd.time); let byDate = (fst, snd) => Date.parse(fst.time) - Date.parse(snd.time);
let postsSorted = recentPosts.sort(byDate); let postsSorted = recentPosts.sort(byDate);
console.log("Number distinct social posts in loop: " + postsSorted.length);
if (postsSorted.length > 0) { if (postsSorted.length > 0) {
while (postsSorted.length < postsLimit) { while (postsSorted.length < postsLimit) {
postsSorted = postsSorted.concat(postsSorted); postsSorted = postsSorted.concat(postsSorted);
@ -333,6 +332,9 @@
}; };
var music_changed = (current, time) => time - current.since <= musicAge; var music_changed = (current, time) => time - current.since <= musicAge;
var changed_music_class = (current, time) => music_changed(current, time) ? "changed" : ""; var changed_music_class = (current, time) => music_changed(current, time) ? "changed" : "";
var music_license_dom = (current) => current.license !== void 0 ? html`<span class="license">(${current.license})</span>` : html``;
var music_title_dom = (current) => current.license !== void 0 ? html`<span class="title">«${current.title}»</span>` : html``;
var music_artist_dom = (current) => current.license !== void 0 ? html`<span class="by">by</span><span class="artist">${current.artist}</span>` : html``;
var music_playing_now_dom = (music, time) => { var music_playing_now_dom = (music, time) => {
return html` return html`
<div class="music-box"> <div class="music-box">
@ -345,12 +347,11 @@
</span> </span>
<span class="header">Now playing:</span> <span class="header">Now playing:</span>
</span> </span>
<span class="license">(${current.license})</span> ${music_license_dom(current)}
</div> </div>
<div class="line2"> <div class="line2">
<span class="title">«${current.title}»</span> ${music_title_dom(current)}
<span class="by">by</span> ${music_artist_dom(current)}
<span class="artist">${current.artist}</span>
</div> </div>
</div>`)} </div>`)}
</div>`; </div>`;
@ -437,8 +438,6 @@
}); });
scheduleWorker.onmessage = function(e) { scheduleWorker.onmessage = function(e) {
if (e.data.msgType === scheduleType) { if (e.data.msgType === scheduleType) {
console.log("Data Message at " + Date());
console.log(e.data);
scheduleData = schedule_filter(e.data.json); scheduleData = schedule_filter(e.data.json);
update_screen(); update_screen();
} }
@ -454,8 +453,6 @@
}); });
musicWorker.onmessage = function(e) { musicWorker.onmessage = function(e) {
if (e.data.msgType === musicType) { if (e.data.msgType === musicType) {
console.log("Data Message at " + Date());
console.log(e.data);
let musicDataUpdate = [e.data.json]; let musicDataUpdate = [e.data.json];
musicData = music_update(musicData, musicDataUpdate); musicData = music_update(musicData, musicDataUpdate);
update_screen(); update_screen();
@ -472,8 +469,6 @@
}); });
twitterWorker.onmessage = function(e) { twitterWorker.onmessage = function(e) {
if (e.data.msgType === twitterType) { if (e.data.msgType === twitterType) {
console.log("Data Message at " + Date());
console.log(e.data);
twitterData = [e.data.json]; twitterData = [e.data.json];
twitterData = twitter_filter(twitterData); twitterData = twitter_filter(twitterData);
update_screen(); update_screen();
@ -490,8 +485,6 @@
}); });
mastodonWorker.onmessage = function(e) { mastodonWorker.onmessage = function(e) {
if (e.data.msgType === mastodonType) { if (e.data.msgType === mastodonType) {
console.log("Data Message at " + Date());
console.log(e.data);
mastodonData = [e.data.json]; mastodonData = [e.data.json];
mastodonData = mastodon_filter(mastodonData); mastodonData = mastodon_filter(mastodonData);
update_screen(); update_screen();
@ -503,9 +496,7 @@
var fakeTimeDelta = 0; var fakeTimeDelta = 0;
function update_screen() { function update_screen() {
let realTime = new Date(); let realTime = new Date();
console.log("Updating screen at at: " + realTime);
let now = Date.now() + fakeTimeDelta; let now = Date.now() + fakeTimeDelta;
console.log("Using 'now': " + now);
update_main_slide({ update_main_slide({
schedule: future_events(scheduleData, now), schedule: future_events(scheduleData, now),
music: musicData, music: musicData,

View File

@ -0,0 +1,18 @@
<!doctype html><html lang=en>
<head>
<meta charset=utf-8>
<meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no">
<title>rC3 NOWHERE</title>
<link href=/fork-awesome/css/fork-awesome.min.css rel=stylesheet type=text/css>
<link rel=stylesheet href=https://infobeamer.montage2.de/music_and_posts.min.20d57941e9d02defd0fe76dd43c265dc2cec4620c03d3cdaa9242a6db1710099.css>
<script src=https://infobeamer.montage2.de/js/config.0f4d0d28e4cf21f765f0b1911e185b73399aa76b4db102fc085df728a4e0c8fe.js integrity="sha256-D00NKOTPIfdl8LGRHhhbczmap2tNsQL8CF33KKTgyP4="></script>
</head>
<body>
<main id=main>
</main>
<script src=https://infobeamer.montage2.de/js/moment/moment.min.73de4254959530e4d1d9bec586379184f96b4953dacf9cd5e5e2bdd7bfeceef7.js integrity="sha256-c95CVJWVMOTR2b7FhjeRhPlrSVPaz5zV5eK917/s7vc="></script>
<script src=https://infobeamer.montage2.de/js/preact/preact.min.0c204e20934f1e09cfe86fbcf1d069d842f988fc71efe3a923021c08892c71c8.js integrity="sha256-DCBOIJNPHgnP6G+88dBp2EL5iPxx7+OpIwIcCIksccg="></script>
<script src=https://infobeamer.montage2.de/js/htm/htm.80e39afe20fd61183412eda89efa10532d57945e6364642aceacd50eb2384b4b.js integrity="sha256-gOOa/iD9YRg0Eu2onvoQUy1XlF5jZGQqzqzVDrI4S0s="></script>
<script src=https://infobeamer.montage2.de/main.ec4847eb1a7e9db3e0ba4d4ccd76aec3fd6761cf9309df4a74f2216e541cbed6.js integrity="sha256-7EhH6xp+nbPguk1MzXauw/1nYc+TCd9KdPIhblQcvtY=" type=module></script>
</body>
</html>

View File

@ -4,7 +4,7 @@
<meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"> <meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no">
<title>rC3 NOWHERE</title> <title>rC3 NOWHERE</title>
<link href=/fork-awesome/css/fork-awesome.min.css rel=stylesheet type=text/css> <link href=/fork-awesome/css/fork-awesome.min.css rel=stylesheet type=text/css>
<link rel=stylesheet href=https://infobeamer.montage2.de/main.min.87d29aa288b144e1e3f6a8fdd8a20376fe1a7c32c8860803fb522145e46617d0.css> <link rel=stylesheet href=https://infobeamer.montage2.de/music.min.87d29aa288b144e1e3f6a8fdd8a20376fe1a7c32c8860803fb522145e46617d0.css>
<script src=https://infobeamer.montage2.de/js/config.0f4d0d28e4cf21f765f0b1911e185b73399aa76b4db102fc085df728a4e0c8fe.js integrity="sha256-D00NKOTPIfdl8LGRHhhbczmap2tNsQL8CF33KKTgyP4="></script> <script src=https://infobeamer.montage2.de/js/config.0f4d0d28e4cf21f765f0b1911e185b73399aa76b4db102fc085df728a4e0c8fe.js integrity="sha256-D00NKOTPIfdl8LGRHhhbczmap2tNsQL8CF33KKTgyP4="></script>
</head> </head>
<body> <body>
@ -13,6 +13,6 @@
<script src=https://infobeamer.montage2.de/js/moment/moment.min.73de4254959530e4d1d9bec586379184f96b4953dacf9cd5e5e2bdd7bfeceef7.js integrity="sha256-c95CVJWVMOTR2b7FhjeRhPlrSVPaz5zV5eK917/s7vc="></script> <script src=https://infobeamer.montage2.de/js/moment/moment.min.73de4254959530e4d1d9bec586379184f96b4953dacf9cd5e5e2bdd7bfeceef7.js integrity="sha256-c95CVJWVMOTR2b7FhjeRhPlrSVPaz5zV5eK917/s7vc="></script>
<script src=https://infobeamer.montage2.de/js/preact/preact.min.0c204e20934f1e09cfe86fbcf1d069d842f988fc71efe3a923021c08892c71c8.js integrity="sha256-DCBOIJNPHgnP6G+88dBp2EL5iPxx7+OpIwIcCIksccg="></script> <script src=https://infobeamer.montage2.de/js/preact/preact.min.0c204e20934f1e09cfe86fbcf1d069d842f988fc71efe3a923021c08892c71c8.js integrity="sha256-DCBOIJNPHgnP6G+88dBp2EL5iPxx7+OpIwIcCIksccg="></script>
<script src=https://infobeamer.montage2.de/js/htm/htm.80e39afe20fd61183412eda89efa10532d57945e6364642aceacd50eb2384b4b.js integrity="sha256-gOOa/iD9YRg0Eu2onvoQUy1XlF5jZGQqzqzVDrI4S0s="></script> <script src=https://infobeamer.montage2.de/js/htm/htm.80e39afe20fd61183412eda89efa10532d57945e6364642aceacd50eb2384b4b.js integrity="sha256-gOOa/iD9YRg0Eu2onvoQUy1XlF5jZGQqzqzVDrI4S0s="></script>
<script src=https://infobeamer.montage2.de/main.8966886766c73e23bb53a40fa0239b6ddb4f4acb8c9c08d717a644f4a82a2b8f.js integrity="sha256-iWaIZ2bHPiO7U6QPoCObbdtPSsuMnAjXF6ZE9KgqK48=" type=module></script> <script src=https://infobeamer.montage2.de/main.ec4847eb1a7e9db3e0ba4d4ccd76aec3fd6761cf9309df4a74f2216e541cbed6.js integrity="sha256-7EhH6xp+nbPguk1MzXauw/1nYc+TCd9KdPIhblQcvtY=" type=module></script>
</body> </body>
</html> </html>

File diff suppressed because one or more lines are too long