Riqmiriqmi
CeníkDemoBlog

Návody

Riqmi CMS

Riqmi CMS promění vaše články v publikovaný blog, který můžete zobrazit na vlastním webu. Tento návod vás provede od zapnutí až po propojení s vaším webem.

Co je Riqmi CMS

Riqmi CMS je vestavěný headless systém pro správu obsahu. Články píšete a spravujete v Riqmi a publikované články se zpřístupní přes jednoduché API, ze kterého je čte váš web. Nemusíte nic hostovat — obsah ukládá Riqmi a poskytuje ho připravený k použití.

Riqmi CMS je jedna z několika integrací, které připojíte na stránce Integrace. Zvolte Riqmi CMS, pokud chcete, aby Riqmi hostovalo a poskytovalo váš blog; zvolte jinou integraci (WordPress, Webflow, Wix, Notion nebo vlastní webhook), pokud chcete publikovat do CMS, který už provozujete.

  • Zvolte Riqmi CMS, pokud chcete, aby Riqmi hostovalo a poskytovalo obsah vašeho blogu a vy si jej jen načtete na svůj web.
  • Připojte jinou integraci, pokud už máte vlastní CMS nebo nástroj pro tvorbu webu a chcete, aby do něj Riqmi jen publikovalo.

Zapnutí

Riqmi CMS připojíte na stránce Integrace, stejně jako kteroukoli jinou integraci. Po připojení se zobrazí karta Riqmi CMS, kde jej nastavíte a spravujete.

  • Otevřete stránku Integrace.
  • Vyberte kartu Riqmi CMS v mřížce pro připojení.
  • Zobrazí se karta Riqmi CMS — použijte ji k nastavení blogu a k otevření živého CMS. Pokud jej později chcete vyměnit, klikněte na kartě na Odpojit.

Nastavení blogu

Karta Riqmi CMS má dvě pole. Povinné je jen první.

  • Předpona URL blogu — základní adresa, kde se na vašem webu nacházejí články, např. https://example.com/blog/. Riqmi k ní přidá slug článku a vytvoří veřejnou URL článku.
  • URL revalidačního webhooku (volitelné) — při publikování nebo zrušení publikování pošle Riqmi požadavek na tuto adresu, aby váš web obnovil stránky uložené v cache. Ponechte prázdné pro vypnutí; přidat můžete i později.

Publikování článků

Článek se v CMS objeví až po publikování. Ovládáte to u každého článku zvlášť:

  • Publikovat — poprvé zpřístupnit článek přes CMS.
  • Znovu publikovat — po úpravě publikovaného článku odeslat nejnovější změny do živého CMS.
  • Zrušit publikování — odstranit článek z CMS, ale ponechat jej v Riqmi.

Publikovat můžete z několika míst: z nabídky akcí v seznamu článků, z panelu nástrojů při úpravě článku a z bočního panelu článku.

Stav Publikováno v CMS je oddělený od vlastního stavu článku v pracovním postupu. Článek může být v redakčním postupu označen jako hotový, ale v CMS stále zůstává konceptem, dokud jej nepublikujete — a naopak. CMS poskytuje pouze články, které jste výslovně publikovali.

Co je naživo

Vše, co publikujete, je okamžitě dostupné. Z karty Riqmi CMS si můžete ověřit přesně to, co dostanou vaši návštěvníci a váš web.

  • Zobrazit živé CMS — otevře surový zdroj článků, který čte váš web, takže si ověříte, že se článek poskytuje.
  • sitemap.xml — vždy aktuální mapa stránek s vašimi publikovanými články pro vyhledávače.
  • feed.xml — RSS kanál vašich publikovaných článků.
Odtud to předejte vývojáři

Propojení webu

Tato poslední část je technické propojení, které načte vaše publikované články na váš web. Pokud web nestavíte sami, předejte ji vývojáři — zbytek návodu výše vám stačí.

Váš web potřebuje jednu hodnotu, kterou nastavíte jako proměnnou prostředí: site ID, jedinečný identifikátor vašeho webu, zobrazený na kartě integrace Riqmi CMS.

  • RIQMI_CMS_SITE_ID — jedinečné ID vašeho webu, zkopírované z karty integrace Riqmi CMS.
bash
RIQMI_CMS_SITE_ID="<your-site-id>"   # copy it from the Riqmi CMS integration card

Nainstalujte oficiálního klienta. Je nezávislý na frameworku a nemá žádné runtime závislosti.

bash
pnpm add @riqmi/cms-client
# or: npm i @riqmi/cms-client / yarn add @riqmi/cms-client

Klienta vytvořte jednou a opakovaně používejte. createRiqmiCmsClient vám poskytne listArticles, getArticle a listTags, plus URL pro sitemap a feed.

typescript
// lib/cms.ts
import { createRiqmiCmsClient } from '@riqmi/cms-client'

export const cms = createRiqmiCmsClient({
  siteId: process.env.RIQMI_CMS_SITE_ID ?? '',
  // applied to every request; per-call options override it
  defaultRequestInit: { next: { revalidate: 300 } }
})

Vykreslete blog z klienta. Tato stránka pro Next.js App Router vypíše všechny publikované články; pro celé HTML jednoho článku použijte getArticle(slug).

tsx
// app/blog/page.tsx
import Link from 'next/link'
import { cms } from '@/lib/cms'

export default async function BlogPage() {
  const { items: articles } = await cms.listArticles()

  return (
    <main>
      {articles.map((article) => (
        <article key={article.id}>
          <Link href={`/blog/${article.slug}`}>{article.title}</Link>
          {article.excerpt ? <p>{article.excerpt}</p> : null}
        </article>
      ))}
    </main>
  )
}

Aby se publikování projevilo okamžitě, přidejte route handler pro revalidační webhook a jeho URL vložte do pole URL revalidačního webhooku. Každé načtení má cache tag, takže jeden webhook obnoví přesně to, co se změnilo. Endpoint nepotřebuje žádné tajemství — pouze spustí obnovu cache.

typescript
// app/api/riqmi/revalidate/route.ts
import { revalidateTag } from 'next/cache'
import { parseRiqmiWebhook, riqmiTagsForPayload } from '@riqmi/cms-client'

export async function POST(request: Request) {
  const payload = await parseRiqmiWebhook(request)
  if (!payload) return new Response('Invalid payload', { status: 400 })

  for (const tag of riqmiTagsForPayload(payload)) revalidateTag(tag)
  return Response.json({ revalidated: true })
}

Základní klient funguje všude, kde běží moderní fetch — Remix, čistý Node či edge prostředí. Možnosti cachování pro Next.js se jinde jednoduše ignorují, takže stejný kód je přenositelný.