WallpaperMachine
당신이 사랑하는 배경화면, 맥에서 새롭게 만나보세요
DrawWise의 핵심 기능을 무료로 시작해 동물을 평가하고, 사냥을 준비하며, 지원 결정을 내리고, 가입 전 이유를 확인합니다
Start free with the DrawWise capability that matters now. Score animals, prepare hunts, make application decisions, and see the reasoning before deciding to join.
라이프스타일TypeScript · CSSGitHub @sray91온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Marketing landing page for DrawWise (hunting draw strategy) with a Sanity-powered blog and a beehiiv newsletter signup, built on Next.js 16 (App Router, Cache Components) and Tailwind CSS 4.
The landing page design is ported from the original static design file. Its CSS lives in app/globals.css (class-based, e.g. .hero, .product-stage) and the product screenshots and logo are in public/landing/.README 전문 보기 ↗Marketing landing page for DrawWise (hunting draw strategy) with a Sanity-powered blog and a beehiiv newsletter signup, built on Next.js 16 (App Router, Cache Components) and Tailwind CSS 4.
The landing page design is ported from the original static design file. Its CSS lives in app/globals.css (class-based, e.g. .hero, .product-stage) and the product screenshots and logo are in public/landing/.
cacheComponents — pages are prerendered into a static shell; blog content is cached with tags and revalidated hourly or on demand./studio.vercel link # once, links this folder to the Vercel project
vercel integration add sanity/project # accept the marketplace terms in the browser if prompted
vercel env pull # writes NEXT_PUBLIC_SANITY_* into .env.local
If you created your Sanity account through the integration, add a Google or GitHub login in Sanity account settings so you can sign in to the Studio.
Then deploy the schema so the Studio can use it and open /studio to publish your first post:
npx sanity schema deploy # optional; the embedded Studio works without it
npm run dev # open http://localhost:3000/studio
In beehiiv go to Settings → Integrations → API, create an API key, and copy your publication ID (pub_…). Add both locally and on Vercel:
vercel env add BEEHIIV_API_KEY
vercel env add BEEHIIV_PUBLICATION_ID
vercel env pull
Set SANITY_REVALIDATE_SECRET to any random string (locally and on Vercel), then create a webhook in
sanity.io/manage → your project → API → Webhooks:
| Field | Value |
|---|---|
| URL | https://<your-domain>/api/revalidate |
| Trigger | Create, Update, Delete |
| Filter | _type in ["post", "author", "category"] |
| Secret | the same value as SANITY_REVALIDATE_SECRET |
Without the webhook, content still refreshes on its own within an hour.
See .env.example for the full list of variables.
app/
(site)/ landing page, /blog, /blog/[slug] (share header + footer)
studio/[[...tool]] embedded Sanity Studio
api/revalidate Sanity webhook → revalidateTag
actions/subscribe Server Action for the newsletter form
components/ header, footer, product stage (rotating screenshots), newsletter form, post card, …
lib/site.ts site name, tagline, nav, app links, newsletter copy — edit this first
lib/beehiiv.ts beehiiv API client (server only)
sanity/
schemaTypes/ post, author, category, blockContent
lib/ client, GROQ queries, cached fetch helpers, image URL builder
sanity.config.ts Studio config
npm run dev # start dev server
npm run build # production build
npm run lint # eslint