EmDash 主題是作為 create-astro 範本發佈的完整 Astro 專案。它包含公開路由與元件、EmDash 執行階段設定,以及用於站台初始內容模型的選用種子檔案。
沒有執行階段主題套件或範本階層。鷹架之後,主題檔案屬於站台,可以直接編輯。
主題內容
目前 EmDash 範本使用這些路徑:
astro.config.mjs
package.json
seed/
└── seed.json
src/
├── components/
├── layouts/
├── live.config.ts
├── pages/
└── styles/
astro.config.mjs設定伺服器輸出、部署轉接器、EmDash、資料庫與儲存。src/live.config.ts註冊_emdashlive collection。src/pages/定義公開路由。seed/seed.json可以宣告初始集合、欄位、設定、分類法、署名、選單、重新導向、小工具區域、區段與範例內容。package.json#emdash.seed指向種子檔案。
空白範本故意沒有使用者種子,並回退到 EmDash 的內建預設種子。其他目前範本指向 seed/seed.json。
安裝範本
以下指令搭建 Node 部落格範本:
npm create astro@latest -- --template @emdash-cms/template-blog
對於 Cloudflare Workers 專案,使用對應的 -cloudflare 套件:
npm create astro@latest -- --template @emdash-cms/template-blog-cloudflare
目前範本套件包括:
| 用途 | Node | Cloudflare |
|---|---|---|
| 空專案外殼 | @emdash-cms/template-blank | 目前無對應套件 |
| 基礎頁面站台 | @emdash-cms/template-starter | @emdash-cms/template-starter-cloudflare |
| 文章、頁面、分類、標籤與小工具 | @emdash-cms/template-blog | @emdash-cms/template-blog-cloudflare |
| 專案作品集 | @emdash-cms/template-portfolio | @emdash-cms/template-portfolio-cloudflare |
| 由版本化區塊組成的行銷頁面 | @emdash-cms/template-marketing | @emdash-cms/template-marketing-cloudflare |
鷹架之後,安裝相依性並啟動產生的站台:
cd my-site
npm install
npm run dev
開啟 http://localhost:4321/_emdash/admin。首次造訪會重新導向到設定,在此輸入站台身分與管理員詳細資訊。當所選範本有範例條目時,精靈還可讓你包含或省略它們。評估設計時包含它們很有用,因為路由有可算繪的真實內容。
首次設定
EmDash 在建置時讀取種子。按此順序尋找:
.emdash/seed.json。package.json#emdash.seed中的路徑。seed/seed.json。- 未找到使用者種子時的內建預設種子。
首次造訪管理後台時,設定精靈會顯示種子中繼資料,並讓管理員選擇是否包含範例內容。它將種子套用到空資料庫並記錄設定完成。之後的啟動不會對現有站台重新套用種子。
自訂已安裝的站台
直接編輯產生的專案:
- 變更
src/pages/中的路由檔案。 - 變更
src/layouts/與src/components/中的共用標記。 - 在首次設定前變更
seed/seed.json中的初始模型。 - 在管理後台的 Content Types 下管理現有站台的模型。