Páginas CMS é um sistema de gerenciamento de conteúdo de código aberto para o GitHub. É particularmente adequado para geradores de sites estáticos (por exemplo, Jekyll, Next.JS, Vuepress, Hugo).
Ele oferece uma interface amigável para editar o conteúdo do seu site ou aplicativo diretamente no GitHub.
Assista à demonstração ▶
Vá para Pagescms.org/docs.
A maneira mais fácil de começar é usar a versão on -line do CMS. Você poderá fazer login com sua conta do Github e obter a versão mais recente do CMS do Pages.
Esta versão on -line é idêntica ao que está neste repositório, mas você também pode instalar sua própria versão localmente ou implantá -la (gratuitamente) no vercel, seguindo as etapas abaixo.
Esteja você instalando páginas CMS localmente ou implantando -as on -line, precisará de um aplicativo GitHub.
Você pode criá -lo em sua conta pessoal (https://github.com/settings/apps) ou sob uma de suas organizações (https://github.com/organization//settings/apps).
Você precisará preencher as seguintes informações:
/api/auth/github :http://localhost:3000/api/auth/github para desenvolvimento,https://my-vercel-url.vercel.app/api/auth/github (ou qualquer domínio personalizado que você esteja usando) se estiver implantando no vercel./api/webhook/github :https://your-unique-subdomain.ngrok-free.app/api/webhook/github .https://my-vercel-url.vercel.app/api/webhook/github (ou qualquer domínio personalizado que você esteja usando) se estiver implantando no vercel.openssl rand -base64 32 no macOS/Linux)| Variável | Comentários |
|---|---|
CRYPTO_KEY | Usado para criptografar/descriptografar os tokens github no banco de dados. No MacOS/Linux*, você pode usar openssl rand -base64 32 . |
GITHUB_APP_ID | ID do aplicativo Github na página Detalhes do aplicativo do GitHub. |
GITHUB_APP_NAME | O nome da máquina para o seu aplicativo GitHub (por exemplo pages-cms ), deve ser a lesma do URL da página de detalhes do aplicativo do GitHub. |
GITHUB_APP_PRIVATE_KEY | Arquivo PEM Você pode baixar a criação de UPong do aplicativo Github. |
GITHUB_APP_WEBHOOK_SECRET | O segredo que você escolheu para o seu webhook. Isso é usado para garantir que a solicitação seja proveniente do GitHub. |
GITHUB_APP_CLIENT_ID | ID do cliente do aplicativo Github na página Detalhes do aplicativo do GitHub. |
GITHUB_APP_CLIENT_SECRET | O segredo do cliente do aplicativo do github que você gera na página Detalhes do aplicativo TheGithub. |
RESEND_API_KEY | Você conseguirá isso quando criar uma conta (gratuita) reenviada para lidar com e -mails. |
SQLITE_URL | file:./local.db para desenvolvimento, libsql://pages-cms-username.turso.io por exemplo, se você usar o TURSO (você deve, o TURSO é ótimo). |
SQLITE_AUTH_TOKEN | Deixe em branco para o desenvolvimento, caso contrário, use o token fornecido pela TURSO (se é isso que você usa). |
BASE_URL | Opcional . Se você estiver implantando para vercel ou trabalhar localmente, não precisará disso. Se você estiver implantando em outro lugar, precisará especificar o URL base para o aplicativo (por exemplo, https://mycustomdomain.com ). |
Assumimos que você já criou o aplicativo GitHub e tem um túnel em execução para o aplicativo Github Webhook (usando o NGROK, por exemplo):
npm install.env.example para .env e preencha os valores de acordo com a sua configuração (consulte a seção acima).npm run db:migratenpm run devCrie um banco de dados SQLite : eu recomendo usar o TURSO, porque é grátis (e bastante incrível)
Implante no vercel : nesta fase você tem 2 opções:
Crie um garfo : bifurcar o pages-cms/pages-cms Repo em sua conta e implante esse garfo. Isso permitirá que você obtenha atualizações. Certifique -se de definir todas as variáveis de ambiente listadas acima .
Use o botão de implantação :
Atualize seu aplicativo Github OAuth : provavelmente você precisará voltar às configurações do aplicativo do GitHub para atualizar algumas das configurações depois de tiver o URL do vercel (por exemplo, "URL de retorno de chamada" e "URL da webhook").
Existem muitas outras opções: Fly.io, Oceano Digital, Render, SST, etc.
Tudo neste repositório é liberado sob a licença do MIT.