From eaa0c52624fc90306393d6a4d2e552f7571e3484 Mon Sep 17 00:00:00 2001 From: trueberryless Date: Tue, 15 Apr 2025 11:19:52 +0200 Subject: [PATCH 01/14] feat: translate getting-started --- .../docs/de/start-here/getting-started.mdx | 365 ++++++++++++++++++ 1 file changed, 365 insertions(+) create mode 100644 src/content/docs/de/start-here/getting-started.mdx diff --git a/src/content/docs/de/start-here/getting-started.mdx b/src/content/docs/de/start-here/getting-started.mdx new file mode 100644 index 00000000..ded67156 --- /dev/null +++ b/src/content/docs/de/start-here/getting-started.mdx @@ -0,0 +1,365 @@ +--- +i18nReady: true +title: Erste Schritte +description: Beginne mit der Erstellung von StudioCMS. +sidebar: + order: 1 +--- + +import { PackageManagers } from 'starlight-package-managers' +import TursoCLI from '~/components/TursoCLI.astro'; +import { Aside, Steps, Tabs, TabItem } from '@astrojs/starlight/components'; +import ReadMore from '~/components/ReadMore.astro'; +import { sponsors, SponsorLink } from '~/share-link' + +## Los geht's + +Um StudioCMS zu benutzen, brauchst du: + +- Eine von [Astro unterstützte Version von Node.js](https://docs.astro.build/de/install-and-setup/#prerequisites) (Bun und Deno werden nicht unterstützt) +- Ein Astro-Projekt +- Ein libSQL-Anbieter oder ein selbst gehosteter libSQL-Server +- Die StudioCMS-Integration + +## Bereite deine Datenbank vor + +StudioCMS verwendet `@astrojs/db`, um sich mit deiner libSQL-Datenbank zu verbinden. Du kannst jeden libSQL-Anbieter oder einen selbst gehosteten libSQL-Server verwenden. + +Wenn du die StudioCMS CLI verwendest, kannst du diesen Schritt überspringen und die CLI verwenden, um eine neue Datenbank zu erstellen, wenn du die Turso CLI installiert hast. + +Weitere Informationen zu den erforderlichen Umgebungsvariablen findest du unter [Datenbank-URL und Token für `@astrojs/db`][db-url-token]. + +### Erste Schritte mit Turso + + + + +1. Installiere das +2. bei Turso. +3. Erstelle eine neue Datenbank. + +4. Erhalte und setze `ASTRO_DB_REMOTE_URL` + + 4a. Führe den Befehl `show` aus, um Informationen über die neu erstellte Datenbank zu erhalten: + + + 4b. Kopiere den URL-Wert und setze ihn als Wert für `ASTRO_DB_REMOTE_URL`. + ```bash title=".env" + ASTRO_DB_REMOTE_URL=libsql://studiocms-yourname.turso.io + ``` + +5. Erhalte und setze `ASTRO_DB_APP_TOKEN` + + 5a. Erstelle ein neues Token, um Anfragen an die Datenbank zu authentifizieren: + + + 5b. Kopiere die Ausgabe des Befehls und setze sie als Wert für `ASTRO_DB_APP_TOKEN`. + ```bash title=".env" + ASTRO_DB_APP_TOKEN=eyJhbGciOiJF...3ahJpTkKDw + ``` + + + +Jetzt kannst du mit der Einrichtung deines StudioCMS-Projekts fortfahren! + +### Verwendung eines anderen Anbieters oder einer selbst gehosteten libSQL + +libSQL unterstützt sowohl HTTP als auch WebSockets als Transportprotokoll für einen entfernten Server. Sie unterstützt auch die Verwendung einer lokalen Datei oder einer In-Memory-DB. + +Weitere Informationen zu den erforderlichen Umgebungsvariablen findest du unter [Datenbank-URL und Token für `@astrojs/db`][db-url-token]. + +Weitere Informationen zu allen möglichen libSQL-Optionen (einschließlich lokaler Dateien) findest du unter [den Astro Dokumentationen: Optionen zur Konfiguration der Remote-URL].(https://docs.astro.build/de/guides/astro-db/#remote-url-configuration-options) + +## Erstelle ein StudioCMS-Projekt + + + + + + 1. Erstellen eines StudioCMS-Projekts mit dem Befehl create + + Um mit StudioCMS ein neues Astro-Projekt mit einer unserer vorgefertigten Vorlagen zu erstellen, führst du einfach den folgenden Befehl in deinem Terminal aus: + + + + Nachdem du den Befehl ausgeführt hast, wirst du aufgefordert, ein paar Fragen zu deinem Projekt zu beantworten. Danach erstellt das CLI ein neues Astro-Projekt mit StudioCMS im angegebenen Verzeichnis. + + Danach wirst du aufgefordert, die nächsten Schritte zu befolgen. Dazu gehört, dass du sicherstellst, dass deine Umgebungsvariablen richtig gesetzt sind und dass du das Projekt ausführst, um die Einrichtung abzuschließen. + + 2. Nachdem du das CLI ausgeführt hast, vergewissere dich, dass deine `astro.config.mjs`-Datei richtig konfiguriert ist: + + ```ts twoslash title="astro.config.mjs" {2-4,11-12} + import { defineConfig } from 'astro/config'; + import db from '@astrojs/db'; + import node from '@astrojs/node'; + import studioCMS from 'studiocms'; + + export default defineConfig({ + site: 'https://demo.studiocms.dev/', + output: 'server', + adapter: node({ mode: "standalone" }), + integrations: [ + db(), + studioCMS(), + ], + }); + ``` + + + + + + {/* Note: For some reason this breaks placement of EC-Twoslash popups... must investigate */} + + 1. Erstellen eines neuen Astro-Projekts + + Um ein neues Astro-Projekt zu erstellen, führst du einfach den folgenden Befehl in deinem Terminal aus: + + + + Nachdem du den Befehl ausgeführt hast, wirst du aufgefordert, ein paar Fragen zu deinem Projekt zu beantworten. Danach erstellt das CLI ein neues Astro-Projekt im angegebenen Verzeichnis. + + Du solltest die Meldung „Liftoff confirmed. Explore your project!“, gefolgt von einigen empfohlenen nächsten Schritten. + + `cd` in dein neues Projektverzeichnis, um Astro zu verwenden. + + ```bash + cd my-project + ``` + + Wenn du den npm-Installationsschritt während des CLI-Assistenten übersprungen hast, musst du deine Abhängigkeiten installieren, bevor du fortfährst. + + 2. Um die StudioCMS-Integration zu deinem Projekt hinzuzufügen, musst du das StudioCMS-Paket und seine Abhängigkeiten installieren: + + + + 3. Stelle nach der Installation des Pakets sicher, dass deine Datei `astro.config.mjs` die Integration korrekt importiert und aufruft: + + ```ts twoslash title="astro.config.mjs" {2-4,11-12} + import { defineConfig } from 'astro/config'; + import db from '@astrojs/db'; + import node from '@astrojs/node'; + import studioCMS from 'studiocms'; + + export default defineConfig({ + site: 'https://demo.studiocms.dev/', + output: 'server', + adapter: node({ mode: "standalone" }), + integrations: [ + db(), + studioCMS(), + ], + }); + ``` + + {/* */} + + + + + + {/* */} + + 1. Erstellen eines neuen Astro-Projekts + + Um ein neues Astro-Projekt zu erstellen, führst du einfach den folgenden Befehl in deinem Terminal aus: + + + + Nachdem du den Befehl ausgeführt hast, wirst du aufgefordert, ein paar Fragen zu deinem Projekt zu beantworten. Danach erstellt das CLI ein neues Astro-Projekt im angegebenen Verzeichnis. + + Du solltest die Meldung „Liftoff confirmed. Explore your project!“, gefolgt von einigen empfohlenen nächsten Schritten. + + `cd` in dein neues Projektverzeichnis, um Astro zu verwenden. + + ```bash + cd my-project + ``` + + Wenn du den npm-Installationsschritt während des CLI-Assistenten übersprungen hast, musst du deine Abhängigkeiten installieren, bevor du fortfährst. + + 2. Um die StudioCMS-Integration in dein Projekt zu integrieren, musst du das Astro StudioCMS-Paket und seine Abhängigkeiten installieren: + + + + 3. Aktualisiere deine `astro.config.mjs`-Datei: + + ```ts twoslash title="astro.config.mjs" {2-4,11-12} + import { defineConfig } from 'astro/config'; + import db from '@astrojs/db'; + import node from '@astrojs/node'; + import studioCMS from 'studiocms'; + + export default defineConfig({ + site: 'https://demo.studiocms.dev/', + output: 'server', + adapter: node({ mode: "standalone" }), + integrations: [ + db(), + studioCMS(), + ], + }); + ``` + {/* */} + + + + + +Bitte beachte, dass die Option `site` in der Datei `astro.config.mjs` erforderlich ist, damit StudioCMS korrekt funktioniert. Du kannst hier die URL deiner Website oder eine Platzhalter-URL angeben. (z.B. `https://demo.studiocms.xyz/` oder `http://localhost:4321/`) + + + +## Authentifizierung konfigurieren + +StudioCMS Auth benötigt mindestens den [Encryption Key][encryption-key], der in deiner `.env` Datei gesetzt sein muss. + +Die folgenden Umgebungsvariablen sind für die StudioCMS-Authentifizierung erforderlich: + +```bash title=".env" +# Verschlüsselungsschlüssel für die Authentifizierung mit Benutzernamen und Passwort +CMS_ENCRYPTION_KEY="wqR+w...sRcg==" +``` + +Du kannst einen sicheren Verschlüsselungsschlüssel mit dem folgenden Befehl erzeugen: + +```bash +openssl rand --base64 16 +``` + +Und setze die Ausgabe als Wert für `CMS_ENCRYPTION_KEY`. + + +Weitere Informationen über alle verfügbaren Umgebungsvariablen für die Authentifizierung findest du auf der Seite [Umgebungsvariablen][environment-variables]. + + +### Optional: Konfiguriere die oAuth-Authentifizierung + +StudioCMS unterstützt die oAuth-Authentifizierung mit GitHub, Discord, Google und Auth0. Um die oAuth-Authentifizierung zu konfigurieren, musst du die [erforderlichen Umgebungsvariablen in deiner `.env`-Datei][oauth-environment-variables] setzen und sicherstellen, dass der Provider [in deiner Konfiguration][auth-config-ref] aktiviert ist. + +Um oAuth-Anbieter einzurichten, benötigen sie eine Callback-URL. Die Callback-URL ist der Pfad, an den der Anbieter den Nutzer nach der Authentifizierung weiterleiten wird. + +#### Einrichten der Callback-URL + +Die Callback-URL sollte je nach deiner Umgebung auf einen der folgenden Pfade gesetzt werden: + +| Umgebung | Callback-URL | +|---------------|--------------| +| Produktion | `https://your-domain.tld/studiocms_api/auth//callback` | +| Testen & Entwickelung | `http://localhost:4321/studiocms_api/auth//callback` | + +#### Beispiel für Callback-URL-Pfade + +Die folgenden Pfade sind Beispiele für die Callback-URL für jeden Anbieter: + +| Anbieter | Callback-Pfad | +|----------|---------------| +| GitHub | `/studiocms_api/auth/github/callback` | +| Discord | `/studiocms_api/auth/discord/callback` | +| Google | `/studiocms_api/auth/google/callback` | +| Auth0 | `/studiocms_api/auth/auth0/callback` | + +## Konfiguriere deine `package.json`-Skripte + +Richte deine `package.json`-Skripte so ein, dass sie das `--remote`-Flag für Build und optional für die Entwicklung enthalten. (Du kannst den Entwicklungsbefehl auch so ausführen, wie im Abschnitt [„Ausführen deines StudioCMS-Projekts“](#ausführen-deines-studiocms-projekts) gezeigt). + +```json /--remote/ title="package.json" +{ + "name": "my-studiocms-project", + "scripts": { + "dev": "astro dev --remote", + "build": "astro check & astro build --remote", + "astro": "astro" + } +} +``` + +## Ausführen deines StudioCMS-Projekts + +Dank der Leistungsfähigkeit von Astro ist der Betrieb von StudioCMS so einfach wie das Ausführen des Entwickelungsbefehls für die lokale Vorschau oder das Erstellen und Bereitstellen auf deinem Server. + +### Erstmalige Einrichtung (oder bei Aktualisierungen, wenn das Tabellenschema aktualisiert wird) + +Um dein Astro-Projekt zu starten, führe die folgenden Befehle in deinem Terminal aus: + + + + + + +Nachdem du die Befehle ausgeführt hast, solltest du eine Meldung sehen, die besagt, dass dein Projekt unter `localhost:4321` läuft. Wenn du StudioCMS zum ersten Mal einrichtest, wirst du aufgefordert, die Konfiguration von StudioCMS unter `http://localhost:4321/start` abzuschließen. + +### Lokale Ausführung im Astro-Entwicklungsmodus + +Um dein Astro-Projekt zu starten, führe den folgenden Befehl in deinem Terminal aus: + + + +Nachdem du den Befehl ausgeführt hast, solltest du eine Meldung sehen, die besagt, dass dein Projekt unter `localhost:4321` läuft. Öffne deinen Browser und navigiere zu `http://localhost:4321`, um dein Astro-Projekt in Aktion zu sehen. + +**Glückwunsch!** 🥳 Du hast jetzt StudioCMS in deinem Astro-Projekt installiert. + +### Hinzufügen eines Frontends zu deinem StudioCMS-Projekt + +StudioCMS ist ein Headless Astro CMS, d.h. du musst dein eigenes Frontend bereitstellen, um die Inhalte anzuzeigen. Wenn du ein bereits fertiges Frontend suchst, kannst du unsere Plugins im [Paket-Katalog][package-catalog] ausprobieren. + +#### Einen Blog einrichten + +Wenn du einen Blog einrichten möchtest, kannst du das Plugin `@studiocms/blog` verwenden. + +Um das Blog-Plugin zu installieren und einzurichten, führe den folgenden Befehl in deinem Terminal aus: + + + +Nachdem du das Plugin installiert hast, musst du es zu deiner Datei `studiocms.config.mjs` hinzufügen: + +```ts twoslash title="studiocms.config.mjs" +import { defineStudioCMSConfig } from 'studiocms/config'; +import blog from '@studiocms/blog'; + +export default defineStudioCMSConfig({ + dbStartPage: false, + plugins: [ + blog(), + ], +}); +``` + +### Erstellen und Bereitstellen deines StudioCMS-Projekts + +Nachdem du die [Schritte für die Ersteinrichtung](#erstmalige-einrichtung-oder-bei-aktualisierungen-wenn-das-tabellenschema-aktualisiert-wird) ausgeführt hast, solltest du dein StudioCMS-Projekt erstellen und auf deinem Server bereitstellen. + +Standardmäßig ist das Dashboard von StudioCMS unter `http://your-domain.tld/dashboard` verfügbar. + +Dieses Dashboard steht dir zur Verfügung, um deine Inhalte und Einstellungen im Entwicklungs- und Produktionsmodus zu verwalten. + +Es wird empfohlen, StudioCMS nur im Produktionsmodus zu verwenden, da das Dashboard für das erstellte Projekt gedacht ist. (Im Entwicklungsmodus können einige Probleme/Fehler auftreten, z. B. ein Vite Entwicklungsfehler). + +## Nächste Schritte + + +Hier erfährst du, wie du [Umgebungsvariablen][environment-variables] in StudioCMS einstellst. + + + +Schau dir den [Paketkatalog][package-catalog] an, um Plugins mit StudioCMS zu finden und zu verwenden. + + + +Mehr über die StudioCMS-Konfigurationsoptionen erfährst du auf den Seiten [StudioCMS Referenz][config-reference]. + + +{/* Links */} +[package-catalog]: /de/package-catalog/ +[environment-variables]: /de/start-here/environment-variables/ +[config-reference]: /de/config-reference/ +[db-url-token]: /de/start-here/environment-variables/#database-url-and-token-for-astrojsdb +[encryption-key]: /de/start-here/environment-variables/#encryption-key-for-studiocmsauth +[oauth-environment-variables]: /de/start-here/environment-variables/#oauth-authentication-environment-variables +[auth-config-ref]: /de/config-reference/dashboard/#authconfig \ No newline at end of file From 29984691f121ead37464a66ef7e41b4f3b4b30ba Mon Sep 17 00:00:00 2001 From: trueberryless Date: Tue, 15 Apr 2025 11:36:50 +0200 Subject: [PATCH 02/14] feat: translate environment-variables --- .../de/start-here/environment-variables.mdx | 112 ++++++++++++++++++ .../docs/de/start-here/getting-started.mdx | 6 +- 2 files changed, 115 insertions(+), 3 deletions(-) create mode 100644 src/content/docs/de/start-here/environment-variables.mdx diff --git a/src/content/docs/de/start-here/environment-variables.mdx b/src/content/docs/de/start-here/environment-variables.mdx new file mode 100644 index 00000000..9849583c --- /dev/null +++ b/src/content/docs/de/start-here/environment-variables.mdx @@ -0,0 +1,112 @@ +--- +i18nReady: true +title: Umgebungsvariablen +description: Ein kurzer Überblick über die in StudioCMS verwendeten Umgebungsvariablen. +sidebar: + order: 2 +--- + +import { Aside } from '@astrojs/starlight/components'; +import ReadMore from '~/components/ReadMore.astro'; + +Damit StudioCMS richtig funktioniert, musst du die richtigen Umgebungsvariablen einrichten. Diese Variablen sind wichtig, um eine sichere Verbindung zu Astro DB herzustellen und sich bei der StudioCMS-API zu authentifizieren. Wenn du diese Umgebungsvariablen nicht richtig konfigurierst, wird die Anwendung nicht wie vorgesehen funktionieren. + +Du kannst eine `.env`-Datei im Hauptverzeichnis deines Projekts erstellen und die benötigten Umgebungsvariablen hinzufügen. Die Datei `.env` ist eine Textdatei, die Schlüssel-Wert-Paare von Umgebungsvariablen enthält. Die Umgebungsvariablen werden von der Anwendung zur Laufzeit gelesen. + +Wie du in Zukunft mit Umgebungsvariablen in Astro arbeitest, kannst du unter [Umgebungsvariablen](https://docs.astro.build/de/guides/environment-variables/) in der Astro-Dokumentation nachlesen. + +## Erforderliche Umgebungsvariablen + +Um StudioCMS nutzen zu können, musst du einige Umgebungsvariablen in deiner `.env`-Datei einrichten. + +### Datenbank URL und Token für `@astrojs/db` + +`ASTRO_DB_REMOTE_URL` - Die Verbindungs-URL zu deinem libSQL-Server +`ASTRO_DB_APP_TOKEN` - Das App-Token für deinen libSQL-Server + +```bash title=".env" +ASTRO_DB_REMOTE_URL=libsql://your.server.io +ASTRO_DB_APP_TOKEN=eyJh...RUCg +``` + +Weitere Informationen zu `@astrojs/db` findest du in der [Astro-Dokumentation für Astro DB](https://docs.astro.build/en/guides/astro-db/) + +### Verschlüsselungsschlüssel für `@studiocms/auth` + +`CMS_ENCRYPTION_KEY` - Ein sicherer Verschlüsselungsschlüssel zum Verschlüsseln sensibler Daten + +```bash title=".env" +CMS_ENCRYPTION_KEY="wqR+w...sRcg==" +``` + + + +## Optionale Umgebungsvariablen + +### oAuth Authentifizierung Umgebungsvariablen + + +Weitere Informationen zum Einrichten der oAuth-Authentifizierung findest du in der [„oAuth-Authentifizierung konfigurieren“][config-oauth]-Dokumentation. + + +#### GitHub (Optional) + +Um dich bei GitHub zu authentifizieren, musst du die folgenden Umgebungsvariablen zu deiner `.env`-Datei hinzufügen: + +```bash title=".env" +# Anmeldeinformationen für GitHub OAuth +CMS_GITHUB_CLIENT_ID= +CMS_GITHUB_CLIENT_SECRET= +CMS_GITHUB_REDIRECT_URI= +``` + + + +#### Discord (Optional) + +```bash title=".env" +# Anmeldeinformationen für Discord OAuth +CMS_DISCORD_CLIENT_ID= +CMS_DISCORD_CLIENT_SECRET= +CMS_DISCORD_REDIRECT_URI= +``` + +#### Google (Optional) + +```bash title=".env" +# Anmeldeinformationen für Google OAuth +CMS_GOOGLE_CLIENT_ID= +CMS_GOOGLE_CLIENT_SECRET= +CMS_GOOGLE_REDIRECT_URI= +``` + +#### Auth0 (Optional) + +```bash title=".env" +# Anmeldeinformationen für auth0 OAuth +CMS_AUTH0_CLIENT_ID= +CMS_AUTH0_CLIENT_SECRET= +CMS_AUTH0_DOMAIN= +CMS_AUTH0_REDIRECT_URI= +``` + +### Umgebungsvariablen für den Image Handler + +#### Cloudinary (Optional) + +Wenn du dich entscheidest, das integrierte Cloudinary-Plugin zu verwenden, musst du Folgendes definieren: + +```bash title=".env" +## Cloudinary Javascript SDK +CMS_CLOUDINARY_CLOUDNAME="demo" +``` + +{/* Links */} +[config-oauth]: /de/start-here/getting-started/#optional-konfiguriere-die-oauth-authentifizierung \ No newline at end of file diff --git a/src/content/docs/de/start-here/getting-started.mdx b/src/content/docs/de/start-here/getting-started.mdx index ded67156..4df3bf37 100644 --- a/src/content/docs/de/start-here/getting-started.mdx +++ b/src/content/docs/de/start-here/getting-started.mdx @@ -359,7 +359,7 @@ Mehr über die StudioCMS-Konfigurationsoptionen erfährst du auf den Seiten [Stu [package-catalog]: /de/package-catalog/ [environment-variables]: /de/start-here/environment-variables/ [config-reference]: /de/config-reference/ -[db-url-token]: /de/start-here/environment-variables/#database-url-and-token-for-astrojsdb -[encryption-key]: /de/start-here/environment-variables/#encryption-key-for-studiocmsauth -[oauth-environment-variables]: /de/start-here/environment-variables/#oauth-authentication-environment-variables +[db-url-token]: /de/start-here/environment-variables/#datenbank-url-und-token-für-astrojsdb +[encryption-key]: /de/start-here/environment-variables/#verschlüsselungsschlüssel-für-studiocmsauth +[oauth-environment-variables]: /de/start-here/environment-variables/#oauth-authentifizierung-umgebungsvariablen [auth-config-ref]: /de/config-reference/dashboard/#authconfig \ No newline at end of file From b66ae4752e5dc38ae21640107c1a6062dc9dead4 Mon Sep 17 00:00:00 2001 From: trueberryless Date: Tue, 15 Apr 2025 11:37:06 +0200 Subject: [PATCH 03/14] feat: add .prettierignore to ignore md and mdx files --- .prettierignore | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .prettierignore diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..a65c4a94 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,44 @@ +# Dependency directories +node_modules/ +dist/ +build/ +out/ + +# Lock files +pnpm-lock.yaml +package-lock.json +yarn.lock + +# Build and generated files +*.min.* +*.bundle.* +*.map + +# Git and version control +**/.git + +# Framework-specific files +next-env.d.ts +__generated__/ + +# Test and coverage files +coverage/ +*.spec.* +*.test.* + +# Editor-specific files +.vscode/ +.idea/ +*.sublime-project +*.sublime-workspace + +# OS generated files +.DS_Store +Thumbs.db + +# Markdown and MDX files +*.md +*.mdx + +# Changelog +.changeset \ No newline at end of file From b0caf38d4fc78341573d6314f87e43e3ef0aa7b3 Mon Sep 17 00:00:00 2001 From: trueberryless Date: Tue, 15 Apr 2025 11:46:20 +0200 Subject: [PATCH 04/14] feat: translate config and why-studiocms --- .../docs/de/start-here/configuration.mdx | 87 +++++++++++++++++++ .../docs/de/start-here/why-studioCMS.mdx | 30 +++++++ 2 files changed, 117 insertions(+) create mode 100644 src/content/docs/de/start-here/configuration.mdx create mode 100644 src/content/docs/de/start-here/why-studioCMS.mdx diff --git a/src/content/docs/de/start-here/configuration.mdx b/src/content/docs/de/start-here/configuration.mdx new file mode 100644 index 00000000..56a76d0b --- /dev/null +++ b/src/content/docs/de/start-here/configuration.mdx @@ -0,0 +1,87 @@ +--- +i18nReady: true +title: "StudioCMS-Konfiguration" +description: "Optionen für die Definition der StudioCMS-Konfiguration" +sidebar: + order: 3 +--- + +import { FileTree } from '@astrojs/starlight/components'; +import ReadMore from '~/components/ReadMore.astro'; + +# Verfügbare Optionen + +Es gibt zwei Möglichkeiten, die StudioCMS-Integration zu konfigurieren. Im Folgenden findest du Beispiele für die Konfiguration, je nachdem, ob du die Datei `astro.config.mjs` oder die spezielle Datei `studiocms.config.mjs` verwendest + + +Diese Seite zeigt dir, wie und wo du die StudioCMS-Konfiguration definieren kannst. Weitere Informationen zu den StudioCMS-Konfigurationsoptionen findest du auf der [Referenzseite][reference-page]. + + +## Verwendung der Datei `astro.config.mjs`: + +```ts twoslash title="astro.config.mjs" +import db from '@astrojs/db'; +import node from '@astrojs/node'; +import studioCMS from 'studiocms'; +import { defineConfig } from 'astro/config'; + +export default defineConfig({ + site: 'https://demo.studiocms.dev/', + output: 'server', + adapter: node({ mode: "standalone" }), + integrations: [ + db(), + studioCMS({ + dbStartPage: false, + // ...AndereKonfigurationsOptionen + }), + ], +}); +``` + +## Verwendung der Datei `studiocms.config.mjs` (empfohlen): + +Wenn du dich für diese Option entscheidest, musst du sicherstellen, dass du alle StudioCMS-Konfigurationsoptionen in diese Datei verschiebst (siehe unten): + +### Beispiel Dateistruktur + + + +- .env +- astro.config.mjs +- **studiocms.config.mjs** +- studiocms-auth.config.json Automatisch generieren +- package.json +- src + - env.d.ts + - ... + + + +### Beispiel-Konfiguration + +```ts twoslash title="astro.config.mjs" +import db from '@astrojs/db'; +import node from '@astrojs/node'; +import studioCMS from 'studiocms'; +import { defineConfig } from 'astro/config'; + +export default defineConfig({ + site: 'https://demo.studiocms.dev/', + output: 'server', + adapter: node({ mode: "standalone" }), + integrations: [ db(), studioCMS() ], +}); +``` + +```ts twoslash title="studiocms.config.mjs" +import { defineStudioCMSConfig } from "studiocms/config"; + +export default defineStudioCMSConfig({ + dbStartPage: false, + // ...AndereKonfigurationsOptionen +}) +``` + +{/* Links */} +[reference-page]: /de/config-reference/options-schema/ \ No newline at end of file diff --git a/src/content/docs/de/start-here/why-studioCMS.mdx b/src/content/docs/de/start-here/why-studioCMS.mdx new file mode 100644 index 00000000..464d8111 --- /dev/null +++ b/src/content/docs/de/start-here/why-studioCMS.mdx @@ -0,0 +1,30 @@ +--- +i18nReady: true +title: Warum StudioCMS? +description: StudioCMS ist eine Alternative zu herkömmlichen CMS-Plattformen. Es ist ein Headless CMS, das auf Astro DB und Astro basiert, um ein nahtloses Content Management zu ermöglichen. +sidebar: + order: 4 +--- + +Astro ist ein inhaltsorientiertes Framework. Funktionen wie Inhaltssammlungen und die neue Inhaltsebene machen es extrem einfach, Inhalte jeder Größe und Form zu verwalten. + +Allerdings ist es auch eine Lösung, für die du im Grunde genommen ein Entwickler sein musst oder zumindest über ein angemessenes Maß an Wissen darüber verfügen musst, wie Astro die Dateien verwendet, die du in deinem Inhaltsverzeichnis abgelegt hast. Außerdem kannst du die Erfahrung, die Astro bietet, nicht einem Kunden oder einer Person präsentieren, die einfach nur Inhalte verwalten möchte. Dafür brauchst du ein CMS. + +Es gibt viele CMS mit unterschiedlichen Ausprägungen und Funktionen für deine Bedürfnisse, aber keines, das alle Möglichkeiten von Astro vollständig ausschöpft. +Deshalb gibt es StudioCMS: ein CMS, das sich ganz auf Astro konzentriert und das jede einzelne seiner Funktionen nutzen kann, um einen stark verbesserten DX zu bieten. + +## Hauptmerkmale + +- **`@astrojs/db`:** Wir verwenden Astro DB, d.h. du kannst wählen, wo und wie deine Daten gespeichert werden, ob in Turso oder in einer lokalen Datei. + +- **Benutzerdefinierter Markdown-Renderer:** Eingebauter Markdown-Renderer mit Unterstützung für gethemete Callouts und anpassbarem Styling, um deine Bedürfnisse zu erfüllen. + +- **Eingebaute Authentifizierung:** Umfassendes Authentifizierungssystem mit integrierter Unterstützung für Passwortverschlüsselung, Sitzungsmanagement, Ratenbegrenzung und anpassbare Berechtigungsstufen. + +- **WordPress-Importer:** Es ist ganz einfach, von jeder Standard-WordPress-Installation zu StudioCMS zu wechseln! + +- **Plugin-System:** Erweiterbare Plugin-Architektur, die benutzerdefinierte Seitentypen, Dashboard-Widgets und Einstellungsseiten ermöglicht. + +- **Rendering von Inhalten:** Integrierte Unterstützung für anpassbare Inhaltswiedergabe mit Funktionen wie thematischen Callouts und Markdown-Styling. + +- **Mehr in der Zukunft:** StudioCMS wird derzeit aktiv weiterentwickelt! Wir werden im Laufe der Zeit weitere Funktionen hinzufügen, um deine Inhalte noch reibungsloser zu gestalten! Wenn du Vorschläge oder Feedback hast, [öffne ein GitHub Issue](https://github.com/withstudiocms/studiocms/issues/new/choose)! From de614351d4e40b067cab99965e7ca048a74ea18e Mon Sep 17 00:00:00 2001 From: trueberryless Date: Tue, 15 Apr 2025 11:47:15 +0200 Subject: [PATCH 05/14] feat: translate gallery --- src/content/docs/de/start-here/gallery.mdx | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/content/docs/de/start-here/gallery.mdx diff --git a/src/content/docs/de/start-here/gallery.mdx b/src/content/docs/de/start-here/gallery.mdx new file mode 100644 index 00000000..23650a48 --- /dev/null +++ b/src/content/docs/de/start-here/gallery.mdx @@ -0,0 +1,15 @@ +--- +i18nReady: true +title: Galerie +description: Eine kleine Galerie mit Bildern, um StudioCMS vorzustellen +tableOfContents: false +sidebar: + order: 5 +--- + +import Gallery from '~/components/Gallery.astro' +import { mainDemoGalleryImages } from "~/assets/index.ts" + +Dies ist eine kleine Galerie mit Bildern, die die StudioCMS-Integration zeigen. + + From 8ff44bd3282fc1bad09b6aeef846bbb6527c06d5 Mon Sep 17 00:00:00 2001 From: trueberryless Date: Tue, 15 Apr 2025 12:06:48 +0200 Subject: [PATCH 06/14] feat: translate contributing --- .../de/contributing/code-contributions.mdx | 63 +++++++++++++++++++ .../docs/de/contributing/getting-started.mdx | 27 ++++++++ .../docs/de/contributing/translations.mdx | 34 ++++++++++ 3 files changed, 124 insertions(+) create mode 100644 src/content/docs/de/contributing/code-contributions.mdx create mode 100644 src/content/docs/de/contributing/getting-started.mdx create mode 100644 src/content/docs/de/contributing/translations.mdx diff --git a/src/content/docs/de/contributing/code-contributions.mdx b/src/content/docs/de/contributing/code-contributions.mdx new file mode 100644 index 00000000..9e12e093 --- /dev/null +++ b/src/content/docs/de/contributing/code-contributions.mdx @@ -0,0 +1,63 @@ +--- +i18nReady: true +title: Code-Beiträge +description: Erfahre, wie du zu StudioCMS beitragen kannst +sidebar: + order: 2 +--- + +import { Steps } from '@astrojs/starlight/components'; + +In diesem Leitfaden erhältst du einen Überblick über den Beitrags-Workflow vom Eröffnen eines Problems über das Erstellen eines PRs bis hin zum Überprüfen und Zusammenführen des PRs. + +Wenn du Code zu diesem Projekt beitragen möchtest, befolge bitte die folgenden Schritte: + +## Löse ein Problem + +Durchsuche unsere [bestehenden Issues](https://github.com/withstudiocms/studiocms/issues), um eine zu finden, die dich interessiert. Du kannst die Suche eingrenzen, indem du `labels` als Filter verwendest. Wenn du ein Problem findest, an dem du arbeiten möchtest, kannst du gerne einen PR mit einer Lösung eröffnen. + +## Änderungen vornehmen + + +1. Forke das Repository. + - GitHub Desktop verwenden: + - [Erste Schritte mit GitHub Desktop](https://docs.github.com/de/desktop/overview/getting-started-with-github-desktop) führt dich durch die Einrichtung von Desktop. + - Sobald der Desktop eingerichtet ist, kannst du ihn benutzen, um [das Repo zu forken](https://docs.github.com/de/desktop/adding-and-cloning-repositories/cloning-and-forking-repositories-from-github-desktop)! + + - Benutze die Kommandozeile: + - [Forke das Repo](https://docs.github.com/de/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo#fork-an-example-repository), damit du deine Änderungen vornehmen kannst, ohne das ursprüngliche Projekt zu beeinflussen, bis du sie zusammenführen kannst. + +2. Installiere oder aktualisiere **Node.js** und **pnpm**, auf die Versionen, die in [`.prototools`](https://github.com/withstudiocms/studiocms/blob/main/.prototools) definiert sind. + +3. Erstelle einen Branch und beginne mit deinen Änderungen! + +4. Schreibe Tests für deine Änderungen, falls zutreffend. + +5. Aktualisiere die Dokumentation, falls nötig. + + +## Commite deine Änderungen + +Commite die Änderungen, wenn du mit ihnen zufrieden bist. + +## Pull Request + +Wenn du mit den Änderungen fertig bist, erstelle einen Pull Request, auch PR genannt. +- FFülle die Vorlage „Bereit zur Überprüfung“ aus, damit wir deinen PR überprüfen können. Diese Vorlage hilft den Prüfern, deine Änderungen und den Zweck deines Pull Requests zu verstehen. +- Vergiss nicht, [PR zum Issue](https://docs.github.com/de/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue) zu verknüpfen, wenn du eine Aufgabe löst. +- Aktiviere das Kontrollkästchen [Erlaube Bearbeitungen der Maintainer](https://docs.github.com/de/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork), damit der Branch für eine Zusammenführung aktualisiert werden kann. +Sobald du deinen PR eingereicht hast, wird ein Mitglied des Docs-Teams deinen Vorschlag prüfen. Wir können Fragen stellen oder zusätzliche Informationen anfordern. +- Wir können um Änderungen bitten, bevor ein PR zusammengeführt werden kann, entweder mit [Änderungsvorschlägen](https://docs.github.com/de/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork) oder mit Pull Request-Kommentaren. Du kannst die vorgeschlagenen Änderungen direkt über die Benutzeroberfläche übernehmen. Du kannst alle anderen Änderungen in deinem Fork vornehmen und sie dann in deinen Branch übertragen. +- Wenn du deinen PR aktualisierst und Änderungen vornimmst, markiere jede Unterhaltung als [gelöst](https://docs.github.com/de/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#unterhaltungen-auflösen). +- Wenn du auf Probleme beim Zusammenführen stößt, schau dir diese [Git-Anleitung](https://github.com/skills/resolve-merge-conflicts) an, welche dir hilft, Konflikte beim Zusammenführen und andere Probleme zu lösen. + +## Dein PR wird zusammengeführt! + +Herzlichen Glückwunsch! Das StudioCMS-Team dankt dir. Dein Beitrag wird Teil der nächsten Version sein. + +Jetzt, wo du Teil der StudioCMS-Community bist, kannst du uns helfen, andere PRs zu überprüfen, Fragen zu beantworten und anderen Autoren zu helfen. Wenn du es noch nicht getan hast, melde dich in unserem [Discord](https://chat.studiocms.dev) an, um dich mit anderen Autoren und dem StudioCMS-Team auszutauschen. + +Oh, und du wirst dein Gesicht in der [Liste der Mitwirkenden][contributors] sehen! 🎉 + +{/* Links */} +[contributors]: /de/contributing/getting-started/#unsere-mitwirkenden \ No newline at end of file diff --git a/src/content/docs/de/contributing/getting-started.mdx b/src/content/docs/de/contributing/getting-started.mdx new file mode 100644 index 00000000..38d790e4 --- /dev/null +++ b/src/content/docs/de/contributing/getting-started.mdx @@ -0,0 +1,27 @@ +--- +i18nReady: true +title: Erste Schritte +description: Erfahre, wie du zu StudioCMS beitragen kannst +sidebar: + order: 1 +--- +import ContributorList from '~/components/ContributorList.astro'; + +Danke, dass du deine Zeit in unser Projekt investierst! + +Lies unseren [Verhaltenskodex](https://github.com/withstudiocms/studiocms?tab=coc-ov-file#code-of-conduct-), um unsere Gemeinschaft ansprechbar und respektabel zu halten. + +Wir freuen uns über Beiträge aus der Community! Egal, ob es sich um Bug-Reports, Feature Requests oder Code-Beiträge handelt, wir freuen uns über deine Hilfe, dieses Projekt besser zu machen. Wie du dich in unserer Codebasis zurechtfindest, erfährst du im Abschnitt [Wie es funktioniert][how-it-works]. + +## Unsere Mitwirkenden + +Unser Projekt existiert dank all der Menschen, die dazu beitragen. [Tritt uns auf GitHub bei](https://github.com/withstudiocms/studiocms) und trage dich in die Liste ein! + + + +## Fehlerberichte und Feature Requests + +Wenn du auf einen Fehler stößt oder eine neue Funktion vorschlagen möchtest, eröffne bitte einen Fehler in unserem [GitHub Repository](https://github.com/withstudiocms/studiocms). Wenn du ein neues Problem erstellst, gib bitte so viele Details wie möglich an, einschließlich der Schritte zur Reproduktion des Problems (bei Fehlern) und einer klaren Beschreibung der vorgeschlagenen Funktion. + +{/* Links */} +[how-it-works]: /de/how-it-works/ \ No newline at end of file diff --git a/src/content/docs/de/contributing/translations.mdx b/src/content/docs/de/contributing/translations.mdx new file mode 100644 index 00000000..018792d6 --- /dev/null +++ b/src/content/docs/de/contributing/translations.mdx @@ -0,0 +1,34 @@ +--- +i18nReady: true +title: Übersetzungen +description: Erfahre, wie du bei der Übersetzung von StudioCMS helfen kannst +sidebar: + order: 2 + badge: + text: Demnächst + variant: note +--- + +import ReadMore from '~/components/ReadMore.astro'; + +StudioCMS ist ein globales Projekt, und wir wollen es für alle zugänglich machen. Wenn du mehrere Sprachen fließend beherrschst, kannst du uns helfen, StudioCMS in deine Sprache zu übersetzen. + +## Dashboard-i18n + +Aktueller Stand der Übersetzung + +Status der Übersetzung + +Besuche [unser i18n-Dashboard](https://i18n.studiocms.dev), um die Übersetzung von StudioCMS in deine Sprache zu unterstützen. Wenn deine Sprache nicht aufgeführt ist, kannst du sie im Dashboard hinzufügen. + +Wenn du die Übersetzungen lieber direkt in das Repository einbringen möchtest, werden sie im Verzeichnis [`packages/studiocms/src/lib/i18n/translations`](https://github.com/withstudiocms/studiocms/tree/main/packages/studiocms/src/lib/i18n/translations/) gespeichert. Die englischen Übersetzungen findest du in der Datei [`en-us.json`](https://github.com/withstudiocms/studiocms/blob/main/packages/studiocms/src/lib/i18n/translations/en-us.json). + + +StudioCMS nutzt [Crowdin](https://crowdin.com/) für die Verwaltung von Übersetzungen auf GitHub. Wenn du Crowdin noch nicht kennst, findest du auf der Website von Crowdin den [Leitfaden für Übersetzer](https://support.crowdin.com/for-translators/). + + +Sobald die Übersetzungen hinzugefügt wurden, werden sie zur [StudioCMS i18n-Konfiguration](https://github.com/withstudiocms/studiocms/blob/main/packages/studiocms/src/lib/i18n/index.ts#L8) hinzugefügt und sind in der nächsten Version verfügbar. + +## Dokumentation + +**Bald!** Wir arbeiten daran, die StudioCMS-Dokumentation zu übersetzen. Wenn du daran interessiert bist, uns dabei zu helfen, melde dich bitte bei uns auf [Discord](https://chat.studiocms.dev) From e990c36efbe3ed01a2cb3a0efc6a7afa17fb3c3d Mon Sep 17 00:00:00 2001 From: trueberryless Date: Tue, 15 Apr 2025 12:30:40 +0200 Subject: [PATCH 07/14] feat: translate how-it-works --- src/content/docs/de/how-it-works/cli.mdx | 217 ++++++++++++++ src/content/docs/de/how-it-works/index.mdx | 133 +++++++++ src/content/docs/de/how-it-works/restapi.mdx | 42 +++ src/content/docs/de/how-it-works/sdk.mdx | 293 +++++++++++++++++++ 4 files changed, 685 insertions(+) create mode 100644 src/content/docs/de/how-it-works/cli.mdx create mode 100644 src/content/docs/de/how-it-works/index.mdx create mode 100644 src/content/docs/de/how-it-works/restapi.mdx create mode 100644 src/content/docs/de/how-it-works/sdk.mdx diff --git a/src/content/docs/de/how-it-works/cli.mdx b/src/content/docs/de/how-it-works/cli.mdx new file mode 100644 index 00000000..91f1efc4 --- /dev/null +++ b/src/content/docs/de/how-it-works/cli.mdx @@ -0,0 +1,217 @@ +--- +i18nReady: true +title: "Das CLI" +description: "Erfahre mehr über die StudioCMS CLIs und wie du sie benutzt." +sidebar: + order: 2 +--- + +import { Tabs, TabItem } from '@astrojs/starlight/components'; +import ReadMore from '~/components/ReadMore.astro'; + +# Einführung + +Die StudioCMS CLIs sind Dienstprogramme, mit denen du schnell neue StudioCMS-Projekte einrichten und nützliche Dienstprogramme für StudioCMS bereitstellen kannst. +There is two different CLIs that are part of the StudioCMS ecosystem: + +- **`create-studiocms`**: Das StudioCMS-Projektgerüst CLI. +- **`studiocms`**: Das StudioCMS Dienstprogramm CLI. + +Im Folgenden findest du eine Übersicht über die StudioCMS CLI und ihre Komponenten. + +## `create-studiocms` + +### Installation + + + + ```sh + npm create studiocms@latest + ``` + + + ```sh + pnpm create studiocms + ``` + + + ```sh + yarn create studiocms + ``` + + + +`create-studiocms` läuft automatisch im _interaktiven_ Modus, aber du kannst deinen Projektnamen und deine Vorlage auch mit Kommandozeilenargumenten angeben. + + + + ```sh + npm create studiocms@latest -- --template studiocms/basics --project-name my-studiocms-project + ``` + + + ```sh + pnpm create studiocms --template studiocms/basics --project-name my-studiocms-project + ``` + + + ```sh + yarn create studiocms --template studiocms/basics --project-name my-studiocms-project + ``` + + + +[Eine vollständige Liste][templates] findest du auf GitHub. + +Wenn du `--template` verwendest, durchsucht das CLI das Vorlagen-Repository nach allen Ordnern. Die Vorlage `studiocms/basics` verweist zum Beispiel auf das Projekt `basics` im Ordner `studiocms` im Stammverzeichnis des Repositorys. + +### Vollständige CLI Optionen und Befehle + +#### Haupteinstiegspunkt + +```log +Usage: create-studiocms [options] [command] + +Options: + -V, --version Output the current version of the CLI Toolkit. + -h, --help display help for command + --color force color output + --no-color disable color output + +Commands: + get-turso Get the latest version of Turso. + help Show help for command + interactive* Start the interactive CLI. + + * Indicates the default command that is run when calling this CLI. +``` + +#### `get-turso` + +Du kannst die neueste Version von Turso herunterladen und installieren, indem du das Skript aus +Turso's [Dokumentation](https://docs.turso.tech/cli/installation). + +:::note +Windows erfordert die Verwendung von WSL wie bei Turso +::: + +```log +Usage: getTurso [options] + +Turso CLI Installer + +Options: + -h, --help display help for command +``` + +#### Interaktiv (Standardbefehl) + +```log +Usage: create-studiocms interactive [options] + +Start the interactive CLI. Powered by [clack](https://clack.cc). + +This command will open an interactive CLI prompt to guide you through +the process of creating a new StudioCMS(or StudioCMS Ecosystem package) +project using one of the available templates. + +Options: + -t, --template