Low-code Front-end Design & Development Platform
Front-end development platform, with a visual builder and headless content modelling capabilities. Static website creation, and UI development tools.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证vibe coding experiment
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
글귀를 Unsplash 사진 위에 올려 SNS용 PNG 카드(1:1, 4:5, 9:16)로 저장하는 정적 웹앱입니다. HTML + CSS + 바닐라 JS(빌드 도구 없음)와 Vercel /api 서버리스 함수로 만들었습니다. 자세한 설계는 quote-card-generator-spec.md를 보세요.查看完整 README ↗
글귀를 Unsplash 사진 위에 올려 SNS용 PNG 카드(1:1, 4:5, 9:16)로 저장하는 정적 웹앱입니다.
HTML + CSS + 바닐라 JS(빌드 도구 없음)와 Vercel /api 서버리스 함수로 만들었습니다.
자세한 설계는 quote-card-generator-spec.md를 보세요.
localStorage에 저장하고 새로고침 후 복원, ?text=...&author=...로 글귀 채우기Unsplash Developers에서 앱을 등록하고 Access Key를 발급받습니다.
.env.example을 .env.local로 복사하고 UNSPLASH_ACCESS_KEY를 채웁니다. (커밋 금지)
의존성 설치:
npm install
아래 중 하나로 실행합니다.
# A. Vercel CLI (배포 환경과 가장 비슷함)
npm i -g vercel
vercel dev
# B. Vercel CLI 없이 로컬 서버로 실행 (기본 포트 3333, PORT 환경변수로 변경)
npm run dev:local
브라우저에서 http://localhost:3333(B 기준)을 엽니다.
/api/health가 {"status":"ok","unsplashKeyConfigured":true}를 돌려주면 키가 잘 들어간 것입니다.
index.html을 파일로 직접 열면/api함수가 없어 검색이 동작하지 않습니다. 반드시 위 방법으로 여세요.
/api/search(Zod 검증, content_filter=high, 응답 캐시, 한도 헤더 전달), /api/track-download(허용 주소 검사 후 호출), /api/healthrenderCard()를 사용하고, 직접 만든 줄바꿈과 폰트 로드 후 재렌더 적용js/quotes.js): 의미가 나뉘는 지점에 줄바꿈을 미리 넣음dev-server.mjs): Vercel CLI 설치·로그인 없이 같은 /api 함수를 3333 포트에서 실행utm_source 기본값도 sinabro)localStorage에 기억api/random.js(/photos/random, 캐시 없음)와 TODAY_QUOTESmapPhoto)를 쓰도록 api/_lib.js로 정리assets/logo.png(32×32)를 브라우저 탭 아이콘과 헤더의 "시나브로" 옆 로고로 사용. 로컬 서버가 assets/를 서빙하도록 허용 목록에 추가이번 작업에서 실제 동작 중 발견해 고친 버그는 없습니다. 다음은 확인한 내용과 남은 확인 항목입니다.
downloadLocation 조작 주소 4종이 모두 400이고 Unsplash 호출이 나가지 않음 (SSRF 방어)ixid를 유지하는 배경 URL 조작, 위치 제한을 단독 시험/api/search 검색 성공, 화면에서 배경·글귀·글꼴·크레딧 표시 확인/api/random): 실제 키로 사진이 반환되고 호출마다 다른 사진이 나오며, 잘못된 입력은 400으로 거절됨links.download_location이 실제로 포함되는 것을 확인했습니다(https://api.unsplash.com/photos/<id>/download?...). 값이 비어 있으면 추적 호출을 건너뜁니다.api/ search · random · track-download · health (Access Key는 여기서만 사용)
js/ app · state · api-client · renderer · fonts · export · quotes
assets/ 로고·파비콘 (logo.png)
docs/ README 스크린샷
dev-server.mjs Vercel CLI 없이 쓰는 로컬 서버
index.html, styles.css
content_filter=high로 고정하지만, 부적절한 사진을 완전히 막지는 못합니다.