管理面板

本页内容

管理面板是 EmDash 站点中包含的编辑界面。它由 Astro 应用程序在 /_emdash/admin/ 提供服务,并使用与公开页面相同的数据库、媒体存储、内容模型和插件。

首次访问新站点的管理路由时会打开设置向导。设置完成后,已登录用户的权限决定了可用的内容和管理工具。

工作区域

导航会适应站点的集合和已安装的插件。编辑者或管理员可能会看到以下主要区域:

区域用途
仪表板包含站点和插件小部件的起始视图
集合名称,例如文章列出、创建、编辑、发布条目并将其移至回收站
集合组可折叠文件夹,包含共享组的集合,以及仅分配给该文件夹中集合的分类法
媒体上传、搜索、检查、替换和删除文件
分类法和署名组织内容并管理署名作者
菜单和小部件区域管理站点渲染的导航和编辑者控制的区域
评论当集合启用评论时审查和管理评论
内容类型创建集合和字段并更改其设置
插件安装、配置和打开插件提供的页面
设置配置站点、身份验证、备份、站点转移、电子邮件、搜索和其他服务

此界面管理数据和配置。Astro 页面和组件仍然定义公开布局。在管理面板中添加菜单项或小部件只有在 Astro 组件查询并渲染该菜单或小部件区域时才会更改公开站点。

内容编辑器

内容编辑器根据所选集合构建其表单。短文本字段变成文本输入框,portableText 字段变成富文本编辑器,媒体字段打开媒体选择器,引用字段让编辑者可以选择另一个条目。集合设置会在适用的情况下添加发布、预览、修订、评论和搜索控制。

富文本编辑器支持标题、列表、引用、代码、链接、图像和已注册的自定义块。如果导入的内容包含编辑器无法显示的块,EmDash 会保留存储的块,而不是在下次保存时删除它。

对于包含草稿的集合,保存和发布是独立的状态。保存将当前工作存储为草稿。发布或发布更改使该保存的版本可供公开查询使用。计划记录草稿或待处理更改何时应该公开。

当为集合启用编辑锁定时,打开条目会为该编辑者保持锁定。在锁定处于活动状态时,其他作者会被拒绝,而不是默默覆盖条目。如果在编辑者加载条目后条目发生更改,EmDash 也会拒绝过时的保存,以便编辑者可以重新加载较新版本而不是覆盖它。

角色和权限

EmDash 包含五个角色:订阅者、贡献者、作者、编辑者和管理员。随着角色级别的提高,权限也会增加,但对于内容和媒体操作,所有权仍然很重要。例如,作者可以编辑和发布自己的条目,而编辑者可以对任何条目执行此操作。

管理区域有单独的权限检查:

  • 编辑者可以管理分类法、菜单、署名、小部件、版块以及其他作者的内容。
  • 管理员可以更改内容模型、用户、插件、重定向、备份和设置,可以导出或导入整个站点,并可以永久删除回收站中的内容。
  • 服务器检查每个操作的权限。隐藏导航项不是安全边界。

阅读身份验证和用户角色了解帐户设置和完整的角色描述。

媒体

媒体库可以在网格或列表中显示文件,搜索和过滤它们,显示元数据,并执行多项操作。上传行为取决于配置的存储适配器。当适配器支持签名上传时,浏览器使用短期签名 URL 将文件发送到存储,然后向 EmDash 确认已完成的上传。

删除媒体项可能会影响引用它的条目。在删除公开页面上使用的资源之前,请使用媒体使用信息和替换工具。有关上传、替换和删除工作流程,请参阅媒体库。

插件界面

插件可以添加仪表板小部件、设置部分、编辑器控件或完整的管理页面。插件页面挂载在该插件自己的管理路由下;它不能替换核心管理屏幕。即使管理链接仅向特定角色显示,插件仍需要对任何受保护操作进行服务器端权限检查。

阅读安装插件以添加扩展。构建界面的站点开发者应使用原生插件管理 API,而不是修改核心管理应用程序。

配置要求

管理面板是一个 React 应用程序,因此 Astro 项目必须安装 @astrojs/react、react 和 react-dom,并在 astro.config.mjs 中注册 react()。站点还需要服务器输出、数据库和媒体存储。将 EmDash 添加到现有 Astro 项目显示了完整的本地配置。