New endpoints
Available info endpoints: * / * /music/ * /hashtag/ * /music-and-posts/
This commit is contained in:
parent
be69a7b196
commit
e2f6bfb51d
|
@ -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)}
|
|
@ -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>
|
|
@ -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>
|
|
@ -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;
|
||||||
|
|
|
@ -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,
|
|
@ -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>
|
|
@ -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
Loading…
Reference in New Issue