Compare commits

..

10 Commits

Author SHA1 Message Date
L3D b51d91b578
Migrate settings to FSCK2025 2025-05-02 22:22:07 +02:00
Ral 74dc254272 Update schedule to v0.9 2025-03-01 10:20:59 +01:00
Ral 02e2a0251e Update schedule to v0.8 iteration b 2025-02-28 18:37:58 +01:00
Ral 6ab0a27c69 Update schedule to v0.8 2025-02-28 01:56:51 +01:00
Ral 67193434c8 Update schedule to v0.7 2025-02-27 14:08:54 +01:00
Ral a05ce3d8ec Autofix some markdown 2025-02-26 20:43:58 +01:00
Ral 94982fbfa9 Test time 2025-02-26 18:46:27 +01:00
Ral 70f7daf155 Adapt num text lines 2025-02-26 18:45:23 +01:00
Ral 11985def1e Provide print media css 2025-02-24 19:44:18 +01:00
Ral 67ea31596e Update schedule to v0.6 2025-02-24 19:23:17 +01:00
80 changed files with 155 additions and 784 deletions

5
README.md Normal file
View File

@ -0,0 +1,5 @@
FSCK2025 HTML5 Inofbeamer
===============================
Shedule URL: https://cfp.ctbk.de/fsck-2025/schedule/export/schedule.json

View File

@ -1 +1,2 @@
@import "../styles/_base"; @import "../styles/_base";
@import "../styles/_base-print";

View File

@ -1,4 +0,0 @@
@import "../styles/_base";
@import "../styles/_schedule";
@import "../styles/_clock";

View File

@ -1,4 +0,0 @@
@import "../styles/_base";
@import "../styles/_schedule";
@import "../styles/_clock";

View File

@ -1,3 +0,0 @@
@import "../styles/_base";
@import "../styles/_banner-speaker";

View File

@ -1,3 +0,0 @@
@import "../styles/_base";
@import "../styles/_banner-speaker";

View File

@ -1,3 +0,0 @@
@import "../styles/_base";
@import "../styles/_banner-talk";

View File

@ -1,3 +0,0 @@
@import "../styles/_base";
@import "../styles/_banner-talk";

View File

@ -1,3 +0,0 @@
@import "../styles/_base";
@import "../styles/_upcoming-talk";

View File

@ -1,3 +0,0 @@
@import "../styles/_base";
@import "../styles/_upcoming-talk";

View File

@ -1,3 +1,2 @@
@import "../styles/_base";
@import "../styles/_voc-schedule"; @import "../styles/_voc-schedule";
@import "../styles/_voc-schedule-print";

View File

@ -1,3 +1,2 @@
@import "../styles/_base";
@import "../styles/_voc-speaker"; @import "../styles/_voc-speaker";
@import "../styles/_voc-speaker-print";

View File

@ -1,3 +1,2 @@
@import "../styles/_base";
@import "../styles/_voc-talks"; @import "../styles/_voc-talks";
@import "../styles/_voc-talks-print";

View File

@ -0,0 +1,11 @@
@import "../../fonts/fonts";
@import "_variables";
@media print {
body {
color: black;
background: white;
}
}

View File

@ -217,7 +217,7 @@
.speaker-count-3 { .speaker-count-3 {
display: -webkit-box; display: -webkit-box;
-webkit-line-clamp: 4; -webkit-line-clamp: 3;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
overflow: hidden; overflow: hidden;

View File

@ -0,0 +1 @@
@media print {}

View File

@ -0,0 +1,35 @@
@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;
}
}

View File

@ -0,0 +1,5 @@
@import "_variables";
@import "_base";
@import "_base-print";
@import "_voc";
@import "_voc-print";

View File

@ -0,0 +1,5 @@
@import "_variables";
@import "_base";
@import "_base-print";
@import "_voc";
@import "_voc-print";

View File

@ -1,31 +1,30 @@
'use strict'; 'use strict';
// Fake 'now' date time for testing // Fake 'now' date time for testing
//const fakeNow = null; const fakeNow = null;
// Test transitions // Test transitions
const fakeNow = Date.parse("2025-02-28T18:53:50"); //const fakeNow = Date.parse("2025-02-28T18:53:50");
// Test Fr // Test Fr
// const fakeNow = Date.parse("2024-03-01T19:00:00"); //const fakeNow = Date.parse("2025-02-28T19:00:00");
// const fakeNow = Date.parse("2024-03-01T19:15:00"); //const fakeNow = Date.parse("2025-02-28T19:15:00");
// const fakeNow = Date.parse("2024-03-01T20:15:00"); //const fakeNow = Date.parse("2025-02-28T20:15:00");
// const fakeNow = Date.parse("2024-03-01T21:00:00"); //const fakeNow = Date.parse("2025-02-28T21:15:00");
// Test Sa // Test Sa
// const fakeNow = Date.parse("2024-03-02T11:00:00"); //const fakeNow = Date.parse("2025-03-01T11:00:00");
// const fakeNow = Date.parse("2024-03-02T11:15:00"); //const fakeNow = Date.parse("2025-03-01T11:15:00");
// const fakeNow = Date.parse("2024-03-02T12:00:00"); //const fakeNow = Date.parse("2025-03-01T12:00:00");
// const fakeNow = Date.parse("2024-03-02T13:00:00"); //const fakeNow = Date.parse("2025-03-01T13:00:00");
//const fakeNow = Date.parse("2025-03-01T14:30:00");
// const fakeNow = Date.parse("2024-03-02T14:45:00"); //const fakeNow = Date.parse("2025-03-01T14:45:00");
// const fakeNow = Date.parse("2024-03-02T15:30:00"); //const fakeNow = Date.parse("2025-03-01T15:30:00");
// const fakeNow = Date.parse("2024-03-02T16:30:00"); //const fakeNow = Date.parse("2025-03-01T16:30:00");
//const fakeNow = Date.parse("2025-03-01T18:00:00");
// const fakeNow = Date.parse("2024-03-02T18:00:00"); //const fakeNow = Date.parse("2025-03-01T19:00:00");
// const fakeNow = Date.parse("2024-03-02T19:00:00"); //const fakeNow = Date.parse("2025-03-01T20:00:00");
// const fakeNow = Date.parse("2024-03-02T20:00:00"); //const fakeNow = Date.parse("2025-03-01T20:15:00");
// const fakeNow = Date.parse("2024-03-02T20:15:00");
const fakeTimeDelta = fakeNow === null ? 0 : fakeNow - Date.now(); const fakeTimeDelta = fakeNow === null ? 0 : fakeNow - Date.now();

View File

@ -42,11 +42,13 @@ const event_description = (event) => {
const dtext = sol.defined(description) ? description : ""; const dtext = sol.defined(description) ? description : "";
const text = atext.length >= dtext.length ? atext : dtext; 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` return html`
<div class="event-description"> <div class="event-description">
<div class="event-description-title">Beschreibung:</div> <div class="event-description-title">Beschreibung:</div>
<div class="event-description-text" lang="de">${text}</div> <div class="event-description-text" lang="de">${text_fixed_urls}</div>
</div>`; </div>`;
}; };
@ -56,13 +58,15 @@ const event_content = (event) =>
const speaker_info = (speaker, count) => { const speaker_info = (speaker, count) => {
const name = serv.fix_dash(sol.personName(speaker)); const name = serv.fix_dash(sol.personName(speaker));
const bio = sol.personBiography(speaker); const bio = sol.personBiography(speaker);
const btext = sol.defined(bio) ? bio : "";
const bio_fixed = serv.fix_markdown_urls(btext);
let inner; let inner;
if (sol.defined(bio) && bio.length >= minBioLength) { if (sol.defined(bio) && bio.length >= minBioLength) {
inner = html` inner = html`
<div class="speaker-info"> <div class="speaker-info">
<div class="speaker-name">${name}</div> <div class="speaker-name">${name}</div>
<div class="speaker-bio speaker-count-${count}" lang="de">${bio}</div> <div class="speaker-bio speaker-count-${count}" lang="de">${bio_fixed}</div>
</div>`; </div>`;
} else { } else {
inner = html``; inner = html``;

View File

@ -1,55 +0,0 @@
'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();

View File

@ -1,55 +0,0 @@
'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();

View File

@ -1,42 +0,0 @@
'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();

View File

@ -1,42 +0,0 @@
'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();

View File

@ -1,42 +0,0 @@
'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();

View File

@ -1,42 +0,0 @@
'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();

View File

@ -1,48 +0,0 @@
'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();

View File

@ -1,48 +0,0 @@
'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();

View File

@ -1,45 +0,0 @@
'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();

View File

@ -1,45 +0,0 @@
'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();

View File

@ -36,10 +36,25 @@ const fix_dash = (string) =>
string.replace(ndash_fix_regexp, ndash_fix_replacement); 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 { export {
process_data, process_data,
track_index, track_index,
sort_tracks, sort_tracks,
person_names_concat, person_names_concat,
fix_dash fix_dash,
fix_markdown,
fix_markdown_urls
} }

View File

@ -1,6 +1,6 @@
baseURL = "https://files.chvoc.ch/" baseURL = "https://infobeamer.ctbk.de/"
languageCode = 'de-DE' languageCode = 'de-DE'
title = 'DGWK25' title = 'FSCK2025'
defaultContentLanguage = "en" defaultContentLanguage = "en"
@ -16,6 +16,6 @@ disableKinds = ["taxonomy", "term", "RSS", "sitemap", "robotsTXT", "404"]
[params] [params]
workerBaseURL = '/js/custom/core/' workerBaseURL = '/js/custom/core/'
scheduleURL = '/schedule.json' # scheduleURL = '/schedule.json'
#scheduleURL = 'https://cfp.winterkongress.ch/wk25/schedule/export/schedule.json' scheduleURL = 'https://cfp.ctbk.de/fsck-2025/schedule/export/schedule.json'
scheduleFetchInterval = 60 scheduleFetchInterval = 60

View File

@ -1,9 +1,9 @@
baseURL = "https://files.chvoc.ch/dgwk25/info/" baseURL = "https://infobeamer.ctbk.de/fsck2025/"
[params] [params]
workerBaseURL = '/dgwk25/info/js/custom/core/' workerBaseURL = '/fsck2025/js/custom/core/'
scheduleURL = '/dgwk25/info/schedule.json' # scheduleURL = '/fsck2025/schedule.json'
#scheduleURL = 'https://cfp.winterkongress.ch/wk25/schedule/export/schedule.json' scheduleURL = 'https://cfp.ctbk.de/fsck-2025/schedule/export/schedule.json'
scheduleFetchInterval = 60 scheduleFetchInterval = 60

View File

@ -1,4 +0,0 @@
---
title: "Schedule Hall 1: Festsaal"
type: schedule-hall1
---

View File

@ -1,4 +0,0 @@
---
title: "Schedule Hall 2: Bankettsaal"
type: schedule-hall2
---

View File

@ -1,4 +0,0 @@
---
title: "Schedule Hall 3: Tanzsaal"
type: schedule-hall3
---

View File

@ -0,0 +1,4 @@
---
title: "Schedule Kino 5: FSCK"
type: schedule-kino5
---

View File

@ -1,4 +0,0 @@
---
title: "Speaker Info Hall 1: Festsaal"
type: speaker-info-hall1
---

View File

@ -1,4 +0,0 @@
---
title: "Speaker Info Hall 2: Bankettsaal"
type: speaker-info-hall2
---

View File

@ -1,4 +0,0 @@
---
title: "Speaker Info Hall 3: Tanzsaal"
type: speaker-info-hall3
---

View File

@ -0,0 +1,4 @@
---
title: "Speaker Info Kino5: FSCK"
type: speaker-info-kino5
---

View File

@ -1,4 +0,0 @@
---
title: "Talk Info Hall 1: Festsaal"
type: talk-info-hall1
---

View File

@ -1,4 +0,0 @@
---
title: "Talk Info Hall 2: Bankettsaal"
type: talk-info-hall2
---

View File

@ -1,4 +0,0 @@
---
title: "Talk Info Hall 3: Tanzsaal"
type: talk-info-hall3
---

View File

@ -0,0 +1,4 @@
---
title: "Talk Info Kino 5: FSCK"
type: talk-info-kino5
---

View File

@ -1,4 +0,0 @@
---
title: "Upcoming Talk Hall 1: Festsaal"
type: upcoming-talk-hall1
---

View File

@ -1,4 +0,0 @@
---
title: "Upcoming Talk Hall 2: Bankettsaal"
type: upcoming-talk-hall2
---

View File

@ -1,4 +0,0 @@
---
title: "Upcoming Talk Hall 3: Tanzsaal"
type: upcoming-talk-hall3
---

View File

@ -0,0 +1,4 @@
---
title: "Upcoming Talk Kino 5: FSCK"
type: upcoming-talk-kino5
---

View File

@ -1,4 +0,0 @@
---
title: "VOC Schedule Hall 1: Festsaal"
type: voc-schedule-hall1
---

View File

@ -1,4 +0,0 @@
---
title: "VOC Schedule Hall 2: Bankettsaal"
type: voc-schedule-hall2
---

View File

@ -1,4 +0,0 @@
---
title: "VOC Schedule Hall 3: Tanzsaal"
type: voc-schedule-hall3
---

View File

@ -0,0 +1,4 @@
---
title: "VOC Schedule Kino 5: FSCK"
type: voc-schedule-kino5
---

View File

@ -1,20 +0,0 @@
{{ 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 }}

View File

@ -1,20 +0,0 @@
{{ 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 }}

View File

@ -1,13 +1,13 @@
{{ define "cssincludes" }} {{ define "cssincludes" }}
{{ $options := dict "targetPath" "schedule-hall1.css" "outputStyle" "compressed" "enableSourceMap" false -}} {{ $options := dict "targetPath" "schedule-kino5.css" "outputStyle" "compressed" "enableSourceMap" false -}}
{{ $style := resources.Get "/css/custom/nodes/schedule-hall1.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} {{ $style := resources.Get "/css/custom/nodes/schedule-kino5.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
<link rel="stylesheet" href="{{ $style.Permalink }}" /> <link rel="stylesheet" href="{{ $style.Permalink }}" />
{{ end }} {{ end }}
{{ define "jsincludes" }} {{ define "jsincludes" }}
{{ $externals := slice "htm" "preact" "luxon" }} {{ $externals := slice "htm" "preact" "luxon" }}
{{ $buildOptions := dict "targetPath" "schedule-hall1.js" "externals" $externals }} {{ $buildOptions := dict "targetPath" "schedule-kino5.js" "externals" $externals }}
{{ $nodejs := resources.Get "/js/custom/nodes/schedule-hall1.js" | js.Build $buildOptions | resources.Fingerprint }} {{ $nodejs := resources.Get "/js/custom/nodes/schedule-kino5.js" | js.Build $buildOptions | resources.Fingerprint }}
<script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script> <script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script>
{{ end }} {{ end }}

View File

@ -1,19 +0,0 @@
{{ define "cssincludes" }}
{{ $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-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 }}
{{ define "main" }}
<img src="/bg.png">
<main id="main">
<!-- Dynamic content inserted here -->
</main>
{{ end }}

View File

@ -1,19 +0,0 @@
{{ 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 }}

View File

@ -1,13 +1,13 @@
{{ define "cssincludes" }} {{ define "cssincludes" }}
{{ $options := dict "targetPath" "speaker-info-hall2.css" "outputStyle" "compressed" "enableSourceMap" false -}} {{ $options := dict "targetPath" "speaker-info-kino5.css" "outputStyle" "compressed" "enableSourceMap" false -}}
{{ $style := resources.Get "/css/custom/nodes/speaker-info-hall2.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} {{ $style := resources.Get "/css/custom/nodes/speaker-info-kino5.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
<link rel="stylesheet" href="{{ $style.Permalink }}" /> <link rel="stylesheet" href="{{ $style.Permalink }}" />
{{ end }} {{ end }}
{{ define "jsincludes" }} {{ define "jsincludes" }}
{{ $externals := slice "htm" "preact" "luxon" }} {{ $externals := slice "htm" "preact" "luxon" }}
{{ $buildOptions := dict "targetPath" "speaker-info-hall2.js" "externals" $externals }} {{ $buildOptions := dict "targetPath" "speaker-info-kino5.js" "externals" $externals }}
{{ $nodejs := resources.Get "/js/custom/nodes/speaker-info-hall2.js" | js.Build $buildOptions | resources.Fingerprint }} {{ $nodejs := resources.Get "/js/custom/nodes/speaker-info-kino5.js" | js.Build $buildOptions | resources.Fingerprint }}
<script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script> <script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script>
{{ end }} {{ end }}

View File

@ -1,19 +0,0 @@
{{ define "cssincludes" }}
{{ $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-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 }}
{{ define "main" }}
<img src="/bg.png">
<main id="main">
<!-- Dynamic content inserted here -->
</main>
{{ end }}

View File

@ -1,19 +0,0 @@
{{ 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 }}

View File

@ -1,13 +1,13 @@
{{ define "cssincludes" }} {{ define "cssincludes" }}
{{ $options := dict "targetPath" "talk-info-hall2.css" "outputStyle" "compressed" "enableSourceMap" false -}} {{ $options := dict "targetPath" "talk-info-kino5.css" "outputStyle" "compressed" "enableSourceMap" false -}}
{{ $style := resources.Get "/css/custom/nodes/talk-info-hall2.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} {{ $style := resources.Get "/css/custom/nodes/talk-info-kino5.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
<link rel="stylesheet" href="{{ $style.Permalink }}" /> <link rel="stylesheet" href="{{ $style.Permalink }}" />
{{ end }} {{ end }}
{{ define "jsincludes" }} {{ define "jsincludes" }}
{{ $externals := slice "htm" "preact" "luxon" }} {{ $externals := slice "htm" "preact" "luxon" }}
{{ $buildOptions := dict "targetPath" "talk-info-hall2.js" "externals" $externals }} {{ $buildOptions := dict "targetPath" "talk-info-kino5.js" "externals" $externals }}
{{ $nodejs := resources.Get "/js/custom/nodes/talk-info-hall2.js" | js.Build $buildOptions | resources.Fingerprint }} {{ $nodejs := resources.Get "/js/custom/nodes/talk-info-kino5.js" | js.Build $buildOptions | resources.Fingerprint }}
<script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script> <script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script>
{{ end }} {{ end }}

View File

@ -1,19 +0,0 @@
{{ define "cssincludes" }}
{{ $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-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 }}
{{ define "main" }}
<img class="header" src="{{ .Site.BaseURL }}/header.png">
<main id="main">
<!-- Dynamic content inserted here -->
</main>
{{ end }}

View File

@ -1,19 +0,0 @@
{{ 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 }}

View File

@ -1,13 +1,13 @@
{{ define "cssincludes" }} {{ define "cssincludes" }}
{{ $options := dict "targetPath" "upcoming-talk-hall2.css" "outputStyle" "compressed" "enableSourceMap" false -}} {{ $options := dict "targetPath" "upcoming-talk-kino5.css" "outputStyle" "compressed" "enableSourceMap" false -}}
{{ $style := resources.Get "/css/custom/nodes/upcoming-talk-hall2.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}} {{ $style := resources.Get "/css/custom/nodes/upcoming-talk-kino5.scss" | resources.ToCSS $options | resources.Minify | resources.Fingerprint -}}
<link rel="stylesheet" href="{{ $style.Permalink }}" /> <link rel="stylesheet" href="{{ $style.Permalink }}" />
{{ end }} {{ end }}
{{ define "jsincludes" }} {{ define "jsincludes" }}
{{ $externals := slice "htm" "preact" "luxon" }} {{ $externals := slice "htm" "preact" "luxon" }}
{{ $buildOptions := dict "targetPath" "upcoming-talk-hall2.js" "externals" $externals }} {{ $buildOptions := dict "targetPath" "upcoming-talk-kino5.js" "externals" $externals }}
{{ $nodejs := resources.Get "/js/custom/nodes/upcoming-talk-hall2.js" | js.Build $buildOptions | resources.Fingerprint }} {{ $nodejs := resources.Get "/js/custom/nodes/upcoming-talk-kino5.js" | js.Build $buildOptions | resources.Fingerprint }}
<script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script> <script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script>
{{ end }} {{ end }}

View File

@ -1,12 +0,0 @@
{{ 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-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 }}

View File

@ -1,12 +0,0 @@
{{ 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 }}

View File

@ -6,7 +6,7 @@
{{ define "jsincludes" }} {{ define "jsincludes" }}
{{ $externals := slice "htm" "preact" "luxon" }} {{ $externals := slice "htm" "preact" "luxon" }}
{{ $buildOptions := dict "targetPath" "voc-schedule-hall2.js" "externals" $externals }} {{ $buildOptions := dict "targetPath" "voc-schedule-kino5.js" "externals" $externals }}
{{ $nodejs := resources.Get "/js/custom/nodes/voc-schedule-hall2.js" | js.Build $buildOptions | resources.Fingerprint }} {{ $nodejs := resources.Get "/js/custom/nodes/voc-schedule-kino5.js" | js.Build $buildOptions | resources.Fingerprint }}
<script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script> <script src="{{ $nodejs.Permalink }}" integrity="{{ $nodejs.Data.Integrity }}" type="module"></script>
{{ end }} {{ end }}

1
schedule.json Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long