diff --git a/app/(presentation)/presentation/[...slug]/page.jsx b/app/(presentation)/presentation/[...slug]/page.jsx
index bd0db00..ce5e88a 100644
--- a/app/(presentation)/presentation/[...slug]/page.jsx
+++ b/app/(presentation)/presentation/[...slug]/page.jsx
@@ -1,5 +1,6 @@
import { notFound } from 'next/navigation';
-import { getPageData, getAllSlugs } from "@/utils/data";
+import { getPageData } from "@/utils/data";
+import Presentation from "@/components/presentation/Presentation";
export default async function PresentationPage({ params }) {
const resolvedParams = await params;
@@ -14,21 +15,5 @@ export default async function PresentationPage({ params }) {
notFound();
}
- // PPT展示页面 - 全屏展示
- return (
-
-
-
-
-
- {data.content && (
-
- )}
-
-
-
-
-
- );
+ return ;
}
diff --git a/components/presentation/Reveal/UI.jsx b/components/presentation/Presentation.jsx
similarity index 86%
rename from components/presentation/Reveal/UI.jsx
rename to components/presentation/Presentation.jsx
index c355a51..e320fa2 100644
--- a/components/presentation/Reveal/UI.jsx
+++ b/components/presentation/Presentation.jsx
@@ -1,11 +1,12 @@
-"use client";
-import { useEffect, useRef } from "react";
+'use client';
+
+import { useEffect, useRef } from 'react';
import Reveal from 'reveal.js';
import 'reveal.js/dist/reveal.css';
-import 'reveal.js/dist/theme/white.css';
+import 'reveal.js/dist/theme/black.css';
import { marked } from 'marked';
-export default function UI({ data, showNavButtons = false }) {
+export default function Presentation({ data }) {
const deckRef = useRef(null);
const revealRef = useRef(null);
@@ -20,14 +21,6 @@ export default function UI({ data, showNavButtons = false }) {
mangle: false,
});
- // 将 markdown 内容转换为幻灯片
- const slides = parseMarkdownToSlides(data);
-
- // 更新 deck 内容
- if (deckRef.current) {
- deckRef.current.innerHTML = slides;
- }
-
// 初始化 Reveal.js
if (revealRef.current) {
revealRef.current.destroy();
@@ -73,6 +66,17 @@ export default function UI({ data, showNavButtons = false }) {
revealRef.current.initialize();
+ // 在Reveal.js初始化后,更新slides内容
+ setTimeout(() => {
+ if (deckRef.current) {
+ const slides = parseMarkdownToSlides(data);
+ const slidesContainer = deckRef.current.querySelector('.slides');
+ if (slidesContainer) {
+ slidesContainer.innerHTML = slides;
+ }
+ }
+ }, 100);
+
// 清理函数
return () => {
if (revealRef.current) {
@@ -165,7 +169,7 @@ export default function UI({ data, showNavButtons = false }) {
};
return (
-