Lesemodus: Kernblock als eigene Seite am Kapitelende
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user