템플릿 상세 보기 페이지에서 제공하는 "AI 자동 생성 적용" 기능에서 외부 AI API(Claude 등) 호출을 완전히 제거하고, 에디터에 구현된 고성능 클라이언트 사이드 마크다운 파싱 및 스타일 매핑 엔진을 활용하여 즉시 프로젝트를 생성하도록 개선합니다.


사용자 검토 요구 사항

IMPORTANT

주요 변경 사항 및 개선점

  1. AI 관련 입력 제거: 기존 템플릿 뷰 페이지의 AI 생성 모달 내 "생성할 슬라이드 장 수", "AI 모델", "Claude API Key" 입력창을 완전히 삭제합니다.
  2. 마크다운 파일 첨부 기능 추가: 템플릿 뷰 페이지의 AI 생성 모달에 .md 또는 .txt 마크다운 파일을 끌어다 놓거나 선택하여 업로드할 수 있는 파일 첨부 기능을 제공합니다.
  3. 안내 문구 수정: 모달 설명 및 플레이스홀더 텍스트를 "블로그 글, 책 내용, 보고서 등으로 가공된 마크다운 파일을 붙여넣기 하거나 첨부하세요."로 수정합니다.
  4. 로컬 파싱 연동: "슬라이드 생성 시작" 클릭 시 외부 AI를 호출하지 않고, 입력된 텍스트를 sessionStorage에 임시 저장한 후 에디터(app.js)로 리다이렉트합니다. 에디터가 이를 감지하여 로컬에서 즉시 템플릿 테마 스타일을 매핑하고 프로젝트를 생성 및 로드합니다.

Proposed Changes

1. 템플릿 뷰 페이지 UI 및 리다이렉트 로직 수정

기존의 Claude AI API 호출 모달을 간소화하고, 마크다운 파일 입력 및 리다이렉트 처리 로직을 적용합니다.

[MODIFY] 

  • 모달 내 #aiSlideCount (슬라이드 장 수), #aiModelSelect (AI 모델), #aiApiKey (API Key) 입력을 제거합니다.
  • 파일 업로드 제어용 <input type="file" id="aiFileInput" accept=".md,.txt"> 및 "파일 선택" 버튼을 추가합니다.
  • 모달 헤더 및 설명 문구를 마크다운 가이드로 변경합니다.
  • startAiGenerate() 함수를 수정하여:
    • 텍스트 입력창 또는 파일에서 읽은 마크다운 본문을 읽어와 유효성 검사 수행.
    • 마크다운 원본을 sessionStorage.setItem('xslide_import_markdown', sourceText)로 저장.
    • 에디터 경로인 getEditorUrl() + '?applyTemplate=' + templateId + '&aiMode=true&importSource=session'로 즉시 리다이렉트합니다.
  • 파일 선택(handleAiFileChange) 및 삭제(removeAiFile) 헬퍼 함수를 추가합니다.

[MODIFY] 

  • dark_blue 테마와 동일한 모달 UI 변경 및 startAiGenerate(), 파일 업로드 헬퍼 스크립트를 업데이트합니다.

[MODIFY] 

  • 예비/기본 뷰 템플릿 파일에도 동일하게 UI 수정 및 리다이렉트 로직을 적용하여 동기화합니다.

2. 에디터 로컬 파싱 및 매핑 연동

[MODIFY] 

  • init() 함수 내 applyTemplate && aiMode === 'true' 조건 처리 부분을 확장합니다.
  • importSource === 'session'인 경우 sessionStorage에서 xslide_import_markdown 값을 읽어옵니다.
  • 본문 텍스트 창 #ai-generate-text에 값을 대입하고 sessionStorage 임시 키를 삭제한 뒤, #btn-start-ai-generate를 클릭하여 기존 로컬 파싱/저장 파이프라인을 자동 트리거합니다.

[MODIFY] 

  • 스크립트 캐싱 방지를 위해 app.js 버전을 app.js?v=1.0.17로 업데이트합니다.

Verification Plan

수동 검증

  1. 템플릿 뷰 페이지 모달 확인: http://localhost/xslide_site/board/templates/view/273 페이지에 접속 후 내 슬라이드 적용 -> AI 자동 생성 적용을 차례대로 클릭하여 팝업창을 띄웁니다.
  2. UI 요소 변경 검증: 팝업창에서 슬라이드 장 수 조절 드롭다운 및 Claude API Key 입력 부분이 보이지 않고, 마크다운 붙여넣기 창과 파일 업로드 버튼만 정상 노출되는지 확인합니다.
  3. 텍스트 복사/붙여넣기 및 리다이렉트 검증: 테스트용 마크다운 파일 내용(표지 + --- + 본문)을 붙여넣고 슬라이드 생성 시작을 누릅니다.
  4. 파일 첨부 검증: .md 마크다운 파일을 첨부하여 텍스트 창에 채워진 후 생성 시작을 누릅니다.
  5. 에디터 자동 생성 및 이동 검증: 에디터로 리다이렉트된 직후, 로딩 화면의 프로그레스 바가 올라가며 로컬 매핑을 완료하고 정상적으로 슬라이드 편집창이 로드되는지 확인합니다.