Cloudflare has released the content management system EmDash. Like WordPress, the new system supports extensions through plugins, allows the use of templates for building various types of websites, and provides an administration interface, while also being able to operate on serverless computing platforms and enhancing security through the use of TypeScript with static types and isolating plugins in separate sandbox environments.
The project's code is written in TypeScript using the web framework Astro and is distributed under the MIT license. The announcement mentions that thanks to the involvement of AI agents in development, the product was created in two months. EmDash can function both within Cloudflare's infrastructure and be run on its own using Node.js. servers It can utilize SQLite, Turso/libSQL, and PostgreSQL as the database management system, while AWS S3, S3-compatible systems, or regular local file systems can be used for storage. For session information, it is recommended to use Redis or the file system.
The new system is developed as an attempt to recreate the WordPress project using modern tools and addressing existing issues. Among the issues with WordPress, the need for separate management of code in two languages (PHP and JavaScript), the use of multi-level caches to achieve acceptable performance, and the insecure architecture of plugins, which accounts for 96% of all vulnerabilities on the platform, are noted.
Each WordPress plugin has full access to the database management system and integrates with the PHP code of the main platform, so any vulnerability in a plugin completely compromises the entire site. In EmDash, plugins run in separate isolated Workers, whose capabilities are declaratively limited by the manifest. For example, if a plugin requests permissions for read:content and email:send, it will only be granted read access and the ability to send emails, no more. Since plugins are not embedded in the content management system's code, their authors are free to choose any license and distribute plugins through any repositories and application directories.
WordPress stores content in HTML format with metadata embedded as internal comments. EmDash uses a JSON-based structured format called Portable Text, which separates content from presentation. This approach allows content to be rendered in various viewsâsuch as web pages, mobile applications, emails, or API responses. There is a built-in MCP server that facilitates platform integration with AI agents capable of managing content and can also be used to create themes and plugins.
The basic package offers three starter templates: blog, marketing, and portfolio. The first one creates a standard blog with a sidebar, full-text search, categories, tags, RSS, comments, and a toggle between dark and light themes. The second template enables the creation of corporate sites with pricing, contact information, and descriptions of products and services. The third template focuses on showcasing achievements and project presentations.
Key features of EmDash:
- Content: publishing materials, pagination, defining custom content types, text editing with markup in a visual mode using the TipTap editor, content version control, draft preparation, scheduling posts, full-text search, and inline editing.
- Admin panel: visual data schema builder, multimedia library, navigation menus, information organization, widgets, ability to migrate content from WordPress.
- Authentication: by default, Passkey (WebAuthn) with OAuth, link-based login, role-based access control (admin, editor, author, member).
- Migration from WordPress: importing posts, pages, and structure via WXR, WordPress REST API, or WordPress.com. Using AI for porting plugins and themes.
Source: opennet.ru
