From 355b01b9dc49582428b8cb369d0f4ce5d2edb31e Mon Sep 17 00:00:00 2001 From: oldli <48485262@qq.com> Date: Thu, 23 Jul 2026 11:27:38 +0800 Subject: [PATCH] PM: html2pptx v4 - add .imported-theme-root slide detection DashiAI real HTML uses .imported-theme-root > .slide.imported-theme-slide, not .ppt-deck > .ppt-slide. Added as first priority selector, . ppt-deck kept as fallback for backward compatibility. Co-Authored-By: Claude Sonnet 5 --- bin/html2pptx.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/bin/html2pptx.js b/bin/html2pptx.js index 6660185..5588cfb 100644 --- a/bin/html2pptx.js +++ b/bin/html2pptx.js @@ -155,10 +155,17 @@ async function main() { const slidesData = await page.evaluate(() => { // ----- Slide detection ----- var slides; - // DashiAI format: .ppt-deck > .ppt-slide - var deck = document.querySelector('.ppt-deck'); - if (deck) { - slides = deck.querySelectorAll(':scope > .ppt-slide'); + // DashiAI format: .imported-theme-root > .slide.imported-theme-slide + var themeRoot = document.querySelector('.imported-theme-root'); + if (themeRoot) { + slides = themeRoot.querySelectorAll(':scope > .slide.imported-theme-slide'); + } + if (!slides || slides.length <= 1) { + // DashiAI old format: .ppt-deck > .ppt-slide + var deck = document.querySelector('.ppt-deck'); + if (deck) { + slides = deck.querySelectorAll(':scope > .ppt-slide'); + } } if (!slides || slides.length <= 1) { slides = document.querySelectorAll(