尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證틸더스 6강 실습 페이지: 교안 + 실습 사이트·복사 클립보드
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗강의마다 직접 만든 웹 교안을 한 책장에 모은 사이트입니다. PDF 업로드·자동 변환 플랫폼이 아닙니다.
npm run dev로 미리보기.live/course-교안ID로 진행 상태를 분리합니다.courses/<교안ID>.js에 강의별 내용과 순서를 작성합니다. 틸더스의 예는 courses/tuilders.js와 app.js입니다. loadCourse()가 반환하는 내용은 아래 형식입니다.catalog.json에 표지 제목·부제·소개·공개 여부와 강의 파일을 추가합니다. 책장에는 실제 완성된 강의만 등록합니다.export async function loadCourse() {
return {
chapters: [{id:'intro',title:'시작하기',page:1,sites:[['실습 사이트','https://example.com']],clips:[]}],
pages: [{n:1,title:'교안 제목',chapter:'intro',image:'courses/sample/001.webp',width:1600,height:900,
links:[{label:'실습 열기',url:'https://example.com'}]}],
activities: [{id:'practice-1',chapter:'intro',afterPage:1,title:'직접 만들어 보기',
html:'<p>이 강의에 맞게 직접 작성한 실습 설명</p>',sites:[['실습 사이트','https://example.com']],
clips:[['복사할 프롬프트','이 강의에서 사용할 프롬프트']]}]
};
}
상시 공개 항목은 access: "public", module: "courses/<교안ID>.js"로 연결합니다. 표지에는 title, subtitle, description, label, pages, color(forest/blue/clay)를 사용합니다.
비밀번호 창만 씌우고 본문 파일을 공개하지 않습니다. 작성한 교안의 JSON(이미지는 base64 data URL 포함)을 배포 폴더 밖에서 준비하고 python tools/encrypt-course.py <원본JSON> courses/<교안ID>.locked.json으로 암호화합니다. 비밀번호는 터미널에 보이지 않게 입력하며 저장하지 않습니다. Python cryptography가 필요합니다.
책장 항목에 access: "private", file: "courses/<교안ID>.locked.json"을 지정하고 module은 넣지 않습니다. 브라우저에서 PBKDF2-SHA256 600,000회와 AES-256-GCM으로 본문을 엽니다. 틀린 비밀번호와 변조된 파일은 열리지 않습니다. 비밀번호나 복호화 내용은 localStorage에 저장하지 않으며 책장으로 돌아가면 해제합니다. 강사 계정도 비밀번호를 거쳐 입장합니다.
원본 JSON·이미지·PDF/PPT를 공개 저장소나 배포 폴더에 넣지 않습니다. 원본은 private-source/처럼 제외된 폴더 또는 사이트 바깥에 둡니다. 암호화는 공유 비밀번호 방식이므로 이미 내용을 열어 본 사람의 복사를 막거나 개인별 접근을 회수하는 기능은 아닙니다.
slides.json와 slides/*.webpapp.jscourses/tuilders.js의 practiceAftercourses/tuilders-links.json. 원본 이미지의 링크와 함께, 각 장 아래 실제 링크와 오른쪽 관련 자료를 제공합니다.#deck, #c1 등의 주소도 틸더스의 해당 위치로 연결됩니다.실습 색상과 같은 공통 모양은 style.css, 책장·읽기·예상 화면은 reader.js, 기존 강사 인증과 진행 전달은 realtime.js에 있습니다. 새 강의의 내용이 늘어나도 기존 강의를 고치지 않습니다.
책장에서 강의를 열고 강사 로그인 → 강의 시작. 강사가 읽는 교안·실습 위치가 이 강의의 참여자에게 전달됩니다. 연수자는 '자유롭게 읽기'와 '강사 따라가기'를 고를 수 있습니다. 강의 종료 후에도 공개 교안은 계속 읽을 수 있습니다. 책장으로 돌아가거나 예상 화면을 켜고 끄는 동작은 다른 사람의 화면을 변경하지 않습니다.
현재 온라인 강사 로그인과 Firestore 쓰기 검증은 실제 강의를 시작하므로 자동 UI 검증에서 수행하지 않습니다. 변경된 화면과 인증 실패·암호화·읽기·복사·목차·예상 화면은 별도로 확인합니다.