diff --git a/content/13-finale-kaleidoskop.md b/content/13-finale-kaleidoskop.md deleted file mode 100644 index 61162a0..0000000 --- a/content/13-finale-kaleidoskop.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -type: finale -title: "Das Kaleidoskop" -subtitle: "Alle zwölf Welten auf einen Blick" -image: images/cover/finale.png ---- diff --git a/scripts/build.js b/scripts/build.js index c3b2a47..62fb351 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -20,7 +20,6 @@ async function loadStories() { const files = (await readdir(contentDir)).filter(f => f.endsWith('.md')).sort(); const stories = []; - let finale = null; for (const file of files) { const raw = await readFile(join(contentDir, file), 'utf-8'); @@ -28,11 +27,6 @@ async function loadStories() { if (data.type === 'front-matter') continue; - if (data.type === 'finale') { - finale = data; - continue; - } - // Split body by --- into individual scene texts const sceneTexts = content.split(/\n---\n/).map(t => t.trim()).filter(Boolean); @@ -53,7 +47,7 @@ async function loadStories() { stories.push({ ...data, scenes }); } - return { stories, finale: finale || {} }; + return stories; } async function loadFrontMatter() { @@ -62,15 +56,15 @@ async function loadFrontMatter() { } async function build() { - const [{ stories, finale }, frontMatter] = await Promise.all([loadStories(), loadFrontMatter()]); + const [stories, frontMatter] = await Promise.all([loadStories(), loadFrontMatter()]); - const html = env.render('book.html', { stories, finale, frontMatter }); + const html = env.render('book.html', { stories, frontMatter }); const outPath = join(root, 'output', 'book.html'); await writeFile(outPath, html, 'utf-8'); - // imprint + TOC + section-title + (4 scenes × 2 pages per story) + finale - const pageCount = 3 + stories.reduce((acc, s) => acc + s.scenes.length * 2, 0) + 1; + // imprint + title page + TOC + (4 scenes × 2 pages per story) + const pageCount = 3 + stories.reduce((acc, s) => acc + s.scenes.length * 2, 0); await writeFile( join(root, 'output', 'book-meta.json'), JSON.stringify({ pageCount, storyCount: stories.length, builtAt: new Date().toISOString() }, null, 2), diff --git a/styles/layout.css b/styles/layout.css index e669f33..3327bc7 100644 --- a/styles/layout.css +++ b/styles/layout.css @@ -119,26 +119,3 @@ padding: 0 0.8in; } -/* ── Finale page ── */ -.page--finale { - background: var(--midnight, #0d0d2b); - position: relative; -} - -.finale-image { - width: 100%; - height: 100%; - object-fit: cover; -} - -.finale-overlay { - position: absolute; - inset: 0; - display: flex; - flex-direction: column; - align-items: center; - justify-content: flex-end; - padding-bottom: 1in; - text-align: center; - background: linear-gradient(to top, rgba(13, 13, 43, 0.75) 0%, transparent 55%); -} diff --git a/styles/typography.css b/styles/typography.css index 3bdbdda..6c3c917 100644 --- a/styles/typography.css +++ b/styles/typography.css @@ -188,22 +188,3 @@ body { margin-top: 0.5rem; } -/* ── Finale overlay ── */ -.finale-overlay h2 { - font-family: var(--font-display); - font-style: italic; - font-weight: 300; - font-size: 2.6rem; - color: white; - text-shadow: 0 2px 16px rgba(0, 0, 0, 0.7); - letter-spacing: 0.02em; -} - -.finale-overlay p { - font-family: var(--font-display); - font-style: italic; - font-size: 0.95rem; - color: rgba(255, 255, 255, 0.7); - letter-spacing: 0.12em; - margin-top: 0.6rem; -} diff --git a/templates/book.html b/templates/book.html index 22229d2..4625f82 100644 --- a/templates/book.html +++ b/templates/book.html @@ -43,22 +43,6 @@ {% include "story-spread.html" %} {% endfor %} - {# ── Finale page ── #} -
- {% if finale.image %} - Das Kaleidoskop – alle zwölf Welten - {% else %} -
-
- Finale-Illustration (alle 12 Welten) -
-
- {% endif %} -
-

Das Kaleidoskop

-

Alle zwölf Welten auf einen Blick

-
-