PageKit: el creador de sitios GrapesJS autoalojado, con el código fuente incluido. Obtener acceso anticipado

PageKit: la GrapesJS aplicación que tendrías que construir de todas formas

Una aplicación de Next.js disponible en el código fuente alrededor del núcleo de GrapesJS de código abierto — publicación, dominios personalizados, contactos, checkout y un cargador de plugins.

GJS.MARKET
GJS.MARKET
17 de agosto de 2026hace 24 días
11 lectura mínimaVistas de 771

Cada GrapesJS proyecto empieza igual. Montas el editor, arrastras un bloque al lienzo y funciona la primera tarde. Esa parte es realmente fácil — el editor es un buen software y hace lo que dice.

Entonces empiezan las preguntas. ¿Dónde viven las páginas? ¿Cómo consigue una cuenta un segundo usuario? ¿Qué significarealmente publicar? ¿Qué sirveacme.coy de dónde viene su certificado? ¿A dónde van los envíos de formularios? Cuatro semanas después no has escrito ni una sola función que un cliente pueda notar, y has creado una aplicación que casi no tiene nada que ver con GrapesJS.

Esa aplicación es la que empaquetamos. PageKit es una aplicación de producción Next.js integrada en el núcleo de GrapesJS de código abierto: autenticación, espacios de trabajo, proyectos multi-inquilino, almacenamiento de páginas, pipeline de publicación, dominios personalizados, captura de leads, checkout y un cargador de plugins. Se entrega como código fuente bajo una licencia única, tú mismo la alojas y puedes cambiar cualquier línea.

Está en la versión v0.1.0, pre-lanzamiento, y la lista de espera está abierta en pagekit.gjs.market.

El editor es la mitad fácil

Seguimos diciendo esto porque es toda la tesis del producto. La mayoría de las integraciones GrapesJS que puedes comprar hoy en día terminan donde empieza el trabajo interesante: un proyecto, un usuario, publicar significa "descargar un ZIP", y los dominios son tu problema.

La mitad que tarda un mes es la tenancy. Un espacio de trabajo que alberga muchos proyectos, cada uno con sus propias páginas, su propio dominio, su propio estado de publicación. Roles de propietario, editor y espectador con invitaciones por correo electrónico y una protección que evita que degrades al último propietario. Una puerta de revisión opt-in para que el equipo de marketing del cliente pueda editar sin poder publicar. Subdominios comodines a través de middleware más dominios personalizados con TLS bajo demanda, para que un nuevo proyecto sea accesible por HTTPS sin necesidad de desplegar.

Nada de eso es GrapesJS trabajo. Todo es trabajo sin el que no puedes enviar el equipo.

Cuatro cosas que rompen una integración GrapesJS

Si has integrado el editor antes, has conocido al menos a uno de estos. Son la verdadera razón por la que un prototipo de fin de semana tarda un mes en estar listo para producción — y cada uno ha moldeado la arquitectura.

1. El estado del proyecto no es la exportación.getProjectData() Devuelve lo que restaura una sesión de edición.getHtml() ygetCss()produce lo que publicas. Almacena el que no es correcto y o bien envías el andamiaje del editor a los visitantes o entregas a tus usuarios una página que ya no pueden editar. PageKit mantiene dos almacenes separados: una columna de datos del proyecto para la sesión y una fila de publicaciones para el artefacto renderizado. Las páginas publicadas se sirven desde el segundo y nunca tocan la ruta del código del editor — por eso también nunca cargan el paquete del editor.

2. El lienzo es un iframe. Las fuentes, los reinicios CSS y cualquier biblioteca de ejecución que necesite el contenido renderizado deben ser inyectados en el marco. Añadirlos a la página anfitriona no hace nada, lo que se interpreta como un error de estilo y se depura en el archivo equivocado durante una tarde. Todo lo que el lienzo necesita pasacanvas.stylespor ahí, asícanvas.scripts que lo que ves al editar es lo que realmente carga el documento publicado.

3. El script de componente es una cadena serializada. Se ejecuta dentro del cuadro de lienzo y no puede cerrarse sobre el alcance circundante. Un script que hace referencia a un tipo de símbolo importado se comprueba limpiamente y se lanza en tiempo de ejecución — invisible hasta que un usuario arrastra ese componente a una página. Cada componente personalizado en PageKit pasa sus dependencias a través de script-props, y la regla se aplica en revisión en lugar de descubrirse en producción.

4. Los tipos personalizados deben registrarse antes de que cargue el contenido. El contenido que hace referencia a un tipo que aún no está registrado se degrada silenciosamente a elementos simples y pierde permanentemente su comportamiento en esa sesión. Nada falla; la página solo empeora cada vez que se abre. El cargador de plugins resuelve y registra los pluginsde un proyecto antes deque se ejecute la ruta de carga, y rechaza los plugins incompatibles con versiones en voz alta en lugar de fallar silenciosamente dentro del lienzo.

Núcleo OSS

PageKit está construido sobregrapesjsla 0.23.5 — el núcleo de código abierto únicamente. Esta es una decisión de licencia antes que técnica: el SDK comercial Studio lleva una licencia por dominio que no puede redistribuirte, lo que lo hace inutilizable en un producto vendido como fuente.

Todo lo que esperarías de un editor moderno — paleta de bloques buscable, árbol de capas, gestor de estilos, rasgos, cambio de dispositivo, guardado automático protegido por un token de versión optimista para que dos pestañas no puedan sobrescribirse silenciosamente — está construido sobre la API central y se envía en el código fuente que recibes. El editor sigue siendo una dependencia en lugar de un fork, así que las correcciones aguas arriba siguen siendo aguas arriba.

¿Qué hay en la caja

Nueve áreas, todas construidas y cubiertas por pruebas: el editor shell; publicación con publicaciones en caché, subdominios comodines y dominios personalizados; SEO por página con generación de imágenes originales, sitemap y robots; formularios con un generador de campos en el panel de rasgos, honeypot más un torniquete opcional o hCaptcha, y una bandeja de entrada de leads con exportación CSV; micro-comercio electrónico con productos, carrito y pago detrás de un adaptador de pago; el cargador de plugins con un navegador de gjs.market de administrador interno; pruebas A/B y ventanas emergentes; roles y aprobaciones del equipo; marca blanca con una verificación de licencia offline Ed25519.

El almacenamiento, el correo electrónico y los pagos se encuentran cada uno detrás de una sola interfaz, con valores predeterminados y sin conexión sensatos — sistema de archivos local, SMS y un proveedor de pagos de prueba que permite que el proceso completo de pago se ejecute en un portátil sin cuentas ni claves. Introduce S3, Reenviar o Sello, Stripe o PayPal proporcionando credenciales.

Los números del repositorio, que puedes ejecutar tú mismo contra la fuente: 19 bloques de editor en cuatro categorías, seis tipos de componentes personalizados, 23 tablas de base de datos distribuidas en 11 migraciones de Drizzle, 12 especificaciones de Playwright de extremo a extremo, suites de 10 unidades y cero dependencias GPL entre 16 paquetes de ejecución.

Tu instalación viene con un catálogo

El cargador de plugins es una parte de primera clase del producto, y la tienda gjs.market está integrada en el administrador como pantalla completa, no como un enlace en un pie de página. Los manifiestos están validados por Zod, los rangos de semestres se comprueban con tu GrapesJS instalado antes de que se registre nada, ynpm run create-pluginse estructura uno nuevo. Extender una instalación no significa bifurcarla.

¿Qué no está construido aún?

Dos cosas, y preferimos que leas esto ahora antes que descubrirlo tras comprarlo. Las páginas multilingües — variantes por localidad y un bloque de conmutador de idiomas — están diseñadas pero no escritas; hoy no hay código i18n en el repositorio. La generación de copias por IA sobre tu propia clave tampoco está escrita, y ninguna dependencia de IA se envía en la fuente actual. Ambas están en la hoja de ruta pública.

Todo lo demás mencionado anteriormente está construido y en fase de prueba.

Ejecutándolo

Node.js 20+, PostgreSQL 16, y o bien un VPS con Docker (docker compose upque lleva Postgres, la app y Caddy) o Vercel con Postgres gestionado. Alrededor de 1 GB de RAM para la ruta Docker, y un registro DNS comodín para el enrutamiento de subdominios. El alojamiento compartido no funcionará — Next.js necesita un tiempo de ejecución de Node, y preferimos decirlo aquí antes que venderte un reembolso.

Licencias y acceso anticipado

Una sola vez, por nivel: Desarrollador 199 dólares por un solo proyecto de producción, Agencia 449 dólares para hasta diez proyectos de clientes con marca administrativa white-label, SaaS / 899 dólares ilimitados para ejecutar tu propio producto alojado y cobrar a los usuarios finales. Doce meses de actualizaciones están incluidas en cada nivel; renueva después al 40% del precio de la licencia anual. Como te autoalojas, actualizas a tu propio ritmo — las actualizaciones nunca se aplican forzadamente a una instalación en funcionamiento.

La comprobación de licencias verifica un token firmado por Ed25519 fuera de línea con un largo periodo de gracia. Si nuestro servidor de licencias desaparece por completo, lo peor que puede pasar es un aviso de desestimación en tu panel de administración. Nunca bloquea el panel de control ni toca una página publicada.


Early bird: los primeros 20 compradores obtienen el nivel de Agencia al precio de Desarrollador, con actualizaciones de por vida.


La lista de espera ya está abierta en pagekit.gjs.market — un correo electrónico en el lanzamiento, el bono de early bird y la hoja de ruta. Nada más.

17 de agosto de 2026 publicado
10 de septiembre de 2026 actualizado
⚡ Next.js

¿Construir con GrapesJS + Next.js?

Evita los dolores de cabeza SSR. Explora plugins de GrapesJS seguros para SSR y diseñados para Next.js proyectos.

Comparte esta publicaciónTwitterFacebookLinkedIn
Publicado a través de
GJS.MARKET
GJS.MARKET
Visita la tienda →

Más de GJS.MARKET

Descubre otras publicaciones interesantes y mantente al día con el contenido más reciente.

Ver todas las publicaciones

Plugins premium de GJS.MARKET

Añadidos pagados seleccionados a mano por este creador.

Visita la tienda →