La función CleanId no funciona con código MJML
https://github.com/artf/grapesjs/releases/tag/v0.16.41
Lee la respuesta completa abajo ↓Pregunta
Este problema es sobre el código MJML, pero creo que esto tiene más que ver con grapesjs que con grapesjs-mjml
Hay una función que elimina identificadores innecesarios en 'src/code_manager/model/HtmlGenerator.js'. Esta función funciona bien con etiquetas HTML, pero no con etiquetas MJML.
Lo que he encontrado es
htmlOpts.attributes = (mod, attrs) => {
const { id } = attrs;
console.log(attrs) // este log devolverá todos los elementos dominantes en HTML, no en MJML
si ( id & & id[0] === 'i' & & !mod.get('script') & & idRules.indexOf(id) < 0 ) {
eliminar attrs.id;
}
regreso de atractivos;
};
Respuestas (2)
Gracias por informar de esto, @ThomasPof.
Gracias por compartir tu informe sobre la función CleanId que no funciona con código MJML. Para ayudar al equipo a investigar y priorizar esto:
Por favor, proporciona:
- Un ejemplo mínimo reproducible (CodeSandbox/JSFiddle)
- Tu GrapesJS número de versión
- Información sobre navegador y sistema operativo
- Cualquier mensaje de error de la consola del navegador
- Pasos para reproducir el problema
Lo que más ayuda:
- Ejemplo de código mínimo (no tu proyecto completo)
- Grabación de pantalla o captura de pantalla que muestra el problema
- Comportamiento esperado frente a comportamiento real claramente indicado
- Configuración GrapesJS que estás usando
Con estos detalles, los mantenedores pueden identificar y priorizar una solución mucho más rápido. El equipo de GrapesJS responde muy bien a los problemas bien documentados.
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #3282
La función CleanId no funciona con código MJML
CleanID sigue sin funcionar para el código MJML, ni siquiera en la última versión de grapesJS (0.16.41) Está relacionado con este tema cerr...
Issue #3500
Elimina el rasgo personalizado por su tipo.
He creado un rasgo personalizado, pero el nombre de ese rasgo será dinámico, lo cual se desconoce. El problema es que el removeTrait() actu...
Issue #3732
El tipo de componente de comentario no soporta añadir rasgos
Estoy trabajando en un script que añade un rasgo a todos los tipos de componente, pero el tipo de comentario no tiene el objeto prototipo....
Issue #3249
PREGUNTA sobre JSON almacenado por el StorageManager
Oye, @artf. Quiero acceder al json que se genera cuando se almacena una plantilla sin almacenar realmente la plantilla. El objeto json se p...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.
Explora plugins gratuitos →Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.
Explora plugins premium →Tutoriales relacionados
Guías detalladas sobre el mismo tema.
Tutorial
Big Updates: TinyMCE 8 and Placeholder 2.0 for GrapesJS
In May we shipped major updates to two of our most popular GrapesJS plugins — TinyMCE Inline Text Editor and Placeholder.
Tutorial
🚀 Introducing the New GrapesJS Plugin Generator on GJS.Market
We’re excited to announce a powerful new tool for GrapesJS developers — the GrapesJS Plugin Generator on GJS.Market!
Tutorial
Integrating GrapesJS into a Vue 3 App — Complete Guide for 2026
Build a Vue 3 landing page builder with GrapesJS and Vite. Custom blocks, composables, remote storage, TypeScript & production tips. Updated for 2026.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.