最近推送 2026-10-28 23:47(0 天前),属于活跃维护
emdash-cms/emdash
GITHUB中文整理主语言 TypeScript · 14,029 星 · MIT · 创建于 2026-04-01
基于 Astro 的全栈 TypeScript 内容管理系统,提供管理后台、内容建模和插件机制,可运行在 Cloudflare 或 Node.js 上。
仓库健康度
5 个维度开放 Issue 336 个 · Fork 1,343 个
star 记录还不够天数,增量算不出来
许可证 MIT · 4 个 topics
这一项暂无数据,不代表项目没有发布
「证据不足」表示这项数据暂时没有取到,不能读成「项目有问题」;「部分数据」表示只拿到一部分信号。版本发布要额外调 Releases 接口,下一版补。
Star 趋势
6 天记录横轴 2026-10-23 → 2026-10-28,纵轴按这段时间的最小/最大值拉伸。趋势来自站内每天记录一次的星数,页面打开时不会实时请求 GitHub。
它解决什么问题
据 README 归纳传统 WordPress 需要同时维护 PHP 和 JavaScript,靠多层缓存提升性能,且插件能直接访问数据库与文件系统,一个漏洞插件就可能危及整站安全。这个项目用类型安全和沙箱隔离重新实现类似建站体验,避免这些隐患。
核心能力
7 条- 1创建博客文章、页面和自定义内容类型,支持草稿、修订与定时发布
- 2用结构化 JSON 格式存储富文本,让内容与网页展示解耦
- 3在沙箱 Worker 中运行插件,并按声明的能力清单限制其访问范围
- 4提供带可视化模式构建器的管理后台,管理媒体、菜单、分类和组件
- 5用 Passkey 优先方式登录,并提供角色权限控制和多种备用登录方式
- 6通过命令行工具和内置 MCP 服务让 AI 助手程序化操作内容与模式
- 7用全文搜索快速检索站内内容
项目画像
6 个角度项目定位
基于 Astro 的全栈 TypeScript 内容管理系统,提供管理后台、内容建模和插件机制,可运行在 Cloudflare 或 Node.js 上。
适合谁
适合想用 TypeScript 和 Astro 搭建内容站点的开发者与内容团队,也适合需要安全插件环境或希望让 AI 助手参与站点管理的场景。
典型场景
团队用它搭建博客或营销页面,在后台完成内容创建、媒体管理和发布调度;开发者把现有 Astro 项目接入后,直接获得管理后台、认证和内容 API;站点管理员通过权限角色控制编辑、作者和贡献者的操作范围;让 AI 助手通过命令行或 MCP 服务读取和修改站点内容与内容模型
部署难度
需要先准备 Astro 项目并配置好 Cloudflare 或 Node.js/SQLite 运行环境,再将集成加入配置,即可获得管理后台与内容 API;具体部署步骤未详细说明。
风险限制
需要运行在 Cloudflare 的 D1、R2 和 Workers 上,或使用带 SQLite 的 Node.js 服务器;插件沙箱依赖动态 Worker 加载机制。
最近维护
最近一次推送是 2026-10-28 23:47。 实现方式:它作为 Astro 集成接入现有站点,内容类型存于数据库而非代码中,每个集合对应带类型列的 SQL 表,并可从实时模式生成 TypeScript 类型;内容通过 Astro Live Collections 查询,无需重建或额外接口。
README 原文细节
3 个板块核心功能README 里列出来的能力清单
Features
Content -- Blog posts, pages, custom content types. Rich text editing via TipTap with Portable Text storage. Revisions, drafts, scheduled publishing, full-text search (FTS5), inline visual editing.
Admin -- Full admin panel with visual schema builder, media library (drag-drop uploads via signed URLs), navigation menus, taxonomies, widgets, and a WordPress import wizard.
Auth -- Passkey-first (WebAuthn) with OAuth and magic link fallbacks. Role-based access control: Administrator, Editor, Author, Contributor.
Plugins -- definePlugin() API with lifecycle hooks, KV storage, settings, admin pages, dashboard widgets, custom block types, and API routes. Sandboxed execution on Cloudflare via Dynamic Worker Loaders, and on Node.js in a workerd child process.
实现原理它内部是怎么做的
How It Works
EmDash is an Astro integration. Add it to your config and you get a complete CMS: admin panel, REST API, authentication, media library, and plugin system.
Content types are defined in the database, not in code. Non-developers create and modify collections through the admin UI. Each collection gets a real SQL table with typed columns. Developers generate TypeScript types from the live schema:
Query content using Astro's Live Collections -- no rebuilds, no separate API:
其它说明README 里剩下的内容
Blog
- Categories & tags
- Full-text search
- Comment-ready
- Dark / light mode
Marketing
- Hero with photo and CTAs
- Logo wall, features and stats
- Text and photo sections
- Pricing, FAQ and closing CTA
- Dark / light mode
Portfolio
- Project grid
- Tag filtering
- Case study pages
- Dark / light mode
关于 emdash 的常见问题
6 个问题emdash 是做什么的?
基于 Astro 的全栈 TypeScript 内容管理系统,提供管理后台、内容建模和插件机制,可运行在 Cloudflare 或 Node.js 上。 传统 WordPress 需要同时维护 PHP 和 JavaScript,靠多层缓存提升性能,且插件能直接访问数据库与文件系统,一个漏洞插件就可能危及整站安全。这个项目用类型安全和沙箱隔离重新实现类似建站体验,避免这些隐患。
emdash 有哪些功能?
核心能力:创建博客文章、页面和自定义内容类型,支持草稿、修订与定时发布;用结构化 JSON 格式存储富文本,让内容与网页展示解耦;在沙箱 Worker 中运行插件,并按声明的能力清单限制其访问范围;提供带可视化模式构建器的管理后台,管理媒体、菜单、分类和组件;用 Passkey 优先方式登录,并提供角色权限控制和多种备用登录方式;通过命令行工具和内置 MCP 服务让 AI 助手程序化操作内容与模式;用全文搜索快速检索站内内容。
emdash 适合谁用?
适合想用 TypeScript 和 Astro 搭建内容站点的开发者与内容团队,也适合需要安全插件环境或希望让 AI 助手参与站点管理的场景。
emdash 是怎么工作的?
它作为 Astro 集成接入现有站点,内容类型存于数据库而非代码中,每个集合对应带类型列的 SQL 表,并可从实时模式生成 TypeScript 类型;内容通过 Astro Live Collections 查询,无需重建或额外接口。
用 emdash 有什么门槛或限制?
需要运行在 Cloudflare 的 D1、R2 和 Workers 上,或使用带 SQLite 的 Node.js 服务器;插件沙箱依赖动态 Worker 加载机制。
emdash 现在还在维护吗?数据怎么样?
目前 14,029 星,1,343 个 Fork,主语言 TypeScript,创建于 2026-04-01,最近一次推送 2026-10-28 23:47,许可证 MIT。星数、Fork、推送时间都是 GitHub 返回的实时数据,「最近推送」离现在越近说明越活跃;长期不动要留意是否已停止维护。
这些内容来自哪
读法说明项目数据取自 GitHub 官方接口与项目 README;星数、Fork、语言与时间以 GitHub 页面为准,档案更新于 2026-10-23 17:59。
