หน้า CMS เป็นระบบการจัดการเนื้อหาโอเพ่นซอร์สสำหรับ GitHub มันเหมาะอย่างยิ่งสำหรับเครื่องกำเนิดไฟฟ้าแบบคงที่ (เช่น Jekyll, next.js, vuepress, hugo)
มีอินเทอร์เฟซที่ใช้งานง่ายเพื่อแก้ไขเนื้อหาของเว็บไซต์หรือแอพของคุณโดยตรงบน GitHub
ดูการสาธิต▶
ไปที่ pagescms.org/docs
วิธีที่ง่ายที่สุดในการเริ่มต้นคือการใช้ CMS เวอร์ชันออนไลน์ คุณจะสามารถเข้าสู่ระบบด้วยบัญชี GitHub ของคุณและรับ CMS เวอร์ชันล่าสุด
เวอร์ชันออนไลน์นี้เหมือนกับสิ่งที่อยู่ใน repo นี้ แต่คุณสามารถติดตั้งเวอร์ชันของคุณเองในพื้นที่หรือปรับใช้ (ฟรี) บน 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/githubhttps://my-vercel-url.vercel.app/api/webhook/github (หรือโดเมนที่กำหนดเองที่คุณใช้) หากคุณใช้งานบน Vercelopenssl rand -base64 32 บน MacOS/Linux)| ตัวแปร | ความเห็น |
|---|---|
CRYPTO_KEY | ใช้เพื่อเข้ารหัส/ถอดรหัสโทเค็น GitHub ในฐานข้อมูล บน MacOS/Linux*คุณสามารถใช้ openssl rand -base64 32 |
GITHUB_APP_ID | GitHub App ID จากหน้ารายละเอียดแอพ GitHub ของคุณ |
GITHUB_APP_NAME | ชื่อเครื่องสำหรับแอพ GitHub ของคุณ (เช่น pages-cms ) ควรเป็น Slug URL ของหน้ารายละเอียดแอพ GitHub ของคุณ |
GITHUB_APP_PRIVATE_KEY | ไฟล์ PEM คุณสามารถดาวน์โหลดการสร้างแอป GitHub ได้ |
GITHUB_APP_WEBHOOK_SECRET | ความลับที่คุณเลือกสำหรับ webhook ของคุณ สิ่งนี้ใช้เพื่อให้แน่ใจว่าคำขอมาจาก GitHub |
GITHUB_APP_CLIENT_ID | GitHub App Client ID จากหน้ารายละเอียดแอพ GitHub ของคุณ |
GITHUB_APP_CLIENT_SECRET | GitHub App Client Secret คุณสร้างขึ้นในหน้ารายละเอียดแอพ 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 แล้วและมีอุโมงค์ที่กำลังทำงานอยู่สำหรับ Witchub WebHook (โดยใช้ Ngrok เป็นต้น):
npm install.env.example เป็น .env และกรอกค่าตามการตั้งค่าของคุณ (ดูหัวข้อด้านบน)npm run db:migratenpm run devสร้างฐานข้อมูล SQLite : ฉันขอแนะนำให้ใช้ Turso เพราะฟรี (และน่ากลัวมาก)
ปรับใช้กับ vercel : ในขั้นตอนนี้คุณมี 2 ตัวเลือก:
สร้างส้อม : ส้อม repo pages-cms/pages-cms ในบัญชีของคุณและปรับใช้ส้อมนั้น สิ่งนี้จะช่วยให้คุณได้รับการอัปเดต ตรวจสอบให้แน่ใจว่าคุณกำหนดตัวแปรสภาพแวดล้อมทั้งหมดที่ระบุไว้ข้างต้น
ใช้ปุ่มปรับใช้ :
อัปเดตแอพ GitHub OAuth ของคุณ : คุณอาจต้องกลับไปที่การตั้งค่าแอป GitHub ของคุณเพื่ออัปเดตการตั้งค่าบางอย่างเมื่อคุณมี URL vercel (เช่น "URL โทรกลับ" และ "WebHook URL")
มีตัวเลือกอื่น ๆ อีกมากมาย: Fly.io, Digital Ocean, Render, SST ฯลฯ
ทุกอย่างใน repo นี้ได้รับการปล่อยตัวภายใต้ใบอนุญาต MIT