Skip to content

Commit 02a6900

Browse files
ppiyakk2claude
andauthored
feat: 세션 상세 페이지에 발표 영상·발표자료 추가 (#13)
* feat: 세션 상세 페이지에 발표 영상·발표자료 추가 - 발표 영상: sessionDetails.js에 youtubeId 추가 시 YouTube 임베드 노출 - 발표자료: src/files/slides/<code>.pdf 업로드 시 다운로드 카드 자동 노출 (speakerAvatars와 동일한 import.meta.glob 패턴) - 데이터가 없으면 섹션 자체가 표시되지 않음 - 배치: 세션 소개 → 발표 영상 → 발표자료 → 발표자 소개 - KR/EN i18n 키 추가 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix: 발표자 소개를 세션 소개 바로 아래로 이동 순서: 세션 소개 → 발표자 소개 → 발표 영상 → 발표자료 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat: 발표 영상(youtubeId) 11건 + 발표자료 PDF 11건 추가 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent c3f6c63 commit 02a6900

18 files changed

Lines changed: 243 additions & 0 deletions

src/data/sessionDetails.js

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/data/sessionSlides.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// 발표자료(PDF): src/files/slides/<code>.pdf
2+
// 발표자 아바타(speakerAvatars)와 동일하게 Vite glob으로 한 번만 로드
3+
// 파일을 폴더에 넣기만 하면 자동으로 상세 페이지에 다운로드 버튼이 생김
4+
5+
const modules = import.meta.glob("../files/slides/*.pdf", {
6+
eager: true,
7+
query: "?url",
8+
import: "default",
9+
});
10+
11+
export const sessionSlides = Object.fromEntries(
12+
Object.entries(modules).map(([path, url]) => {
13+
const name = path
14+
.split("/")
15+
.pop()
16+
.replace(/\.pdf$/i, "");
17+
return [name, url];
18+
})
19+
);

src/files/slides/README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# 발표자료 (Presentation slides)
2+
3+
세션 상세 페이지에 노출되는 발표자료 PDF를 두는 폴더입니다.
4+
5+
## 올리는 방법
6+
7+
1. PDF 파일명을 **세션 `code`** 와 똑같이 맞춥니다. (`code``src/data/schedule.js`에서 확인)
8+
2. 이 폴더(`src/files/slides/`)에 `<code>.pdf` 로 넣습니다.
9+
10+
```
11+
src/files/slides/
12+
├─ ai-pair-programming.pdf
13+
├─ pandas-3.pdf
14+
└─ cpython-3-15.pdf
15+
```
16+
17+
코드 수정 없이 상세 페이지에 자동으로 "발표자료" 섹션과 다운로드 버튼이 생깁니다.
18+
(자동 연결 로직: `src/data/sessionSlides.js`)
19+
20+
## 발표 영상은?
21+
22+
영상은 파일이 아니라 `src/data/sessionDetails.js`에서 세션별로 `youtubeId` 한 줄만 추가하면 됩니다.
23+
24+
```js
25+
"ai-pair-programming": {
26+
// ...기존 bio / description...
27+
youtubeId: "dQw4w9WgXcQ",
28+
},
29+
```
1.1 MB
Binary file not shown.

src/files/slides/airflow-101.pdf

1.26 MB
Binary file not shown.

src/files/slides/cpython-3-15.pdf

53.9 KB
Binary file not shown.
3.14 MB
Binary file not shown.
4.95 MB
Binary file not shown.

src/files/slides/keynote-1.pdf

3 MB
Binary file not shown.
1.71 MB
Binary file not shown.

0 commit comments

Comments
 (0)