主题

本页内容

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 注册 _emdash live 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

当前模板包包括:

用途NodeCloudflare
空项目外壳@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 在构建时读取种子。按此顺序查找:

  1. .emdash/seed.json。
  2. package.json#emdash.seed 中的路径。
  3. seed/seed.json。
  4. 未找到用户种子时的内置默认种子。

首次访问管理后台时,设置向导会显示种子元数据,并让管理员选择是否包含示例内容。它将种子应用到空数据库并记录设置完成。之后的启动不会对现有站点重新应用种子。

自定义已安装的站点

直接编辑生成的项目:

  • 更改 src/pages/ 中的路由文件。
  • 更改 src/layouts/ 与 src/components/ 中的共享标记。
  • 在首次设置前更改 seed/seed.json 中的初始模型。
  • 在管理后台的 Content Types 下管理现有站点的模型。

使用创建主题准备可复用模板,并使用种子文件了解完整的种子契约。