diff --git a/example/server.cjs b/example/server.cjs index 51b5f8a..e727a4f 100755 --- a/example/server.cjs +++ b/example/server.cjs @@ -1,5 +1,3 @@ -#!/usr/bin/env node - const http = require('http'); // Конфигурация приложения diff --git a/src/layouts/SlideLayout.astro b/src/layouts/SlideLayout.astro index 4012e7f..f286aef 100644 --- a/src/layouts/SlideLayout.astro +++ b/src/layouts/SlideLayout.astro @@ -34,6 +34,12 @@ const { title, authors, description } = Astro.props; let deck = new Reveal({ plugins: [Highlight, Zoom, Notes], + highlight: { + beforeHighlight: (hljs) => { + // Важная настройка для динамического контента + hljs.configure({ ignoreUnescapedHTML: true }); + }, + }, }); deck.initialize().then(() => { @@ -48,10 +54,14 @@ const { title, authors, description } = Astro.props; try { const response = await fetch(block.dataset.external); const code = await response.text(); - block.textContent = code; + block.innerHTML = code; - // Правильный способ обновить подсветку - deck.getPlugin("highlight").hljs.highlightBlock(block); + // Сбрасываем состояние подсветки + delete block.dataset.highlighted; + block.classList.remove("hljs"); + + // Новая подсветка через API reveal.js + deck.getPlugin("highlight").hljs.highlightElement(block); } catch (error) { block.textContent = "⚠️ Error: " + error.message; } diff --git a/src/slides/signals/index.astro b/src/slides/signals/index.astro index 815f27d..b83ec2e 100644 --- a/src/slides/signals/index.astro +++ b/src/slides/signals/index.astro @@ -241,11 +241,37 @@ export const description =
-

Демонстрация тестового кода с перехватом основных сигналов

+

Демонстрация тестового кода с перехватом основных сигналов

-
-
+
+
+ +