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-siteBausteine 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') },
}),
},
})<script setup lang="ts">
const hours = useGinko('hours')
</script>
<template>
<GinkoMarkdown :value="hours.data.text" />
</template>---
note: Am 24. Dezember geschlossen.
---
Dienstag bis Samstag 11–22 Uhr, Sonntag 11–15 Uhr.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.