尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證교통여지도: 한국교통대 학생 추천 충주 맛집·카페·주점 지도 (카카오맵)
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗한국교통대 학생들이 추천한 충주 맛집·카페·주점 94곳을 음식 그림으로 고르고, 필요할 때 카카오맵에서 위치를 보는 모바일 웹앱.
index.html + style.css + app.js (+ logic.js 순수 계산, motion.js 애니메이션, glass.js 유리 반사광·굴절)#/, #/p/<가게>, #/map, #/map/<가게>./ 검색, Esc 닫기.data/places.json — 원본 엑셀을 scripts/build_places.py로 한 번 변환(좌표 포함). 앱은 실행 중 카카오 로컬 API를 부르지 않는다.logic.js의 foodType())별 AI 생성 예시 사진이다. 같은 종류 안에서도 foodPhoto()가 이름과 첫 메뉴로 변형 사진(뼈해장국·막창)을 고른다. img/food/<key>.webp(960px) + <key>-480.webp(480px)를 srcset으로 고른다.맛집과 따로 교통대 명소를 지도에 띄운다. 학생이 지도에 핀을 꽂고 사진 1~3장과 글을 보내면 승인 대기가 되고, 운영자가 admin.html에서 승인한 것만 지도에 별 모양 핀으로 뜬다.
supa.js 맨 위(Project URL, publishable 키). 이 두 값은 공개돼도 된다. sb_secret_…·service_role 키는 어떤 파일에도 넣지 않는다.insert into public.banned_words values ('낱말'); 로 늘린다. 학번·이름은 members 표에만 있고 API 로 읽을 수 없다.gyotong-yeojido 프로젝트 → 왼쪽 SQL Editor → New query → supabase/schema.sql 내용을 전부 붙여넣고 Run. 여러 번 다시 실행해도 안전하다.insert into public.admins (email) values ('내이메일@example.com') on conflict do nothing;
https://yufe9.github.io/gyotong-yeojido/https://yufe9.github.io/gyotong-yeojido/admin.html, http://localhost:8080/admin.htmlnode scripts/check_rls.mjs. 모두 "통과"여야 한다. (확인용 제보 1건이 '대기'에 남으니 admin.html에서 거절하면 사진까지 지워진다.)admin.html(예: https://yufe9.github.io/gyotong-yeojido/admin.html)을 연다.권한은 화면이 아니라 서버(RLS)가 지킨다. 익명은 "대기로 추가"와 "승인된 것 읽기"만 할 수 있고, 대기 목록 보기·수정·삭제·운영자 명단 보기는 막혀 있다. 더 강한 봇 막기가 필요하면 Cloudflare Turnstile(무료 사람 확인)을 붙일 수 있다(아직 넣지 않음).
python -m http.server 8080 # http://localhost:8080 (카카오 콘솔에 등록된 주소)
node --test logic.test.mjs # 필터·정렬·경계·음식 종류·검색·명소 제보 검사 테스트
node scripts/check_rls.mjs # Supabase 막힘(RLS) 실제 확인
Gemini로 만든 2048×2048 PNG(약 8MB, 저장소 밖 ..\제미나이_이미지작업\AI사진\)를 줄여 webp 두 크기로 저장한다. 원본 PNG는 커밋하지 않는다.
사진을 추가하려면 스크립트의 PHOTOS에 한 줄 넣는다. 같은 종류 안의 변형 사진(예: 부대찌개)이면 logic.js의 PHOTO_VARIANTS와 app.js의 PHOTO_ALT에도 넣는다.
출처는 실행할 때 img/food/CREDITS.md로 다시 쓰인다.
pip install pillow
python scripts/make_food_images.py ../제미나이_이미지작업/AI사진 # 전체
python scripts/make_food_images.py ../제미나이_이미지작업/AI사진 pasta --board 비교판.jpg
화면 문구나 데이터를 바꾸면 다시 만들고, 빠진 글자가 없는지 확인한다.
pip install fonttools brotli
python scripts/subset_fonts.py # 다시 만들고 검사
python scripts/subset_fonts.py --check # 검사만
python scripts/build_places.py <원유철_데이터.xlsx 경로>
REST API 키는 환경 변수 KAKAO_REST_API_KEY 또는 ~/.config/kakao/.env에서 읽는다. 저장소에는 넣지 않는다.
fonts/Pretendard-LICENSE.txt)img/food/CREDITS.md (CC0·퍼블릭 도메인·CC BY)img/logo.svg, 지금 화면에서는 쓰지 않음)#d3e5ef, 잉크 #0c1a24, 뮤트 #3f5464, 가로등빛 구리색 강조 #9a4c0c). 값은 style.css 맨 위 :root에만 있다