保留你的用户体验
客户始终不会离开你的产品。编辑只是他们早已熟悉的应用中多出的一个界面,而不是跳转到别处。
编辑器是你应用内部的一层,而不是一个把用户交出去的平台。围绕它的一切 —— 账号、权限、数据、发布 —— 都保持在原来的位置。
你的 API
编辑器调用的接口
你的数据库
内容真正存放的地方
你的发布基础设施
成品页面如何触达用户
把客户导向外部构建器,等于同时失去这次会话、品牌曝光和数据。嵌入则三者都能保留。
客户始终不会离开你的产品。编辑只是他们早已熟悉的应用中多出的一个界面,而不是跳转到别处。
面板、图标、字体和术语都可以由你修改,编辑器因此看起来就是你应用的原生组成部分。
项目、素材和内容都存放在你自己的基础设施中,遵循你的留存、数据驻留和备份规则。
编辑器调用你已有的接口。无需并行的数据模型,也不必在两个数据源之间同步。
草稿、审核和发布仍在你的流水线中。编辑器只负责产出内容,何时上线由你的基础设施决定。
开源内核、自托管、没有按席位收费、也不强制使用某个编辑器。你的路线图不必依赖任何第三方。
其中一部分属于 GrapesJS 内核,编辑器挂载后即刻可用;一部分需要插件;还有一部分始终是你应用自己的职责 —— 每张卡片都会注明。
内核
直接在你的应用内拖放、选择和编辑内容。属于编辑器内核 —— 挂载后立即可用。
内核 + 插件
可复用的版块与组件。可以用你产品自己的标记定义,也可以直接安装现成的区块集。
浏览区块插件内核
通过样式管理器控制字体、间距、颜色和响应式断点,并可限制为设计系统允许的属性。
内核 + 插件
让编辑器指向你自己的媒体库,或用素材插件接入托管服务。
浏览素材插件内核 + 插件
通过远程存储管理器把项目保存到你的 API 和数据库。插件可再加上自动保存、崩溃恢复和托管后端。
浏览存储插件内核 + 插件
每个项目可包含多个页面。内核提供页面模型,插件提供用户看到的管理界面。
浏览多页面插件你的应用
导出 HTML 和 CSS,再交给你自己的草稿与发布流水线。编辑器绝不会代你发布。
你的应用
哪些用户和角色能编辑什么,由你的应用决定,而非编辑器。先对路由做鉴权,再按角色收窄编辑器面板。
安装
把编辑器加入你现有的前端。一个依赖,无需注册服务,也不用申请密钥。
先从编辑器内核开始,只添加你产品需要的功能。
五段真实代码。刻意与框架无关 —— React 和 Next.js 的细节只有一个链接之遥。
安装
npm install grapesjs初始化
import grapesjs from 'grapesjs';
import 'grapesjs/dist/css/grapes.min.css';
// Mount the editor on any container inside your own app shell.
const editor = grapesjs.init({
container: '#editor',
height: '100%',
fromElement: false,
});存储
const editor = grapesjs.init({
container: '#editor',
// Persist to your API, not to a third-party service.
storageManager: {
type: 'remote',
autosave: true,
stepsBeforeSave: 10,
options: {
remote: {
urlStore: '/api/projects/123',
urlLoad: '/api/projects/123',
// Your session, your authorization rules.
fetchOptions: { credentials: 'include' },
},
},
},
});插件与自定义区块
import grapesjs from 'grapesjs';
import blocksBasic from 'grapesjs-blocks-basic';
const editor = grapesjs.init({
container: '#editor',
plugins: [blocksBasic],
pluginsOpts: {
[blocksBasic]: { flexGrid: true },
},
});
// Or register your own product's components as blocks.
editor.Blocks.add('pricing-table', {
label: 'Pricing table',
category: 'Your product',
content: '<section class="pricing">…</section>',
});发布
// Publishing stays in your infrastructure.
async function publish(projectId) {
const html = editor.getHtml();
const css = editor.getCss();
await fetch(`/api/projects/${projectId}/publish`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ html, css, status: 'published' }),
});
}从上到下读一遍这套技术栈,看看其中有多少本来就属于你。GJS.Market 只提供其中一层。
API
你的 REST 或 GraphQL API
数据库
你的数据库,你的表结构
发布
你的基础设施
下面每一款插件都是 GJS.Market 上真实在售的产品,价格实时同步。按需安装,其余可以跳过。
四种起步方案,全部由目前真实在售的插件组成。价格实时取自目录。
控制台内的页面编辑
完整的建站产品
营销与事务性邮件
面向结构化内容的可视化编辑
搭建 CMS 编辑器价格在构建时取自市场,可能会变动。所有插件都是可选的 —— 编辑器内核本身免费。
同一套编辑器内核,通过你为它配置的插件与限制,胜任完全不同的任务。
让客户在你的控制台内创建和编辑页面,全程不必离开他们付费使用的产品。
SaaS 页面构建器为内容团队提供可视化编辑,同时让后端继续保留所需的结构化数据。
无头 CMS 编辑器让用户在管理受众的同一处构建落地页和活动素材。
落地页构建器在无需自己编写编辑器的前提下,交付一套完整的面向客户的建站体验。
所见即所得页面构建器把可视化邮件构建器嵌入用户已经在遵循的营销活动流程中。
邮件模板构建器先用 AI 生成初稿,再让用户可视化地微调,而不是反复改提示词。
AI 插件为内部团队负责的界面提供可视化编辑器,无需从零搭建。
面向开发者的无代码构建器在你已经选定的架构之上叠加一层可视化能力,而不是推倒重来。
开源页面构建器GrapesJS 在浏览器中运行并挂载到一个 DOM 节点上,所以无论你用什么,集成都只是一层很薄的封装。
可视化编辑器不是一个功能,而是十几个必须协同工作的子系统,而且要随着浏览器演进持续可用。
自研编辑器意味着要做的子系统
从零自研
数月的工程投入
GrapesJS + GJS.Market
几天即可起步
终点相同。一条路把路线图花在编辑器基础设施上,另一条把它花在你的产品上。
它从设计之初就是为嵌入而生 —— 所以你需要的扩展点本来就已经在那里。
内核以 BSD-3-Clause 许可发布 —— 宽松、对商业友好,而且在你需要弄清它到底做了什么时可以直接读源码。
编辑器运行在你自己的应用基础设施中。没有需要调用的外部服务,也没有不属于你的可用性指标。
自定义组件、区块、命令、面板和插件都是一等公民。你产品的界面本身也可以变成可编辑的内容。
支持 React、Next.js、Vue、Angular 和原生 JavaScript。官方 @grapesjs/react 封装采用 MIT 许可。
你的应用、数据和基础设施始终由你掌控。产物是纯粹的 HTML 和 CSS,可以在任何地方渲染。
用 GJS.Market 上的 100+ 款插件扩展编辑器,而不必自己实现每一项能力。
26k+
GitHub 星标
100+
GJS.Market 上的插件
10 years
持续开发
$0
授权费用,始终如此
你的用户应该觉得自己在使用你的产品 —— 而不是某个第三方编辑器。
了解白标页面构建器从开源的 GrapesJS 编辑器起步,再用产品真正需要的插件扩展它。
存储、区块、页面、素材、导出和 AI —— 均为生产可用的在售插件,价格实时同步。
浏览插件安装开源内核,挂载到你的应用中,在付费之前先把画布跑起来看看。
从 GrapesJS 开始编辑器嵌入、API 集成、白标主题和自定义区块,以明确范围的项目形式交付。
需要集成方面的帮助?