contentstack-kickstart

द्वारा contentstack

किकस्टार्ट-नेक्स्ट-एसएसआर में Contentstack SDK उपयोग, लाइव प्रीव्यू, env कॉन्फ़िगरेशन, या सामग्री क्वेरी बदलते समय उपयोग करें।

npx skills add https://github.com/contentstack/kickstart-next-ssr --skill contentstack-kickstart

Contentstack kickstart – kickstart-next-ssr

When to use

  • Editing how the stack is created or how Live Preview is wired
  • Adding or changing content types, queries, or types for entries
  • Updating environment variable names or documentation

Instructions

Entry points in this repo

FileRole
lib/contentstack.tsgetStack(), initLivePreview(), getPage() — core SDK and preview behavior
app/page.tsxServer page: reads Live Preview searchParams, applies livePreviewQuery, fetches page
components/ContentstackLivePreview.tsxClient component: calls initLivePreview() when preview is enabled
lib/types.tsTypeScript shapes for Page and nested modular blocks (matches seeded content)
app/layout.tsxImports app/globals.css and mounts <ContentstackLivePreview /> after {children}

Request isolation (getStack)

  • Always create a fresh stack per server request when handling delivery or preview on the server. See the comments in lib/contentstack.ts: a shared instance can leak Live Preview configuration across concurrent requests.
  • getPage(url, stackInstance?) accepts an optional stack so the caller can configure Live Preview on the same instance before fetching.

Live Preview (SSR)

  1. URL/query: Contentstack adds query parameters (e.g. live_preview, content_type_uid, entry_uid, preview_timestamp). app/page.tsx reads them from searchParams.
  2. Server: If live_preview is present, call stack.livePreviewQuery({ ... }) on the stack from getStack(), then pass that stack into getPage("/", stack).
  3. Client: components/ContentstackLivePreview.tsx runs initLivePreview() inside useEffect when NEXT_PUBLIC_CONTENTSTACK_PREVIEW === "true". That uses ssr: true and mode: "builder" in lib/contentstack.ts.

Content query

  • Default page fetch uses content type page, field url with QueryOperation.EQUALS, wired in lib/contentstack.ts.
  • When preview is enabled, contentstack.Utils.addEditableTags is applied to the entry for visual building.

Environment variables

Documented in README.md. All are NEXT_PUBLIC_* in this template (browser-visible). Typical set:

  • NEXT_PUBLIC_CONTENTSTACK_API_KEY
  • NEXT_PUBLIC_CONTENTSTACK_DELIVERY_TOKEN
  • NEXT_PUBLIC_CONTENTSTACK_PREVIEW_TOKEN
  • NEXT_PUBLIC_CONTENTSTACK_REGION
  • NEXT_PUBLIC_CONTENTSTACK_ENVIRONMENT
  • NEXT_PUBLIC_CONTENTSTACK_PREVIEW

Optional overrides for hosts (used internally at Contentstack) appear in lib/contentstack.ts: NEXT_PUBLIC_CONTENTSTACK_CONTENT_DELIVERY, NEXT_PUBLIC_CONTENTSTACK_PREVIEW_HOST, NEXT_PUBLIC_CONTENTSTACK_CONTENT_APPLICATION, NEXT_PUBLIC_CONTENTSTACK_IMAGE_HOSTNAME (see next.config.mjs for image host allowlist).

Dependencies

  • @contentstack/delivery-sdk — stack and queries
  • @contentstack/live-preview-utils — ContentstackLivePreview.init, types like IStackSdk
  • @timbenniks/contentstack-endpoints — region and endpoint resolution
  • isomorphic-dompurify — sanitization where used in UI

contentstack की और Skills

cms-assets
contentstack
डेवलपर्स को Contentstack में एसेट्स को व्यवस्थित करने, वितरित करने और बदलने के बारे में सलाह दें। फोल्डर संरचना, Image Delivery API ट्रांसफॉर्मेशन, प्रकाशन कवर करें...
cms-branches-aliases
contentstack
डेवलपर्स को Contentstack branches का उपयोग करके पृथक सामग्री विकास और aliases के लिए शून्य-डाउनटाइम सामग्री परिनियोजन पर सलाह दें। Branch रणनीति को कवर करें,…
cms-data-modeling-best-practices
contentstack
डेवलपर्स को Contentstack में कंटेंट मॉडल करने के लिए सबसे सरल पुन: प्रयोज्य संरचना का उपयोग करने का मार्गदर्शन करें। यह स्किल बताती है कि कंटेंट टाइप, रेफरेंस, ग्लोबल… का उपयोग कब करना चाहिए।
cms-live-preview-visual-builder-support-assistant
contentstack
Contentstack Live Preview और Visual Builder कार्यान्वयनों का निदान और मार्गदर्शन करें। पूर्वावलोकन संदर्भ का पता लगाएं, टूटे हुए अनुबंध की पहचान करें, और अनुशंसा करें…
cms-releases
contentstack
डेवलपर्स को समन्वित, परमाणु सामग्री परिनियोजन के लिए Contentstack Releases का उपयोग करने पर सलाह दें। रिलीज़ निर्माण, आइटम प्रबंधन, चरणबद्ध परिनियोजन को शामिल करें,…
cms-roles-permissions
contentstack
डेवलपर्स को Contentstack में भूमिकाओं, अनुमतियों, टीमों और टोकन एक्सेस डिज़ाइन करने पर सलाह दें। बिल्ट-इन भूमिकाओं, कस्टम भूमिकाओं, अनुमति विलय,… की व्याख्या करें।
cms-taxonomy
contentstack
डेवलपर्स को संरचित, श्रेणीबद्ध सामग्री वर्गीकरण और डिलीवरी-पक्ष फ़िल्टरिंग के लिए Contentstack Taxonomy का उपयोग करने पर सलाह दें। Taxonomy बनाम tags को कवर करता है,…
cms-tokens-authentication
contentstack
डेवलपर्स को फ्रंटएंड, बैकएंड, ऑटोमेशन और थर्ड-पार्टी ऐप उपयोग के मामलों के लिए सही Contentstack प्रमाणीकरण विधि और टोकन प्रकार चुनने पर सलाह दें।…