Cromwell CMS:使用Next.js重写的全新WordPress免费开源项目


很多非编程人员想要一个独立的平台,他们可以自己简单地管理和定制。这是使 WordPress 仍然如此受欢迎的主要原因之一。否则,每个人都会聘请开发人员来制作一个超级快速和酷炫的网站。
现在有一个可以涵盖所有现代前沿技术的WordPress 解决方案。React静态预渲染用于前端、成熟和可维护的后端(例如 Nest.js 和 TypeORM);GraphQL API 在 CMS 开发中大放异彩,最终用户可以在其中构建任何类型的前端。
Cromwell CMS 是一组可以独立安装和启动的软件包和服务。它继承了微服务架构的优势,只需运行一个 npm 或 yarn 命令就可以更轻松地更新 CMS。我也可以将其称为无头 CMS,因为可以使用任何自定义前端运行 API 服务器。
 
有 4 个主要服务:

  • 1. API 服务器服务。API server 是用 Nest.js 和 TypeGraphQL 编写的,REST API 用于事务,GraphQL 用于数据流。这两种类型的 API 都可以通过插件扩展(关于它下面)。
  • 2. 前端服务(Next.js)。基本上,它是一个自定义的 Next.js 服务器。
  • 3. 管理面板服务。提供管理面板的文件。
  • 4. 管理服务。此服务根据用户 GUI 输入启动、监视和重新启动其他服务。例如,在 WordPress 中更改主题更容易,但是对于 Next.js,我们必须使用另一个应用程序构建重新启动服务器

  
主题引擎
所有主题都是 npm 包。只需在 package.json 中安装一个具有特定属性的包,CMS 就会识别它并在管理面板中显示一个主题。然后用户可以选择一个主题,CMS 将从 node_modules 中的主题包中获取准备好的应用程序构建,将其放置在工作前端目录中并重新启动 Next.js 服务器。
虽然通过 npm 安装对开发人员来说很方便,但听起来并不友好。所以我决定更进一步,在管理面板中实现了用于包管理的 GUI。当用户进入主题或插件市场(在管理面板 GUI 中,与 WordPress 中的“添加新插件”相同)并单击“安装”时,CMS 在内部运行 yarn 命令以添加包。删除/卸载时也会发生类似的情况。
然后每个主题都可以在管理面板拖放主题编辑器(类似于网站构建器)中高度可定制。用户可以移动块、更改文本、图像、添加插件等。React 使我们能够提供开箱即用的此类系统。
Cromwell CMS builder遵循代码优先的方法,这是我认为构建网站的正确方法。没有在故障网站构建器中从头开始制作的布局
 
插件
插件是可以导出扩展或订阅操作的包(与 Wordpress 中的钩子相同)。插件使您能够使用最好的(或至少是最好的)框架构建您的应用程序。您可以导出自定义 Nest.js 控制器、TypeGraphQL 解析器、TypeORM 实体等。由于 REST 和 GraphQL API 作为插件作者都是可扩展的,因此您可以选择最适合您的应用程序的内容。在前端,您可以为管理面板或主题前端注册小部件(用户必须将您的插件放置在主题编辑器中)。有关更多信息,请参阅我们的指南。插件可以安装在管理面板中,所有扩展都将自动应用,无需任何手动 CLI 命令。
  
优点与用处
  • - 由于 React 和 Next.js 静态预渲染页面的强大功能,超快的前端体验。
  • - 在线商店和博客平台。除了提供最前沿的技术外,它还必须具有不错的管理面板体验,不比众所周知的 CMS 差。基于Editor.js 的现代块样式文本编辑器
  • - 免费的全功能在线商店和博客主题。免费插件。那个,我会添加更多。用户可以简单地从任何其他 CMS 转向免费开始尝试或使用 Cromwell CMS。
  • - 易于安装和使用主题和插件。在管理面板 GUI 中一切正常。网站建设者。
  • - 无需 Web 开发人员
  • - SEO友好。每个页面都有静态预渲染的 HTML。CMS 允许编辑 SEO 元标记,提供自动生成的站点地图和 robots.txt。
  • - 迁移。将您的数据从其他 CMS 导出到 Excel 文件并导入。
  • - 电子邮件、付款和其他集成。