Tippe, um Seiten und Abschnitte zu finden.

Zum Inhalt
Ginko

Inhalte für Nuxt-Seiten, die Inhaber selbst pflegen.

Ginko trennt die Seite von ihren Inhalten. Entwickler bauen mit normalem Nuxt. Inhaber ändern Öffnungszeiten, Speisekarte und Texte im Studio, mit Freigabe und Zeitplan. Lupinum betreibt das Studio, der Zugang ist auf Einladung; ohne Studio lesen dieselben Bausteine Markdown aus dem Repo.

npm create ginko@latest my-site
  • Bausteine statt Schema-Arbeit

    Ein Baustein beschreibt einen Inhaltstyp mit Feldern. Daraus entstehen Formular, Prüfung, Typen und Bundle.

  • Dateien oder Plattform

    Derselbe Baustein liest heute Markdown aus dem Repo und morgen die Plattform. Der Code der Seite bleibt gleich.

  • Sprachen eingebaut

    Adressen pro Sprache, hreflang, Sprachwechsel und Übersetzungstexte mit ICU, ohne zweites Modul.

  • Freigabe vor dem Livegang

    Änderungen können eine Freigabe brauchen, gehen zu einem Zeitpunkt live und lassen sich zurücknehmen. Lupinum betreibt das Studio, der Zugang ist auf Einladung.

  • Komponenten für Markdown

    Hinweise, Tabs, Schritte, Karten, Code-Gruppen und mehr, mit Feldern im Studio und als shadcn-vue-Registry.

  • Lesbar für Agenten

    Jede Seite gibt es als Markdown, dazu llms.txt und einen MCP-Zugang zur Doku.

Ein Baustein, eine Seite, ein Inhalt

Ein Baustein in ginko.config.ts beschreibt eine Art von Inhalt. Die Seite liest ihn mit einem Composable. Der Inhalt steht in einer Markdown-Datei oder kommt von der Plattform, wo Inhaber ihn im Studio bearbeiten. In beiden Fällen bekommt die Seite ihn als Bundle: alle Inhalte einer Sprache in einer JSON-Antwort.

import { defineSite, single, f } from '@lupinum/ginko'

export default defineSite({
  site: 'linde',
  name: 'Gasthaus zur Linde',
  url: 'https://linde.example',
  timeZone: 'Europe/Vienna',
  locales: ['de', 'en'],
  currency: 'EUR',
  pages: { home: { de: '/', en: '/en' } },
  bricks: {
    hours: single({
      label: 'Öffnungszeiten',
      source: 'files',
      fields: { note: f.text('Hinweis', { optional: true }), text: f.markdown('Zeiten') },
    }),
  },
})

Weiter geht es mit dem Einstieg. Wie sich Ginko von Nuxt Content, einem gehosteten CMS oder einem Git-Editor unterscheidet, steht unter Vergleich und Umstieg.