Страницы CMS - это система управления контентом с открытым исходным кодом для GitHub. Он особенно хорошо подходит для статических генераторов сайтов (например, Jekyll, Next.js, Vuepress, Hugo).
Он предлагает удобный интерфейс для редактирования контента вашего веб-сайта или приложения непосредственно на GitHub.
Смотреть демо ▶
Перейти на pagescms.org/docs.
Самый простой способ начать - использовать онлайн -версию страниц CMS. Вы сможете войти в систему со своей учетной записью GitHub и получить последнюю версию страниц CMS.
Эта онлайн -версия идентична тому, что находится в этом репо, но вы также можете установить свою собственную версию локально или развернуть ее (бесплатно) на Vercel, следующие по приведенным ниже шагам.
Если вы устанавливаете страницы CMS локально или развертываете его в Интернете, вам понадобится приложение GitHub.
Вы можете либо создать его под своей личной учетной записью (https://github.com/settings/apps), либо под одной из ваших организаций (https://github.com/organizations//settings/apps).
Вам нужно будет заполнить следующую информацию:
/api/auth/github :http://localhost:3000/api/auth/github для разработки,https://my-vercel-url.vercel.app/api/auth/github (или любой пользовательский домен, который вы используете), если вы развертываете на Vercel./api/webhook/github :https://your-unique-subdomain.ngrok-free.app/api/webhook/github .https://my-vercel-url.vercel.app/api/webhook/github (или любой пользовательский домен, который вы используете), если вы развертываете на Vercel.openssl rand -base64 32 на MacOS/Linux)| Переменная | Комментарии |
|---|---|
CRYPTO_KEY | Используется для шифрования/расшифровки токенов GitHub в базе данных. На MacOS/Linux*вы можете использовать openssl rand -base64 32 . |
GITHUB_APP_ID | Идентификатор приложения GitHub со страницы сведений о приложении GitHub. |
GITHUB_APP_NAME | Название машины для вашего приложения GitHub (например pages-cms ) должно быть слизом URL-адреса вашей страницы сведений о приложении GitHub. |
GITHUB_APP_PRIVATE_KEY | PEM -файл Вы можете скачать Upong Создание приложения GitHub. |
GITHUB_APP_WEBHOOK_SECRET | Секрет, который вы выбрали для своего веб -крючка. Это используется для обеспечения того, чтобы запрос поступал от GitHub. |
GITHUB_APP_CLIENT_ID | Github App Id Client ID на странице сведений о приложении GitHub. |
GITHUB_APP_CLIENT_SECRET | Github App Client секрет, вы генерируете на странице сведений о приложении. |
RESEND_API_KEY | Вы получите это, когда вы создадите (бесплатную) учетную запись для обработки электронных писем. |
SQLITE_URL | file:./local.db для разработки, libsql://pages-cms-username.turso.io например, если вы используете Turso (вы должны, Turso-это здорово). |
SQLITE_AUTH_TOKEN | Оставьте пусто для разработки, в противном случае используйте токен, предоставленный Turso (если вы используете). |
BASE_URL | НЕОБЯЗАТЕЛЬНЫЙ . Если вы развернете в Vercel или работаете на месте, вам это не понадобится. Если вы развертываете в другом месте, вам нужно указать базовый URL для приложения (например, https://mycustomdomain.com ). |
Мы предполагаем, что вы уже создали приложение GitHub и у вас есть работающий туннель для webhook app Github (например, используя NGROK):
npm install.env.example to .env и заполните значения в соответствии с вашей настройкой (см. Раздел выше).npm run db:migratenpm run devСоздайте базу данных SQLite : я рекомендую использовать Turso, потому что она бесплатно (и довольно круто)
Развернуть в Vercel : на этом этапе у вас есть 2 варианта:
Создайте вилку : вилка pages-cms/pages-cms репо в своей учетной записи и разверните эту вилку. Это позволит вам получить обновления. Убедитесь, что вы определяете все переменные среды, перечисленные выше .
Используйте кнопку развертывания :
Обновите приложение GitHub OAuth : вам, вероятно, нужно вернуться к настройкам приложения GitHub, чтобы обновить некоторые настройки, как только у вас будет URL Vercel (например, URL -адрес обратного вызова и «URL -адрес webhook»).
Есть много других вариантов: Fly.io, цифровой океан, рендеринг, SST и т. Д.
Все в этом репо, выпущено по лицензии MIT.