Compare commits

..

No commits in common. "b51d91b578c8a59b7c7243c804519e029bc44f58" and "a24cc35721710fcd759f90ba25cda6eb0992f1fb" have entirely different histories.

80 changed files with 784 additions and 155 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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;
}
}

View File

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

View File

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

View File

@ -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();

View File

@ -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``;

View File

@ -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();

View File

@ -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();

View File

@ -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();

View File

@ -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();

View File

@ -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();

View File

@ -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();

View File

@ -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();

View File

@ -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();

View File

@ -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();

View File

@ -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();

View File

@ -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
}

View File

@ -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

View File

@ -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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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 }}

View File

@ -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 }}

View File

@ -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 }}

View File

@ -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 }}

View File

@ -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 }}

View File

@ -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 }}

View File

@ -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 }}

View File

@ -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 }}

View File

@ -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 }}

View File

@ -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 }}

View File

@ -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 }}

View File

@ -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 }}

View File

@ -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 }}

View File

@ -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 }}

View File

@ -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