Compare commits
	
		
			No commits in common. "b51d91b578c8a59b7c7243c804519e029bc44f58" and "a24cc35721710fcd759f90ba25cda6eb0992f1fb" have entirely different histories.
		
	
	
		
			b51d91b578
			...
			a24cc35721
		
	
		| 
						 | 
				
			
			@ -1,5 +0,0 @@
 | 
			
		|||
 FSCK2025 HTML5 Inofbeamer
 | 
			
		||||
===============================
 | 
			
		||||
 | 
			
		||||
Shedule URL: https://cfp.ctbk.de/fsck-2025/schedule/export/schedule.json
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,2 +1 @@
 | 
			
		|||
@import "../styles/_base";
 | 
			
		||||
@import "../styles/_base-print";
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
@import "../styles/_base";
 | 
			
		||||
 | 
			
		||||
@import "../styles/_schedule";
 | 
			
		||||
@import "../styles/_clock";
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
@import "../styles/_base";
 | 
			
		||||
 | 
			
		||||
@import "../styles/_schedule";
 | 
			
		||||
@import "../styles/_clock";
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
@import "../styles/_base";
 | 
			
		||||
 | 
			
		||||
@import "../styles/_banner-speaker";
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
@import "../styles/_base";
 | 
			
		||||
 | 
			
		||||
@import "../styles/_banner-speaker";
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
@import "../styles/_base";
 | 
			
		||||
 | 
			
		||||
@import "../styles/_banner-talk";
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
@import "../styles/_base";
 | 
			
		||||
 | 
			
		||||
@import "../styles/_banner-talk";
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
@import "../styles/_base";
 | 
			
		||||
 | 
			
		||||
@import "../styles/_upcoming-talk";
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
@import "../styles/_base";
 | 
			
		||||
 | 
			
		||||
@import "../styles/_upcoming-talk";
 | 
			
		||||
| 
						 | 
				
			
			@ -1,2 +1,3 @@
 | 
			
		|||
@import "../styles/_base";
 | 
			
		||||
 | 
			
		||||
@import "../styles/_voc-schedule";
 | 
			
		||||
@import "../styles/_voc-schedule-print";
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,2 +1,3 @@
 | 
			
		|||
@import "../styles/_base";
 | 
			
		||||
 | 
			
		||||
@import "../styles/_voc-speaker";
 | 
			
		||||
@import "../styles/_voc-speaker-print";
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,2 +1,3 @@
 | 
			
		|||
@import "../styles/_base";
 | 
			
		||||
 | 
			
		||||
@import "../styles/_voc-talks";
 | 
			
		||||
@import "../styles/_voc-talks-print";
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,11 +0,0 @@
 | 
			
		|||
@import "../../fonts/fonts";
 | 
			
		||||
@import "_variables";
 | 
			
		||||
 | 
			
		||||
@media print {
 | 
			
		||||
 | 
			
		||||
    body {
 | 
			
		||||
        color: black;
 | 
			
		||||
        background: white;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -217,7 +217,7 @@
 | 
			
		|||
 | 
			
		||||
.speaker-count-3 {
 | 
			
		||||
    display: -webkit-box;
 | 
			
		||||
    -webkit-line-clamp: 3;
 | 
			
		||||
    -webkit-line-clamp: 4;
 | 
			
		||||
    -webkit-box-orient: vertical;
 | 
			
		||||
 | 
			
		||||
    overflow: hidden;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
@media print {}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,35 +0,0 @@
 | 
			
		|||
@import "_variables";
 | 
			
		||||
@import "_base";
 | 
			
		||||
@import "_base-print";
 | 
			
		||||
@import "_voc";
 | 
			
		||||
@import "_voc-print";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@media print {
 | 
			
		||||
 | 
			
		||||
    .speaker-cnt-1 {
 | 
			
		||||
        color: black;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .speaker-cnt-2 {
 | 
			
		||||
        color: black;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .speaker-cnt-3 {
 | 
			
		||||
        color: black;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .speaker-cnt-many {
 | 
			
		||||
        color: black;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    .dnr-true {
 | 
			
		||||
        color: black;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .dnr-false {
 | 
			
		||||
        color: black;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +0,0 @@
 | 
			
		|||
@import "_variables";
 | 
			
		||||
@import "_base";
 | 
			
		||||
@import "_base-print";
 | 
			
		||||
@import "_voc";
 | 
			
		||||
@import "_voc-print";
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +0,0 @@
 | 
			
		|||
@import "_variables";
 | 
			
		||||
@import "_base";
 | 
			
		||||
@import "_base-print";
 | 
			
		||||
@import "_voc";
 | 
			
		||||
@import "_voc-print";
 | 
			
		||||
| 
						 | 
				
			
			@ -1,30 +1,31 @@
 | 
			
		|||
'use strict';
 | 
			
		||||
 | 
			
		||||
// Fake 'now' date time for testing
 | 
			
		||||
const fakeNow = null;
 | 
			
		||||
//const fakeNow = null;
 | 
			
		||||
 | 
			
		||||
// Test transitions
 | 
			
		||||
//const fakeNow = Date.parse("2025-02-28T18:53:50");
 | 
			
		||||
const fakeNow = Date.parse("2025-02-28T18:53:50");
 | 
			
		||||
 | 
			
		||||
// Test Fr
 | 
			
		||||
//const fakeNow = Date.parse("2025-02-28T19:00:00");
 | 
			
		||||
//const fakeNow = Date.parse("2025-02-28T19:15:00");
 | 
			
		||||
//const fakeNow = Date.parse("2025-02-28T20:15:00");
 | 
			
		||||
//const fakeNow = Date.parse("2025-02-28T21:15:00");
 | 
			
		||||
// const fakeNow = Date.parse("2024-03-01T19:00:00");
 | 
			
		||||
// const fakeNow = Date.parse("2024-03-01T19:15:00");
 | 
			
		||||
// const fakeNow = Date.parse("2024-03-01T20:15:00");
 | 
			
		||||
// const fakeNow = Date.parse("2024-03-01T21:00:00");
 | 
			
		||||
 | 
			
		||||
// Test Sa
 | 
			
		||||
//const fakeNow = Date.parse("2025-03-01T11:00:00");
 | 
			
		||||
//const fakeNow = Date.parse("2025-03-01T11:15:00");
 | 
			
		||||
//const fakeNow = Date.parse("2025-03-01T12:00:00");
 | 
			
		||||
//const fakeNow = Date.parse("2025-03-01T13:00:00");
 | 
			
		||||
//const fakeNow = Date.parse("2025-03-01T14:30:00");
 | 
			
		||||
//const fakeNow = Date.parse("2025-03-01T14:45:00");
 | 
			
		||||
//const fakeNow = Date.parse("2025-03-01T15:30:00");
 | 
			
		||||
//const fakeNow = Date.parse("2025-03-01T16:30:00");
 | 
			
		||||
//const fakeNow = Date.parse("2025-03-01T18:00:00");
 | 
			
		||||
//const fakeNow = Date.parse("2025-03-01T19:00:00");
 | 
			
		||||
//const fakeNow = Date.parse("2025-03-01T20:00:00");
 | 
			
		||||
//const fakeNow = Date.parse("2025-03-01T20:15:00");
 | 
			
		||||
// const fakeNow = Date.parse("2024-03-02T11:00:00");
 | 
			
		||||
// const fakeNow = Date.parse("2024-03-02T11:15:00");
 | 
			
		||||
// const fakeNow = Date.parse("2024-03-02T12:00:00");
 | 
			
		||||
// const fakeNow = Date.parse("2024-03-02T13:00:00");
 | 
			
		||||
 | 
			
		||||
// const fakeNow = Date.parse("2024-03-02T14:45:00");
 | 
			
		||||
// const fakeNow = Date.parse("2024-03-02T15:30:00");
 | 
			
		||||
// const fakeNow = Date.parse("2024-03-02T16:30:00");
 | 
			
		||||
 | 
			
		||||
// const fakeNow = Date.parse("2024-03-02T18:00:00");
 | 
			
		||||
// const fakeNow = Date.parse("2024-03-02T19:00:00");
 | 
			
		||||
// const fakeNow = Date.parse("2024-03-02T20:00:00");
 | 
			
		||||
// const fakeNow = Date.parse("2024-03-02T20:15:00");
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const fakeTimeDelta = fakeNow === null ? 0 : fakeNow - Date.now();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,13 +42,11 @@ const event_description = (event) => {
 | 
			
		|||
    const dtext = sol.defined(description) ? description : "";
 | 
			
		||||
 | 
			
		||||
    const text = atext.length >= dtext.length ? atext : dtext;
 | 
			
		||||
    const text_fixed = serv.fix_markdown(text);
 | 
			
		||||
    const text_fixed_urls = serv.fix_markdown_urls(text_fixed);
 | 
			
		||||
 | 
			
		||||
    return html`
 | 
			
		||||
    <div class="event-description">
 | 
			
		||||
      <div class="event-description-title">Beschreibung:</div>
 | 
			
		||||
      <div class="event-description-text" lang="de">${text_fixed_urls}</div>
 | 
			
		||||
      <div class="event-description-text" lang="de">${text}</div>
 | 
			
		||||
    </div>`;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -58,15 +56,13 @@ const event_content = (event) =>
 | 
			
		|||
const speaker_info = (speaker, count) => {
 | 
			
		||||
    const name = serv.fix_dash(sol.personName(speaker));
 | 
			
		||||
    const bio = sol.personBiography(speaker);
 | 
			
		||||
    const btext = sol.defined(bio) ? bio : "";
 | 
			
		||||
    const bio_fixed = serv.fix_markdown_urls(btext);
 | 
			
		||||
 | 
			
		||||
    let inner;
 | 
			
		||||
    if (sol.defined(bio) && bio.length >= minBioLength) {
 | 
			
		||||
        inner = html`
 | 
			
		||||
        <div class="speaker-info">
 | 
			
		||||
          <div class="speaker-name">${name}</div>
 | 
			
		||||
          <div class="speaker-bio speaker-count-${count}" lang="de">${bio_fixed}</div>
 | 
			
		||||
          <div class="speaker-bio speaker-count-${count}" lang="de">${bio}</div>
 | 
			
		||||
        </div>`;
 | 
			
		||||
    } else {
 | 
			
		||||
        inner = html``;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,55 @@
 | 
			
		|||
'use strict';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import * as fe from "../core/fetcher.js";
 | 
			
		||||
 | 
			
		||||
import * as ti from "../core/time.js";
 | 
			
		||||
 | 
			
		||||
import * as sc from "../core/screen.js";
 | 
			
		||||
 | 
			
		||||
// Import services
 | 
			
		||||
import * as serv from "../services/service.js";
 | 
			
		||||
 | 
			
		||||
// Import views
 | 
			
		||||
import * as domman from "../dom/schedule.js";
 | 
			
		||||
import * as clk from "../dom/clock.js";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Empty JSON lists for data
 | 
			
		||||
let storage = {
 | 
			
		||||
    scheduleData: undefined
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
let do_fetch = fe.configure({}, serv);
 | 
			
		||||
 | 
			
		||||
do_fetch(storage);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Main Loop
 | 
			
		||||
let screen_update = sc.configure(serv, domman);
 | 
			
		||||
let clock_update = sc.configure(serv, clk);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
let cfg = {
 | 
			
		||||
    "roomName": "Bankettsaal",
 | 
			
		||||
    "music": {
 | 
			
		||||
        "artist": "luss",
 | 
			
		||||
        "title": "dub techno session #5",
 | 
			
		||||
        "licence": "CC-BY",
 | 
			
		||||
        "url": "https://lussdub.bandcamp.com/"
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Just do it
 | 
			
		||||
function main_loop() {
 | 
			
		||||
    screen_update(storage, ti, cfg);
 | 
			
		||||
    clock_update(storage, ti, cfg);
 | 
			
		||||
    // update_screen();
 | 
			
		||||
    // setTimeout(main_loop, 1 * 1000);
 | 
			
		||||
    setTimeout(main_loop, 1 * 50);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
main_loop();
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,55 @@
 | 
			
		|||
'use strict';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import * as fe from "../core/fetcher.js";
 | 
			
		||||
 | 
			
		||||
import * as ti from "../core/time.js";
 | 
			
		||||
 | 
			
		||||
import * as sc from "../core/screen.js";
 | 
			
		||||
 | 
			
		||||
// Import services
 | 
			
		||||
import * as serv from "../services/service.js";
 | 
			
		||||
 | 
			
		||||
// Import views
 | 
			
		||||
import * as domman from "../dom/schedule.js";
 | 
			
		||||
import * as clk from "../dom/clock.js";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Empty JSON lists for data
 | 
			
		||||
let storage = {
 | 
			
		||||
    scheduleData: undefined
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
let do_fetch = fe.configure({}, serv);
 | 
			
		||||
 | 
			
		||||
do_fetch(storage);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Main Loop
 | 
			
		||||
let screen_update = sc.configure(serv, domman);
 | 
			
		||||
let clock_update = sc.configure(serv, clk);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
let cfg = {
 | 
			
		||||
    "roomName": "Tanzsaal",
 | 
			
		||||
    "music": {
 | 
			
		||||
        "artist": "luss",
 | 
			
		||||
        "title": "dub techno session #5",
 | 
			
		||||
        "licence": "CC-BY",
 | 
			
		||||
        "url": "https://lussdub.bandcamp.com/"
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Just do it
 | 
			
		||||
function main_loop() {
 | 
			
		||||
    screen_update(storage, ti, cfg);
 | 
			
		||||
    clock_update(storage, ti, cfg);
 | 
			
		||||
    // update_screen();
 | 
			
		||||
    // setTimeout(main_loop, 1 * 1000);
 | 
			
		||||
    setTimeout(main_loop, 1 * 50);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
main_loop();
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,42 @@
 | 
			
		|||
'use strict';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import * as fe from "../core/fetcher.js";
 | 
			
		||||
 | 
			
		||||
import * as ti from "../core/time.js";
 | 
			
		||||
 | 
			
		||||
import * as sc from "../core/screen.js";
 | 
			
		||||
 | 
			
		||||
// Import services
 | 
			
		||||
import * as serv from "../services/service.js";
 | 
			
		||||
 | 
			
		||||
// Import views
 | 
			
		||||
import * as dom from "../dom/speaker-info.js";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Empty JSON lists for data
 | 
			
		||||
let storage = {
 | 
			
		||||
    scheduleData: undefined
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
let cfg = {
 | 
			
		||||
    "roomName": "Bankettsaal"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
let do_fetch = fe.configure({}, serv);
 | 
			
		||||
 | 
			
		||||
do_fetch(storage);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Main Loop
 | 
			
		||||
let screen_update = sc.configure(serv, dom);
 | 
			
		||||
 | 
			
		||||
// Just do it
 | 
			
		||||
function main_loop() {
 | 
			
		||||
    screen_update(storage, ti, cfg);
 | 
			
		||||
    setTimeout(main_loop, 1 * 1000);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
main_loop();
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,42 @@
 | 
			
		|||
'use strict';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import * as fe from "../core/fetcher.js";
 | 
			
		||||
 | 
			
		||||
import * as ti from "../core/time.js";
 | 
			
		||||
 | 
			
		||||
import * as sc from "../core/screen.js";
 | 
			
		||||
 | 
			
		||||
// Import services
 | 
			
		||||
import * as serv from "../services/service.js";
 | 
			
		||||
 | 
			
		||||
// Import views
 | 
			
		||||
import * as dom from "../dom/speaker-info.js";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Empty JSON lists for data
 | 
			
		||||
let storage = {
 | 
			
		||||
    scheduleData: undefined
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
let cfg = {
 | 
			
		||||
    "roomName": "Tanzsaal"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
let do_fetch = fe.configure({}, serv);
 | 
			
		||||
 | 
			
		||||
do_fetch(storage);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Main Loop
 | 
			
		||||
let screen_update = sc.configure(serv, dom);
 | 
			
		||||
 | 
			
		||||
// Just do it
 | 
			
		||||
function main_loop() {
 | 
			
		||||
    screen_update(storage, ti, cfg);
 | 
			
		||||
    setTimeout(main_loop, 1 * 1000);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
main_loop();
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,42 @@
 | 
			
		|||
'use strict';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import * as fe from "../core/fetcher.js";
 | 
			
		||||
 | 
			
		||||
import * as ti from "../core/time.js";
 | 
			
		||||
 | 
			
		||||
import * as sc from "../core/screen.js";
 | 
			
		||||
 | 
			
		||||
// Import services
 | 
			
		||||
import * as serv from "../services/service.js";
 | 
			
		||||
 | 
			
		||||
// Import views
 | 
			
		||||
import * as dom from "../dom/talk-info.js";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Empty JSON lists for data
 | 
			
		||||
let storage = {
 | 
			
		||||
    scheduleData: undefined
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
let cfg = {
 | 
			
		||||
    "roomName": "Bankettsaal"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
let do_fetch = fe.configure({}, serv);
 | 
			
		||||
 | 
			
		||||
do_fetch(storage);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Main Loop
 | 
			
		||||
let screen_update = sc.configure(serv, dom);
 | 
			
		||||
 | 
			
		||||
// Just do it
 | 
			
		||||
function main_loop() {
 | 
			
		||||
    screen_update(storage, ti, cfg);
 | 
			
		||||
    setTimeout(main_loop, 1 * 1000);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
main_loop();
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,42 @@
 | 
			
		|||
'use strict';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import * as fe from "../core/fetcher.js";
 | 
			
		||||
 | 
			
		||||
import * as ti from "../core/time.js";
 | 
			
		||||
 | 
			
		||||
import * as sc from "../core/screen.js";
 | 
			
		||||
 | 
			
		||||
// Import services
 | 
			
		||||
import * as serv from "../services/service.js";
 | 
			
		||||
 | 
			
		||||
// Import views
 | 
			
		||||
import * as dom from "../dom/talk-info.js";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Empty JSON lists for data
 | 
			
		||||
let storage = {
 | 
			
		||||
    scheduleData: undefined
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
let cfg = {
 | 
			
		||||
    "roomName": "Tanzsaal"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
let do_fetch = fe.configure({}, serv);
 | 
			
		||||
 | 
			
		||||
do_fetch(storage);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Main Loop
 | 
			
		||||
let screen_update = sc.configure(serv, dom);
 | 
			
		||||
 | 
			
		||||
// Just do it
 | 
			
		||||
function main_loop() {
 | 
			
		||||
    screen_update(storage, ti, cfg);
 | 
			
		||||
    setTimeout(main_loop, 1 * 1000);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
main_loop();
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,48 @@
 | 
			
		|||
'use strict';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import * as fe from "../core/fetcher.js";
 | 
			
		||||
 | 
			
		||||
import * as ti from "../core/time.js";
 | 
			
		||||
 | 
			
		||||
import * as sc from "../core/screen.js";
 | 
			
		||||
 | 
			
		||||
// Import services
 | 
			
		||||
import * as serv from "../services/service.js";
 | 
			
		||||
 | 
			
		||||
// Import views
 | 
			
		||||
import * as dom from "../dom/upcoming-talk.js";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Empty JSON lists for data
 | 
			
		||||
let storage = {
 | 
			
		||||
    scheduleData: undefined
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
let cfg = {
 | 
			
		||||
    "roomName": "Bankettsaal",
 | 
			
		||||
    "music": {
 | 
			
		||||
        "artist": "luss",
 | 
			
		||||
        "title": "dub techno session #5",
 | 
			
		||||
        "licence": "CC-BY",
 | 
			
		||||
        "url": "https://lussdub.bandcamp.com/"
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
let do_fetch = fe.configure({}, serv);
 | 
			
		||||
 | 
			
		||||
do_fetch(storage);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Main Loop
 | 
			
		||||
let screen_update = sc.configure(serv, dom);
 | 
			
		||||
 | 
			
		||||
// Just do it
 | 
			
		||||
function main_loop() {
 | 
			
		||||
    screen_update(storage, ti, cfg);
 | 
			
		||||
    setTimeout(main_loop, 1 * 1000);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
main_loop();
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,48 @@
 | 
			
		|||
'use strict';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import * as fe from "../core/fetcher.js";
 | 
			
		||||
 | 
			
		||||
import * as ti from "../core/time.js";
 | 
			
		||||
 | 
			
		||||
import * as sc from "../core/screen.js";
 | 
			
		||||
 | 
			
		||||
// Import services
 | 
			
		||||
import * as serv from "../services/service.js";
 | 
			
		||||
 | 
			
		||||
// Import views
 | 
			
		||||
import * as dom from "../dom/upcoming-talk.js";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Empty JSON lists for data
 | 
			
		||||
let storage = {
 | 
			
		||||
    scheduleData: undefined
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
let cfg = {
 | 
			
		||||
    "roomName": "Tanzsaal",
 | 
			
		||||
    "music": {
 | 
			
		||||
        "artist": "luss",
 | 
			
		||||
        "title": "dub techno session #5",
 | 
			
		||||
        "licence": "CC-BY",
 | 
			
		||||
        "url": "https://lussdub.bandcamp.com/"
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
let do_fetch = fe.configure({}, serv);
 | 
			
		||||
 | 
			
		||||
do_fetch(storage);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Main Loop
 | 
			
		||||
let screen_update = sc.configure(serv, dom);
 | 
			
		||||
 | 
			
		||||
// Just do it
 | 
			
		||||
function main_loop() {
 | 
			
		||||
    screen_update(storage, ti, cfg);
 | 
			
		||||
    setTimeout(main_loop, 1 * 1000);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
main_loop();
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,45 @@
 | 
			
		|||
'use strict';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import * as fe from "../core/fetcher.js";
 | 
			
		||||
 | 
			
		||||
import * as ti from "../core/time.js";
 | 
			
		||||
 | 
			
		||||
import * as sc from "../core/screen.js";
 | 
			
		||||
 | 
			
		||||
// Import services
 | 
			
		||||
import * as serv from "../services/service.js";
 | 
			
		||||
 | 
			
		||||
// Import views
 | 
			
		||||
import * as domman from "../dom/voc-schedule-hall.js";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Empty JSON lists for data
 | 
			
		||||
let storage = {
 | 
			
		||||
    scheduleData: undefined
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
let do_fetch = fe.configure({}, serv);
 | 
			
		||||
 | 
			
		||||
do_fetch(storage);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Main Loop
 | 
			
		||||
let screen_update = sc.configure(serv, domman);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
let cfg = {
 | 
			
		||||
    "roomName": "Bankettsaal",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Just do it
 | 
			
		||||
function main_loop() {
 | 
			
		||||
    screen_update(storage, ti, cfg);
 | 
			
		||||
    // update_screen();
 | 
			
		||||
    setTimeout(main_loop, 1 * 100);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
main_loop();
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,45 @@
 | 
			
		|||
'use strict';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import * as fe from "../core/fetcher.js";
 | 
			
		||||
 | 
			
		||||
import * as ti from "../core/time.js";
 | 
			
		||||
 | 
			
		||||
import * as sc from "../core/screen.js";
 | 
			
		||||
 | 
			
		||||
// Import services
 | 
			
		||||
import * as serv from "../services/service.js";
 | 
			
		||||
 | 
			
		||||
// Import views
 | 
			
		||||
import * as domman from "../dom/voc-schedule-hall.js";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Empty JSON lists for data
 | 
			
		||||
let storage = {
 | 
			
		||||
    scheduleData: undefined
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
let do_fetch = fe.configure({}, serv);
 | 
			
		||||
 | 
			
		||||
do_fetch(storage);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Main Loop
 | 
			
		||||
let screen_update = sc.configure(serv, domman);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
let cfg = {
 | 
			
		||||
    "roomName": "Tanzsaal",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Just do it
 | 
			
		||||
function main_loop() {
 | 
			
		||||
    screen_update(storage, ti, cfg);
 | 
			
		||||
    // update_screen();
 | 
			
		||||
    setTimeout(main_loop, 1 * 100);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
main_loop();
 | 
			
		||||
| 
						 | 
				
			
			@ -36,25 +36,10 @@ const fix_dash = (string) =>
 | 
			
		|||
    string.replace(ndash_fix_regexp, ndash_fix_replacement);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const markdown_fix_regexp = '**';
 | 
			
		||||
const markdown_fix_replacement = '';
 | 
			
		||||
 | 
			
		||||
const fix_markdown = (string) =>
 | 
			
		||||
    string.replaceAll(markdown_fix_regexp, markdown_fix_replacement);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const url_fix_regexp = RegExp('\\[([^\\]]+)\\]\\([^)]+\\)', "g");
 | 
			
		||||
 | 
			
		||||
const fix_markdown_urls = (string) =>
 | 
			
		||||
    string.replace(url_fix_regexp, '$1');
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
export {
 | 
			
		||||
    process_data,
 | 
			
		||||
    track_index,
 | 
			
		||||
    sort_tracks,
 | 
			
		||||
    person_names_concat,
 | 
			
		||||
    fix_dash,
 | 
			
		||||
    fix_markdown,
 | 
			
		||||
    fix_markdown_urls
 | 
			
		||||
    fix_dash
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
baseURL = "https://infobeamer.ctbk.de/"
 | 
			
		||||
baseURL = "https://files.chvoc.ch/"
 | 
			
		||||
languageCode = 'de-DE'
 | 
			
		||||
title = 'FSCK2025'
 | 
			
		||||
title = 'DGWK25'
 | 
			
		||||
 | 
			
		||||
defaultContentLanguage = "en"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -16,6 +16,6 @@ disableKinds = ["taxonomy", "term", "RSS", "sitemap", "robotsTXT", "404"]
 | 
			
		|||
[params]
 | 
			
		||||
workerBaseURL = '/js/custom/core/'
 | 
			
		||||
 | 
			
		||||
# scheduleURL = '/schedule.json'
 | 
			
		||||
scheduleURL = 'https://cfp.ctbk.de/fsck-2025/schedule/export/schedule.json'
 | 
			
		||||
scheduleURL = '/schedule.json'
 | 
			
		||||
#scheduleURL = 'https://cfp.winterkongress.ch/wk25/schedule/export/schedule.json'
 | 
			
		||||
scheduleFetchInterval = 60
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,9 +1,9 @@
 | 
			
		|||
baseURL = "https://infobeamer.ctbk.de/fsck2025/"
 | 
			
		||||
baseURL = "https://files.chvoc.ch/dgwk25/info/"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[params]
 | 
			
		||||
workerBaseURL = '/fsck2025/js/custom/core/'
 | 
			
		||||
workerBaseURL = '/dgwk25/info/js/custom/core/'
 | 
			
		||||
 | 
			
		||||
# scheduleURL = '/fsck2025/schedule.json'
 | 
			
		||||
scheduleURL = 'https://cfp.ctbk.de/fsck-2025/schedule/export/schedule.json'
 | 
			
		||||
scheduleURL = '/dgwk25/info/schedule.json'
 | 
			
		||||
#scheduleURL = 'https://cfp.winterkongress.ch/wk25/schedule/export/schedule.json'
 | 
			
		||||
scheduleFetchInterval = 60
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Schedule Hall 1: Festsaal"
 | 
			
		||||
type: schedule-hall1
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Schedule Hall 2: Bankettsaal"
 | 
			
		||||
type: schedule-hall2
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Schedule Hall 3: Tanzsaal"
 | 
			
		||||
type: schedule-hall3
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Schedule Kino 5: FSCK"
 | 
			
		||||
type: schedule-kino5
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Speaker Info Hall 1: Festsaal"
 | 
			
		||||
type: speaker-info-hall1
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Speaker Info Hall 2: Bankettsaal"
 | 
			
		||||
type: speaker-info-hall2
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Speaker Info Hall 3: Tanzsaal"
 | 
			
		||||
type: speaker-info-hall3
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Speaker Info Kino5: FSCK"
 | 
			
		||||
type: speaker-info-kino5
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Talk Info Hall 1: Festsaal"
 | 
			
		||||
type: talk-info-hall1
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Talk Info Hall 2: Bankettsaal"
 | 
			
		||||
type: talk-info-hall2
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Talk Info Hall 3: Tanzsaal"
 | 
			
		||||
type: talk-info-hall3
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Talk Info Kino 5: FSCK"
 | 
			
		||||
type: talk-info-kino5
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Upcoming Talk Hall 1: Festsaal"
 | 
			
		||||
type: upcoming-talk-hall1
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Upcoming Talk Hall 2: Bankettsaal"
 | 
			
		||||
type: upcoming-talk-hall2
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Upcoming Talk Hall 3: Tanzsaal"
 | 
			
		||||
type: upcoming-talk-hall3
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Upcoming Talk Kino 5: FSCK"
 | 
			
		||||
type: upcoming-talk-kino5
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
---
 | 
			
		||||
title: "VOC Schedule Hall 1: Festsaal"
 | 
			
		||||
type: voc-schedule-hall1
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
---
 | 
			
		||||
title: "VOC Schedule Hall 2: Bankettsaal"
 | 
			
		||||
type: voc-schedule-hall2
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
---
 | 
			
		||||
title: "VOC Schedule Hall 3: Tanzsaal"
 | 
			
		||||
type: voc-schedule-hall3
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
---
 | 
			
		||||
title: "VOC Schedule Kino 5: FSCK"
 | 
			
		||||
type: voc-schedule-kino5
 | 
			
		||||
---
 | 
			
		||||
| 
						 | 
				
			
			@ -1,13 +1,13 @@
 | 
			
		|||
{{ define "cssincludes" }}
 | 
			
		||||
{{ $options := dict "targetPath" "schedule-kino5.css" "outputStyle" "compressed" "enableSourceMap" false -}}
 | 
			
		||||
{{ $style := resources.Get "/css/custom/nodes/schedule-kino5.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
 | 
			
		||||
{{ $options := dict "targetPath" "schedule-hall1.css" "outputStyle" "compressed" "enableSourceMap" false -}}
 | 
			
		||||
{{ $style := resources.Get "/css/custom/nodes/schedule-hall1.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
 | 
			
		||||
<link rel="stylesheet" href="{{ $style.Permalink }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "jsincludes" }}
 | 
			
		||||
{{ $externals := slice "htm" "preact" "luxon" }}
 | 
			
		||||
{{ $buildOptions := dict "targetPath" "schedule-kino5.js" "externals" $externals }}
 | 
			
		||||
{{ $nodejs := resources.Get "/js/custom/nodes/schedule-kino5.js" | js.Build $buildOptions | resources.Fingerprint }}
 | 
			
		||||
{{ $buildOptions := dict "targetPath" "schedule-hall1.js" "externals" $externals }}
 | 
			
		||||
{{ $nodejs := resources.Get "/js/custom/nodes/schedule-hall1.js" | js.Build $buildOptions | resources.Fingerprint }}
 | 
			
		||||
<script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script>
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,20 @@
 | 
			
		|||
{{ define "cssincludes" }}
 | 
			
		||||
{{ $options := dict "targetPath" "schedule-hall2.css" "outputStyle" "compressed" "enableSourceMap" false -}}
 | 
			
		||||
{{ $style := resources.Get "/css/custom/nodes/schedule-hall2.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
 | 
			
		||||
<link rel="stylesheet" href="{{ $style.Permalink }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "jsincludes" }}
 | 
			
		||||
{{ $externals := slice "htm" "preact" "luxon" }}
 | 
			
		||||
{{ $buildOptions := dict "targetPath" "schedule-hall2.js" "externals" $externals }}
 | 
			
		||||
{{ $nodejs := resources.Get "/js/custom/nodes/schedule-hall2.js" | js.Build $buildOptions | resources.Fingerprint }}
 | 
			
		||||
<script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script>
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "main" }}
 | 
			
		||||
<img class="header" src="{{ .Site.BaseURL }}/header.png">
 | 
			
		||||
<main id="main">
 | 
			
		||||
  <!-- Dynamic content inserted here -->
 | 
			
		||||
</main>
 | 
			
		||||
<div id="clock"></div>
 | 
			
		||||
{{ end }}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,20 @@
 | 
			
		|||
{{ define "cssincludes" }}
 | 
			
		||||
{{ $options := dict "targetPath" "schedule-hall3.css" "outputStyle" "compressed" "enableSourceMap" false -}}
 | 
			
		||||
{{ $style := resources.Get "/css/custom/nodes/schedule-hall3.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
 | 
			
		||||
<link rel="stylesheet" href="{{ $style.Permalink }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "jsincludes" }}
 | 
			
		||||
{{ $externals := slice "htm" "preact" "luxon" }}
 | 
			
		||||
{{ $buildOptions := dict "targetPath" "schedule-hall3.js" "externals" $externals }}
 | 
			
		||||
{{ $nodejs := resources.Get "/js/custom/nodes/schedule-hall3.js" | js.Build $buildOptions | resources.Fingerprint }}
 | 
			
		||||
<script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script>
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "main" }}
 | 
			
		||||
<img class="header" src="{{ .Site.BaseURL }}/header.png">
 | 
			
		||||
<main id="main">
 | 
			
		||||
  <!-- Dynamic content inserted here -->
 | 
			
		||||
</main>
 | 
			
		||||
<div id="clock"></div>
 | 
			
		||||
{{ end }}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,13 +1,13 @@
 | 
			
		|||
{{ define "cssincludes" }}
 | 
			
		||||
{{ $options := dict "targetPath" "speaker-info-kino5.css" "outputStyle" "compressed" "enableSourceMap" false -}}
 | 
			
		||||
{{ $style := resources.Get "/css/custom/nodes/speaker-info-kino5.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
 | 
			
		||||
{{ $options := dict "targetPath" "speaker-info-hall1.css" "outputStyle" "compressed" "enableSourceMap" false -}}
 | 
			
		||||
{{ $style := resources.Get "/css/custom/nodes/speaker-info-hall1.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
 | 
			
		||||
<link rel="stylesheet" href="{{ $style.Permalink }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "jsincludes" }}
 | 
			
		||||
{{ $externals := slice "htm" "preact" "luxon" }}
 | 
			
		||||
{{ $buildOptions := dict "targetPath" "speaker-info-kino5.js" "externals" $externals }}
 | 
			
		||||
{{ $nodejs := resources.Get "/js/custom/nodes/speaker-info-kino5.js" | js.Build $buildOptions | resources.Fingerprint }}
 | 
			
		||||
{{ $buildOptions := dict "targetPath" "speaker-info-hall1.js" "externals" $externals }}
 | 
			
		||||
{{ $nodejs := resources.Get "/js/custom/nodes/speaker-info-hall1.js" | js.Build $buildOptions | resources.Fingerprint }}
 | 
			
		||||
<script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script>
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,19 @@
 | 
			
		|||
{{ define "cssincludes" }}
 | 
			
		||||
{{ $options := dict "targetPath" "speaker-info-hall2.css" "outputStyle" "compressed" "enableSourceMap" false -}}
 | 
			
		||||
{{ $style := resources.Get "/css/custom/nodes/speaker-info-hall2.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
 | 
			
		||||
<link rel="stylesheet" href="{{ $style.Permalink }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "jsincludes" }}
 | 
			
		||||
{{ $externals := slice "htm" "preact" "luxon" }}
 | 
			
		||||
{{ $buildOptions := dict "targetPath" "speaker-info-hall2.js" "externals" $externals }}
 | 
			
		||||
{{ $nodejs := resources.Get "/js/custom/nodes/speaker-info-hall2.js" | js.Build $buildOptions | resources.Fingerprint }}
 | 
			
		||||
<script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script>
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "main" }}
 | 
			
		||||
<img src="/bg.png">
 | 
			
		||||
<main id="main">
 | 
			
		||||
  <!-- Dynamic content inserted here -->
 | 
			
		||||
</main>
 | 
			
		||||
{{ end }}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,19 @@
 | 
			
		|||
{{ define "cssincludes" }}
 | 
			
		||||
{{ $options := dict "targetPath" "speaker-info-hall3.css" "outputStyle" "compressed" "enableSourceMap" false -}}
 | 
			
		||||
{{ $style := resources.Get "/css/custom/nodes/speaker-info-hall3.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
 | 
			
		||||
<link rel="stylesheet" href="{{ $style.Permalink }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "jsincludes" }}
 | 
			
		||||
{{ $externals := slice "htm" "preact" "luxon" }}
 | 
			
		||||
{{ $buildOptions := dict "targetPath" "speaker-info-hall3.js" "externals" $externals }}
 | 
			
		||||
{{ $nodejs := resources.Get "/js/custom/nodes/speaker-info-hall3.js" | js.Build $buildOptions | resources.Fingerprint }}
 | 
			
		||||
<script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script>
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "main" }}
 | 
			
		||||
<img src="/bg.png">
 | 
			
		||||
<main id="main">
 | 
			
		||||
  <!-- Dynamic content inserted here -->
 | 
			
		||||
</main>
 | 
			
		||||
{{ end }}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,13 +1,13 @@
 | 
			
		|||
{{ define "cssincludes" }}
 | 
			
		||||
{{ $options := dict "targetPath" "talk-info-kino5.css" "outputStyle" "compressed" "enableSourceMap" false -}}
 | 
			
		||||
{{ $style := resources.Get "/css/custom/nodes/talk-info-kino5.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
 | 
			
		||||
{{ $options := dict "targetPath" "talk-info-hall1.css" "outputStyle" "compressed" "enableSourceMap" false -}}
 | 
			
		||||
{{ $style := resources.Get "/css/custom/nodes/talk-info-hall1.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
 | 
			
		||||
<link rel="stylesheet" href="{{ $style.Permalink }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "jsincludes" }}
 | 
			
		||||
{{ $externals := slice "htm" "preact" "luxon" }}
 | 
			
		||||
{{ $buildOptions := dict "targetPath" "talk-info-kino5.js" "externals" $externals }}
 | 
			
		||||
{{ $nodejs := resources.Get "/js/custom/nodes/talk-info-kino5.js" | js.Build $buildOptions | resources.Fingerprint }}
 | 
			
		||||
{{ $buildOptions := dict "targetPath" "talk-info-hall1.js" "externals" $externals }}
 | 
			
		||||
{{ $nodejs := resources.Get "/js/custom/nodes/talk-info-hall1.js" | js.Build $buildOptions | resources.Fingerprint }}
 | 
			
		||||
<script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script>
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,19 @@
 | 
			
		|||
{{ define "cssincludes" }}
 | 
			
		||||
{{ $options := dict "targetPath" "talk-info-hall2.css" "outputStyle" "compressed" "enableSourceMap" false -}}
 | 
			
		||||
{{ $style := resources.Get "/css/custom/nodes/talk-info-hall2.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
 | 
			
		||||
<link rel="stylesheet" href="{{ $style.Permalink }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "jsincludes" }}
 | 
			
		||||
{{ $externals := slice "htm" "preact" "luxon" }}
 | 
			
		||||
{{ $buildOptions := dict "targetPath" "talk-info-hall2.js" "externals" $externals }}
 | 
			
		||||
{{ $nodejs := resources.Get "/js/custom/nodes/talk-info-hall2.js" | js.Build $buildOptions | resources.Fingerprint }}
 | 
			
		||||
<script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script>
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "main" }}
 | 
			
		||||
<img src="/bg.png">
 | 
			
		||||
<main id="main">
 | 
			
		||||
  <!-- Dynamic content inserted here -->
 | 
			
		||||
</main>
 | 
			
		||||
{{ end }}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,19 @@
 | 
			
		|||
{{ define "cssincludes" }}
 | 
			
		||||
{{ $options := dict "targetPath" "talk-info-hall3.css" "outputStyle" "compressed" "enableSourceMap" false -}}
 | 
			
		||||
{{ $style := resources.Get "/css/custom/nodes/talk-info-hall3.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
 | 
			
		||||
<link rel="stylesheet" href="{{ $style.Permalink }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "jsincludes" }}
 | 
			
		||||
{{ $externals := slice "htm" "preact" "luxon" }}
 | 
			
		||||
{{ $buildOptions := dict "targetPath" "talk-info-hall3.js" "externals" $externals }}
 | 
			
		||||
{{ $nodejs := resources.Get "/js/custom/nodes/talk-info-hall3.js" | js.Build $buildOptions | resources.Fingerprint }}
 | 
			
		||||
<script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script>
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "main" }}
 | 
			
		||||
<img src="/bg.png">
 | 
			
		||||
<main id="main">
 | 
			
		||||
  <!-- Dynamic content inserted here -->
 | 
			
		||||
</main>
 | 
			
		||||
{{ end }}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,13 +1,13 @@
 | 
			
		|||
{{ define "cssincludes" }}
 | 
			
		||||
{{ $options := dict "targetPath" "upcoming-talk-kino5.css" "outputStyle" "compressed" "enableSourceMap" false -}}
 | 
			
		||||
{{ $style := resources.Get "/css/custom/nodes/upcoming-talk-kino5.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
 | 
			
		||||
{{ $options := dict "targetPath" "upcoming-talk-hall1.css" "outputStyle" "compressed" "enableSourceMap" false -}}
 | 
			
		||||
{{ $style := resources.Get "/css/custom/nodes/upcoming-talk-hall1.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
 | 
			
		||||
<link rel="stylesheet" href="{{ $style.Permalink }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "jsincludes" }}
 | 
			
		||||
{{ $externals := slice "htm" "preact" "luxon" }}
 | 
			
		||||
{{ $buildOptions := dict "targetPath" "upcoming-talk-kino5.js" "externals" $externals }}
 | 
			
		||||
{{ $nodejs := resources.Get "/js/custom/nodes/upcoming-talk-kino5.js" | js.Build $buildOptions | resources.Fingerprint }}
 | 
			
		||||
{{ $buildOptions := dict "targetPath" "upcoming-talk-hall1.js" "externals" $externals }}
 | 
			
		||||
{{ $nodejs := resources.Get "/js/custom/nodes/upcoming-talk-hall1.js" | js.Build $buildOptions | resources.Fingerprint }}
 | 
			
		||||
<script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script>
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,19 @@
 | 
			
		|||
{{ define "cssincludes" }}
 | 
			
		||||
{{ $options := dict "targetPath" "upcoming-talk-hall2.css" "outputStyle" "compressed" "enableSourceMap" false -}}
 | 
			
		||||
{{ $style := resources.Get "/css/custom/nodes/upcoming-talk-hall2.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
 | 
			
		||||
<link rel="stylesheet" href="{{ $style.Permalink }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "jsincludes" }}
 | 
			
		||||
{{ $externals := slice "htm" "preact" "luxon" }}
 | 
			
		||||
{{ $buildOptions := dict "targetPath" "upcoming-talk-hall2.js" "externals" $externals }}
 | 
			
		||||
{{ $nodejs := resources.Get "/js/custom/nodes/upcoming-talk-hall2.js" | js.Build $buildOptions | resources.Fingerprint }}
 | 
			
		||||
<script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script>
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "main" }}
 | 
			
		||||
<img class="header" src="{{ .Site.BaseURL }}/header.png">
 | 
			
		||||
<main id="main">
 | 
			
		||||
  <!-- Dynamic content inserted here -->
 | 
			
		||||
</main>
 | 
			
		||||
{{ end }}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,19 @@
 | 
			
		|||
{{ define "cssincludes" }}
 | 
			
		||||
{{ $options := dict "targetPath" "upcoming-talk-hall3.css" "outputStyle" "compressed" "enableSourceMap" false -}}
 | 
			
		||||
{{ $style := resources.Get "/css/custom/nodes/upcoming-talk-hall3.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
 | 
			
		||||
<link rel="stylesheet" href="{{ $style.Permalink }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "jsincludes" }}
 | 
			
		||||
{{ $externals := slice "htm" "preact" "luxon" }}
 | 
			
		||||
{{ $buildOptions := dict "targetPath" "upcoming-talk-hall3.js" "externals" $externals }}
 | 
			
		||||
{{ $nodejs := resources.Get "/js/custom/nodes/upcoming-talk-hall3.js" | js.Build $buildOptions | resources.Fingerprint }}
 | 
			
		||||
<script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script>
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "main" }}
 | 
			
		||||
<img class="header" src="{{ .Site.BaseURL }}/header.png">
 | 
			
		||||
<main id="main">
 | 
			
		||||
  <!-- Dynamic content inserted here -->
 | 
			
		||||
</main>
 | 
			
		||||
{{ end }}
 | 
			
		||||
| 
						 | 
				
			
			@ -6,7 +6,7 @@
 | 
			
		|||
 | 
			
		||||
{{ define "jsincludes" }}
 | 
			
		||||
{{ $externals := slice "htm" "preact" "luxon" }}
 | 
			
		||||
{{ $buildOptions := dict "targetPath" "voc-schedule-kino5.js" "externals" $externals }}
 | 
			
		||||
{{ $nodejs := resources.Get "/js/custom/nodes/voc-schedule-kino5.js" | js.Build $buildOptions | resources.Fingerprint }}
 | 
			
		||||
{{ $buildOptions := dict "targetPath" "voc-schedule-hall1.js" "externals" $externals }}
 | 
			
		||||
{{ $nodejs := resources.Get "/js/custom/nodes/voc-schedule-hall1.js" | js.Build $buildOptions | resources.Fingerprint }}
 | 
			
		||||
<script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script>
 | 
			
		||||
{{ end }}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,12 @@
 | 
			
		|||
{{ define "cssincludes" }}
 | 
			
		||||
{{ $options := dict "targetPath" "default.css" "outputStyle" "compressed" "enableSourceMap" false -}}
 | 
			
		||||
{{ $style := resources.Get "/css/custom/nodes/voc-schedule.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
 | 
			
		||||
<link rel="stylesheet" href="{{ $style.Permalink }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "jsincludes" }}
 | 
			
		||||
{{ $externals := slice "htm" "preact" "luxon" }}
 | 
			
		||||
{{ $buildOptions := dict "targetPath" "voc-schedule-hall2.js" "externals" $externals }}
 | 
			
		||||
{{ $nodejs := resources.Get "/js/custom/nodes/voc-schedule-hall2.js" | js.Build $buildOptions | resources.Fingerprint }}
 | 
			
		||||
<script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script>
 | 
			
		||||
{{ end }}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,12 @@
 | 
			
		|||
{{ define "cssincludes" }}
 | 
			
		||||
{{ $options := dict "targetPath" "default.css" "outputStyle" "compressed" "enableSourceMap" false -}}
 | 
			
		||||
{{ $style := resources.Get "/css/custom/nodes/voc-schedule.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
 | 
			
		||||
<link rel="stylesheet" href="{{ $style.Permalink }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "jsincludes" }}
 | 
			
		||||
{{ $externals := slice "htm" "preact" "luxon" }}
 | 
			
		||||
{{ $buildOptions := dict "targetPath" "voc-schedule-hall3.js" "externals" $externals }}
 | 
			
		||||
{{ $nodejs := resources.Get "/js/custom/nodes/voc-schedule-hall3.js" | js.Build $buildOptions | resources.Fingerprint }}
 | 
			
		||||
<script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script>
 | 
			
		||||
{{ end }}
 | 
			
		||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Loading…
	
		Reference in New Issue