Pages CMS est un système de gestion de contenu open source pour GitHub. Il est particulièrement bien adapté aux générateurs de sites statiques (par exemple Jekyll, next.js, Vuepress, Hugo).
Il propose une interface conviviale pour modifier le contenu de votre site Web ou de votre application directement sur GitHub.
Regardez la démo ▶
Accédez à pagescms.org/docs.
La façon la plus simple de commencer est d'utiliser la version en ligne de Pages CMS. Vous pourrez vous connecter avec votre compte GitHub et obtenir la dernière version de Pages CMS.
Cette version en ligne est identique à ce qui est dans ce dépôt, mais vous pouvez également installer votre propre version localement ou la déployer (gratuitement) sur Vercel en suivant les étapes ci-dessous.
Que vous installiez des pages CMS localement ou que vous les déployiez en ligne, vous aurez besoin d'une application GitHub.
Vous pouvez le créer sous votre compte personnel (https://github.com/settings/apps) ou sous l'une de vos organisations (https://github.com/organizations//settings/apps).
Vous devrez remplir les informations suivantes:
/api/auth/github :http://localhost:3000/api/auth/github pour le développement,https://my-vercel-url.vercel.app/api/auth/github (ou quel que soit le domaine personnalisé que vous utilisez) si vous déployez sur Vercel./api/webhook/github :https://your-unique-subdomain.ngrok-free.app/api/webhook/github .https://my-vercel-url.vercel.app/api/webhook/github (ou quel que soit le domaine personnalisé que vous utilisez) si vous déployez sur Vercel.openssl rand -base64 32 sur macOS / Linux)| Variable | Commentaires |
|---|---|
CRYPTO_KEY | Utilisé pour crypter / décrypter les jetons GitHub dans la base de données. Sur MacOS / Linux *, vous pouvez utiliser openssl rand -base64 32 . |
GITHUB_APP_ID | ID d'application GitHub à partir de la page Détails de votre application GitHub. |
GITHUB_APP_NAME | Le nom de la machine pour votre application GitHub (par exemple pages-cms ), devrait être la Slug L'URL de la page Détails de votre application GitHub. |
GITHUB_APP_PRIVATE_KEY | Fichier PEM Vous pouvez télécharger Upong Creation de l'application GitHub. |
GITHUB_APP_WEBHOOK_SECRET | Le secret que vous avez choisi pour votre webhook. Ceci est utilisé pour s'assurer que la demande provient de GitHub. |
GITHUB_APP_CLIENT_ID | ID du client GitHub App à partir de la page Détails de votre application GitHub. |
GITHUB_APP_CLIENT_SECRET | GitHub App Client Secret Vous générez sur la page Détails de l'application TheGitHub. |
RESEND_API_KEY | Vous obtiendrez cela lorsque vous créez un compte de renvoi (gratuit) pour gérer les e-mails. |
SQLITE_URL | file:./local.db pour le développement, libsql://pages-cms-username.turso.io par exemple si vous utilisez TUSSO (vous devriez, TUSSO est génial). |
SQLITE_AUTH_TOKEN | Laissez vide pour le développement, sinon utilisez le jeton fourni par Turso (si c'est ce que vous utilisez). |
BASE_URL | FACULTATIF . Si vous vous déployez sur Vercel ou travaillez localement, vous n'en aurez pas besoin. Si vous déploiez ailleurs, vous devrez spécifier l'URL de base pour l'application (par exemple https://mycustomdomain.com ). |
Nous supposons que vous avez déjà créé l'application GitHub et avez un tunnel en cours d'exécution pour l'application GitHub WebHook (en utilisant Ngrok par exemple):
npm install.env.example sur .env et remplissez les valeurs en fonction de votre paramètre (voir la section ci-dessus).npm run db:migratenpm run devCréez une base de données SQLite : je recommande d'utiliser Turso, car c'est gratuit (et assez génial)
Déployer sur Vercel : À ce stade, vous avez 2 choix:
Créez une fourche : fourchez le repo pages-cms/pages-cms dans votre compte et déployez cette fourche. Cela vous permettra d'obtenir des mises à jour. Assurez-vous de définir toutes les variables d'environnement énumérées ci-dessus .
Utilisez le bouton Déployer :
Mettez à jour votre application GitHub OAuth : vous devrez probablement revenir aux paramètres de votre application GitHub pour mettre à jour certains des paramètres une fois que vous aurez l'URL Vercel (par exemple "URL de rappel" et "URL Webhook").
Il existe de nombreuses autres options: fly.io, océan numérique, rendu, SST, etc.
Tout dans ce dépôt est publié sous la licence du MIT.