Pages 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 من صفحة تفاصيل تطبيق GitHub. |
GITHUB_APP_CLIENT_SECRET | سرية عميل تطبيق GitHub تقوم بإنشائها على صفحة تفاصيل تطبيق TheGithub. |
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 ولديك نفق تشغيل لـ GitHub App Webhook (باستخدام NGROK على سبيل المثال):
npm install.env.example إلى .env وملء القيم وفقًا لإعدادك (انظر القسم أعلاه).npm run db:migratenpm run devقم بإنشاء قاعدة بيانات SQLite : أوصي باستخدام Turso ، لأنها مجانية (ورائعة جدًا)
نشر إلى Vercel : في هذه المرحلة ، لديك خياران:
إنشاء شوكة : شوكة pages-cms/pages-cms في حسابك ونشر هذا الشوكة. سيتيح لك ذلك الحصول على التحديثات. تأكد من تحديد جميع متغيرات البيئة المذكورة أعلاه .
استخدم زر النشر :
قم بتحديث تطبيق GitHub Oauth الخاص بك : ربما ستحتاج إلى العودة إلى إعدادات تطبيق GitHub لتحديث بعض الإعدادات بمجرد حصولك على عنوان URL (على سبيل المثال "عنوان Callback URL" و "WebHook URL").
هناك الكثير من الخيارات الأخرى: Fly.io ، المحيط الرقمي ، العرض ، SST ، إلخ.
يتم إصدار كل شيء في هذا الريبو تحت رخصة معهد ماساتشوستس للتكنولوجيا.