Pages CMS es un sistema de administración de contenido de código abierto para GitHub. Es particularmente adecuado para generadores de sitios estáticos (por ejemplo, Jekyll, Next.js, VuePress, Hugo).
Ofrece una interfaz fácil de usar para editar el contenido de su sitio web o aplicación directamente en GitHub.
Mira la demostración ▶
Vaya a pagescms.org/docs.
La forma más fácil de comenzar es usar la versión en línea de las páginas CMS. Podrá iniciar sesión con su cuenta GitHub y obtener la última versión de las páginas CMS.
Esta versión en línea es idéntica a lo que hay en este repositorio, pero también puede instalar su propia versión localmente o implementarla (de forma gratuita) en Vercely siguiendo los pasos a continuación.
Ya sea que esté instalando páginas CM localmente o lo implementen en línea, necesitará una aplicación GitHub.
Puede crearlo en su cuenta personal (https://github.com/settings/apps) o en una de sus organizaciones (https://github.com/organizations//settings/apps).
Deberá completar la siguiente información:
/api/auth/github :http://localhost:3000/api/auth/github para el desarrollo,https://my-vercel-url.vercel.app/api/auth/github (o cualquier dominio personalizado que esté utilizando) si se implementa en VERCEL./api/webhook/github :https://your-unique-subdomain.ngrok-free.app/api/webhook/github .https://my-vercel-url.vercel.app/api/webhook/github (o cualquier dominio personalizado que esté utilizando) si se está implementando en Vercel.openssl rand -base64 32 en MacOS/Linux)| Variable | Comentario |
|---|---|
CRYPTO_KEY | Se utiliza para cifrar/descifrar tokens GitHub en la base de datos. En MacOS/Linux*, puede usar openssl rand -base64 32 . |
GITHUB_APP_ID | ID de la aplicación GitHub desde la página de detalles de su aplicación GitHub. |
GITHUB_APP_NAME | Nombre de la máquina para su aplicación GitHub (por ejemplo, pages-cms ), debe ser la babosa, la URL de la página de detalles de su aplicación GitHub. |
GITHUB_APP_PRIVATE_KEY | PEM File Puede descargar la creación de Upong de la aplicación GitHub. |
GITHUB_APP_WEBHOOK_SECRET | El secreto que elegiste para tu webhook. Esto se utiliza para garantizar que la solicitud provenga de GitHub. |
GITHUB_APP_CLIENT_ID | ID de cliente de la aplicación GitHub desde la página de detalles de su aplicación GitHub. |
GITHUB_APP_CLIENT_SECRET | Secreto del cliente de la aplicación GitHub que genera en la página de detalles de la aplicación GitHub. |
RESEND_API_KEY | Obtendrá eso cuando cree una cuenta de reenvío (gratuita) para manejar los correos electrónicos. |
SQLITE_URL | file:./local.db para el desarrollo, libsql://pages-cms-username.turso.io por ejemplo, si usa TURSO (debería, TURSO es genial). |
SQLITE_AUTH_TOKEN | Deje en blanco para el desarrollo, de lo contrario, use el token proporcionado por TURSO (si eso es lo que usa). |
BASE_URL | OPCIONAL . Si se implementa en Vercel o trabaja localmente, no lo necesitará. Si está implementando en otro lugar, deberá especificar la URL base para la aplicación (por ejemplo, https://mycustomdomain.com ). |
Asumimos que ya ha creado la aplicación GitHub y tiene un túnel en ejecución para la aplicación GitHub Webhook (usando NGROK, por ejemplo):
npm install.env.example a .env y complete los valores de acuerdo con su configuración (consulte la sección anterior).npm run db:migratenpm run devCree una base de datos SQLite : recomiendo usar TURSO, porque es gratis (y bastante impresionante)
Desplegar en Vercel : en esta etapa tiene 2 opciones:
Cree una horquilla : el repositorio de las pages-cms/pages-cms en su cuenta e implie esa bifurcación. Esto le permitirá obtener actualizaciones. Asegúrese de definir todas las variables de entorno enumeradas anteriormente .
Use el botón Implementar :
Actualice su aplicación GitHub OAuth : probablemente necesite volver a la configuración de su aplicación GitHub para actualizar algunas de las configuraciones una vez que tenga la URL Vercel (por ejemplo, "URL de devolución de llamada" y "URL de Webhook").
Hay muchas otras opciones: fly.io, océano digital, render, SST, etc.
Todo en este repositorio se lanza bajo la licencia MIT.