Skip to content

Admin Panel

The admin panel is the content management interface for your site. It is served at /_emdash/admin/ inside your Astro site, and it adapts automatically to your collections, plugins, and the signed-in user’s role. For how it is built, see Architecture (internals).

PathScreen
/Dashboard
/content/:collectionContent list
/content/:collection/:idContent editor
/content/:collection/newNew entry
/mediaMedia library
/content-typesSchema builder (administrators)
/menusNavigation menus
/widgetsWidget areas
/taxonomiesCategories and tags
/settingsSite settings
/plugins/:pluginId/*Plugin pages

Navigation is generated from your collections and installed plugins, so a schema or plugin change appears in the admin immediately.

What a user sees depends on their role. EmDash has five roles, from least to most access: Subscriber, Contributor, Author, Editor, Admin. See User roles for the full definitions.

In the admin, lower roles see only the content they have permission to manage. The schema builder at /content-types and the settings screens are Admin-only. Type generation and the CLI are available to developers working on the project regardless of admin role.

The content editor builds a form from a collection’s fields. Each field type uses a matching input:

Field typeEditor
stringText input
textTextarea
numberNumber input
booleanToggle
datetimeDate/time picker
selectDropdown
multiSelectMulti-select
portableTextRich text editor
imageMedia picker
referenceEntry picker

Rich text fields edit as formatted content — headings, lists, quotes, code, links, and images from the media library. Content from plugins or imports that the editor does not recognise is preserved untouched.

Lists are paginated and stay consistent even when content changes between pages.

The media library supports:

  • Grid and list views
  • Search and filter by type and date
  • Drag-and-drop upload
  • Image preview with metadata
  • Bulk selection and delete

Uploads go directly from the browser to your storage backend, so large files are not limited by request size.

A plugin can add pages and dashboard widgets to the admin. Plugin pages appear under /_emdash/admin/plugins/:pluginId/, and a plugin can only mount under its own namespace — it cannot override core admin screens. See installing plugins.

REST API

The admin uses the REST API; you can call it too.