fix(lecture-ppt): PPT XML 추출 텍스트 목록 제거, 슬라이드 이미지만 표시

Made-with: Cursor
This commit is contained in:
2026-04-18 08:31:51 +09:00
parent b4eb5da365
commit 72e8ff6ee5
2 changed files with 3 additions and 11 deletions

View File

@@ -57,7 +57,7 @@
- 강의 상세에서 iframe 임베드로 재생 - 강의 상세에서 iframe 임베드로 재생
- PPT 강의 등록/시청 - PPT 강의 등록/시청
- `.pptx` 파일 업로드 - `.pptx` 파일 업로드
- 상세에서 슬라이드 이미지(PNG) 뷰어, 이미지가 없을 때만 XML 텍스트 목록(폴백) - 상세에서 슬라이드 이미지(PNG)만 표시(XML 텍스트 추출 목록은 표시하지 않음)
- 목록 카드에 PPT 프리뷰(첫 슬라이드 제목 + 장수) 표시 - 목록 카드에 PPT 프리뷰(첫 슬라이드 제목 + 장수) 표시
- macOS 환경에서는 `qlmanage` 기반 실제 썸네일(첫 장 이미지) 자동 생성 - macOS 환경에서는 `qlmanage` 기반 실제 썸네일(첫 장 이미지) 자동 생성
- 썸네일 백그라운드 큐 - 썸네일 백그라운드 큐
@@ -109,7 +109,7 @@ ai_platform/
│ ├─ ai-cases-write.ejs # AI 성공 사례 관리자 등록·편집 │ ├─ ai-cases-write.ejs # AI 성공 사례 관리자 등록·편집
│ ├─ ax-apply.ejs # AX 과제 신청 │ ├─ ax-apply.ejs # AX 과제 신청
│ ├─ lecture-youtube.ejs # 유튜브 강의 상세 (iframe 임베드) │ ├─ lecture-youtube.ejs # 유튜브 강의 상세 (iframe 임베드)
│ ├─ lecture-ppt.ejs # PPT 강의 상세 (슬라이드 이미지 + 텍스트 폴백) │ ├─ lecture-ppt.ejs # PPT 강의 상세 (슬라이드 이미지)
│ └─ admin-thumbnail-events.ejs # 썸네일 이벤트 로그 관리자 페이지 │ └─ admin-thumbnail-events.ejs # 썸네일 이벤트 로그 관리자 페이지
├─ data/ ├─ data/
│ ├─ lectures.json # 강의 메타데이터 (ENABLE_POSTGRES=0 또는 DB 폴백 시) │ ├─ lectures.json # 강의 메타데이터 (ENABLE_POSTGRES=0 또는 DB 폴백 시)
@@ -468,7 +468,7 @@ OPENAI_API_KEY=
2. 하단 **등록된 강의** 카드에서 항목 클릭 2. 하단 **등록된 강의** 카드에서 항목 클릭
3. 강의 상세 화면에서 시청 3. 강의 상세 화면에서 시청
- 유튜브: 동영상 재생 - 유튜브: 동영상 재생
- PPT: 슬라이드 이미지 확인(생성된 경우), 미생성 시 텍스트 목록 폴백 - PPT: 슬라이드 이미지 확인(생성 장은 이미지 없이 카드만 표시)
### 검색/필터 ### 검색/필터

View File

@@ -34,20 +34,12 @@
<article class="slide-card"> <article class="slide-card">
<header> <header>
<h2>슬라이드 <%= index + 1 %></h2> <h2>슬라이드 <%= index + 1 %></h2>
<% if (slide.title && !slideImageUrls[index]) { %><p><%= slide.title %></p><% } %>
</header> </header>
<% if (slideImageUrls[index]) { %> <% if (slideImageUrls[index]) { %>
<div class="slide-image-wrap"> <div class="slide-image-wrap">
<img src="<%= slideImageUrls[index] %>" alt="슬라이드 <%= index + 1 %>" class="slide-image" /> <img src="<%= slideImageUrls[index] %>" alt="슬라이드 <%= index + 1 %>" class="slide-image" />
</div> </div>
<% } %> <% } %>
<% if (slide.lines && slide.lines.length > 0 && !slideImageUrls[index]) { %>
<ul>
<% slide.lines.forEach((line) => { %>
<li><%= line %></li>
<% }) %>
</ul>
<% } %>
</article> </article>
<% }) %> <% }) %>
</section> </section>