Lesemodus: Kernblock als eigene Seite am Kapitelende

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
team3
2026-10-08 16:02:13 +02:00
parent 8996c2f048
commit 7e78649a41

View File

@@ -8,13 +8,13 @@ const emit = defineEmits(['schliessen'])
const buehne = ref(null)
const pos = ref(0)
// Ein Abschnitt wird an seinen Zwischenüberschriften (###) in Seiten geteilt; Codeblöcke bleiben ganz.
// Ein Abschnitt wird an seinen Zwischenüberschriften (###) und am Kernblock (## Kern) in Seiten geteilt; Codeblöcke bleiben ganz.
function teile(text) {
const out = []
let akt = [], zaun = false
for (const zeile of (text || '').split('\n')) {
if (/^(```|~~~)/.test(zeile)) zaun = !zaun
if (!zaun && /^### /.test(zeile) && akt.some((z) => z.trim())) { out.push(akt.join('\n')); akt = [] }
if (!zaun && /^(### |## Kern)/.test(zeile) && akt.some((z) => z.trim())) { out.push(akt.join('\n')); akt = [] }
akt.push(zeile)
}
if (akt.some((z) => z.trim())) out.push(akt.join('\n'))
@@ -114,7 +114,7 @@ onUnmounted(() => window.removeEventListener('keydown', taste))
<div v-else class="stats">{{ screen.kap.abschnitte.length }} Abschnitte · {{ zeit(screen.kap.minuten) }}</div>
</section>
<section v-else-if="screen.typ === 'abschnitt'" class="lm-screen">
<div class="lm-label">{{ screen.kap.titel }}<template v-if="screen.i > 0"> · {{ screen.a.nr }} {{ screen.a.titel }}</template></div>
<div class="lm-label">{{ screen.kap.titel }}<template v-if="screen.i > 0"> · {{ screen.text.startsWith('## Kern') ? 'Kern' : screen.a.nr + ' ' + screen.a.titel }}</template></div>
<h2 v-if="screen.i === 0">{{ screen.a.nr }} {{ screen.a.titel }}</h2>
<div v-html="html(screen)"></div>
</section>