Update Core.js

This commit is contained in:
simonpipe 2026-07-09 19:26:13 +02:00
parent 90d5e24b1a
commit 248f54634a

46
Core.js
View file

@ -118,19 +118,19 @@ class SimonUp {
switch (type) {
case 'toc':
let tocWrapper = '';
if (meta || content.trim()) {
tocWrapper = '<div class="simonup-toc-wrapper">\n';
if (meta) {
tocWrapper += `<h2>${meta}</h2>\n`;
}
if (content.trim()) {
const intro = lines.map(function(l) { return self._parseInline(l); }).join('<br>');
tocWrapper += `<p class="toc-intro">${intro}</p>\n`;
}
tocWrapper += '\n</div>';
}
return tocWrapper || ''; // Fallback Platzhalter für spätere Injektion
let tocWrapper = '';
tocWrapper = '<div class="simonup-toc-wrapper">\n';
if (meta) {
tocWrapper += `<h2>${meta}</h2>\n`;
}
if (content.trim()) {
const intro = lines.map(function(l) { return self._parseInline(l); }).join('<br>');
tocWrapper += `<p class="toc-intro">${intro}</p>\n`;
}
// Hier setzen wir den geheimen Platzhalter INSIDE den Wrapper:
tocWrapper += '\n';
tocWrapper += '</div>';
return tocWrapper;
case 'c':
const langClass = meta ? ` class="language-${meta}"` : '';
@ -331,16 +331,20 @@ class SimonUp {
*/
_injectTOC(html) {
const placeholder = '';
if (!html.includes(placeholder) && !html.includes('class="simonup-toc-wrapper"')) {
// Wenn kein TOC-Block definiert wurde, machen wir nichts
if (!html.includes(placeholder)) {
return html;
}
// Wenn keine Überschriften da sind, entfernen wir einfach den Platzhalter
if (this.headings.length === 0) {
return html.replace(placeholder, '');
}
let tocListHtml = '<div class="simonup-toc">\n<ul>\n';
let currentLevel = 1;
for (let i = 0; i < this.headings.length; i++) {
let heading = this.headings[i];
if (heading.level > currentLevel) {
@ -359,13 +363,9 @@ class SimonUp {
tocListHtml += '</ul>\n'.repeat(diffFinal);
}
tocListHtml += '</ul>\n</div>';
if (html.includes(placeholder)) {
return html.replace(placeholder, tocListHtml);
} else {
// Falls der Wrapper existiert, hängen wir das Inhaltsverzeichnis hinten an den Wrapper an
return html.replace('</div>', tocListHtml + '\n</div>');
}
// Jetzt wird es exakt dort eingefügt, wo es hingehört!
return html.replace(placeholder, tocListHtml);
}
/**