Seiten CMS ist ein Open -Source -Content -Management -System für GitHub. Es ist besonders gut für statische Site -Generatoren geeignet (z. B. Jekyll, Next.js, VuePress, Hugo).
Es bietet eine benutzerfreundliche Oberfläche, um den Inhalt Ihrer Website oder App direkt auf GitHub zu bearbeiten.
Beobachten Sie die Demo ▶
Gehen Sie zu Pagescms.org/docs.
Der einfachste Weg, um zu beginnen, besteht darin, die Online -Version von Seiten CMS zu verwenden. Sie können sich mit Ihrem Github -Konto anmelden und die neueste Version von Seiten CMS erhalten.
Diese Online -Version ist identisch mit dem, was sich in diesem Repo befindet. Sie können jedoch auch Ihre eigene Version lokal installieren oder sie (kostenlos) in Vercel aus den folgenden Schritten bereitstellen.
Unabhängig davon, ob Sie Seiten CMS lokal installieren oder online bereitstellen, benötigen Sie eine GitHub -App.
Sie können es entweder unter Ihrem persönlichen Konto (https://github.com/setings/apps) oder unter einer Ihrer Organisationen (https://github.com/organizations//Settings/apps) erstellen.
Sie müssen die folgenden Informationen ausfüllen:
/api/auth/github :http://localhost:3000/api/auth/github für die Entwicklung,https://my-vercel-url.vercel.app/api/auth/github (oder welche benutzerdefinierte Domain, die Sie verwenden), wenn Sie auf Vercel bereitstellen./api/webhook/github :https://your-unique-subdomain.ngrok-free.app/api/webhook/github .https://my-vercel-url.vercel.app/api/webhook/github (oder welche benutzerdefinierte Domain, die Sie verwenden), wenn Sie auf Vercel bereitstellen.openssl rand -base64 32 auf macOS/Linux)| Variable | Kommentare |
|---|---|
CRYPTO_KEY | Wird verwendet, um Github -Token in der Datenbank zu verschlüsseln/zu entschlüsseln. Auf macOS/Linux*können Sie openssl rand -base64 32 verwenden. |
GITHUB_APP_ID | GitHub App -ID von Ihrer Seite mit GitHub -App -Details. |
GITHUB_APP_NAME | Maschinenname für Ihre GitHub-App (z. B. pages-cms ) sollte die Slug der URL Ihrer GitHub-App-Detail-Seite sein. |
GITHUB_APP_PRIVATE_KEY | PEM -Datei Sie können die Erstellung der GitHub -App für die Upong herunterladen. |
GITHUB_APP_WEBHOOK_SECRET | Das Geheimnis, das Sie für Ihren Webhook ausgewählt haben. Dies wird verwendet, um sicherzustellen, dass die Anfrage von Github stammt. |
GITHUB_APP_CLIENT_ID | GitHub App Client -ID von Ihrer Seite mit GitHub App -Details. |
GITHUB_APP_CLIENT_SECRET | GitHub App Client Secret Sie generieren auf der Seite mit der Github App -Details. |
RESEND_API_KEY | Sie erhalten dies, wenn Sie ein (kostenloses) Wiederversendungskonto erstellen, um E -Mails zu verarbeiten. |
SQLITE_URL | file:./local.db für die Entwicklung, libsql://pages-cms-username.turso.io Zum Beispiel, wenn Sie Turso verwenden (Sie sollten, Turso ist großartig). |
SQLITE_AUTH_TOKEN | Lassen Sie die Entwicklung leer, verwenden Sie sonst das von Turso bereitgestellte Token (wenn Sie das verwenden). |
BASE_URL | Optional . Wenn Sie in Vercel einsetzen oder lokal arbeiten, brauchen Sie das nicht. Wenn Sie anderswo bereitstellen, müssen Sie die Basis -URL für die App angeben (z. B. https://mycustomdomain.com ). |
Wir gehen davon aus, dass Sie die GitHub -App bereits erstellt haben und einen laufenden Tunnel für das GitHub -App -Webhook (z. B. mit NGROK) haben:
npm install.env.example in .env und füllen Sie die Werte gemäß Ihrer Einstellung aus (siehe Abschnitt oben).npm run db:migratenpm run devErstellen Sie eine SQLite -Datenbank : Ich empfehle Turso zu verwenden, da sie kostenlos (und ziemlich großartig ist).
Bereitstellung in Vercel : In dieser Phase haben Sie 2 Auswahlmöglichkeiten:
Erstellen Sie eine Gabel : Geben Sie das pages-cms/pages-cms Repo in Ihrem Konto auf und stellen Sie diese Gabel bereit. Auf diese Weise können Sie Updates erhalten. Stellen Sie sicher, dass Sie alle oben aufgeführten Umgebungsvariablen definieren .
Verwenden Sie die Schaltfläche Bereitstellung :
Aktualisieren Sie Ihre GitHub OAuth -App : Sie müssen wahrscheinlich zu Ihren GitHub -App -Einstellungen zurückkehren, um einige der Einstellungen zu aktualisieren, sobald Sie die Vercel -URL haben (z. B. "Callback -URL" und "Webhook URL").
Es gibt viele andere Optionen: Fly.io, digitaler Ozean, Render, SST usw.
Alles in diesem Repo wird unter der MIT -Lizenz veröffentlicht.