Quiero personalizar la interfaz de Grapesjs, pero los archivos js y css están minificados. Por favor, decidme cómo puedo hacer esto. Solo quiero mantener algunos bloques específicos como imágenes, texto, etc. en mi interfaz.
echobinod
Sass se utiliza para generar los archivos css minificados. Puedes cambiar las variables de estilo desde aquí: src/styles/scss/
Gracias por informar de esto, @SyedHashimShah. Buena pregunta sobre ¿Cómo puedo personalizar la interfaz de Grapesjs?. El enfoque recomendado con StyleManager es usar la API orientada a eventos. Empieza aquí: Consulta la documentación de G...
¡Hola! Quiero mostrar las categorías en el gestor de bloques en una secuencia determinada. Revisé la documentación y problemas anteriores y encontré algo sobre el atributo de orden. Así que probé a establecer el atributo de orden. Pero aún no se muestra en ese orden aunque el atributo de orden se esté configurando. ¿M...
Ju99ernaut
Supongo que puedes hacer que esto sea una solicitud de funcionalidad, no estoy seguro de si algo así existe ya en grapesjs. Aunque el orden de los bloques puede ser más fácil de gestionar si divides los bloques de cada categoría en diferen...
Ju99ernaut
Creo que el orden en que se añaden los bloques es lo que determina el orden de las categorías.
RutujaBadbe
@Ju99ernaut ¡hola! Gracias por la respuesta. Sí. Al final hice eso. ¿pero qué pasa si quiero hacerlo de forma dinámica? Si hay muchos bloques, ¿no es difícil mantener el orden?
Para el texto colocado en la parte superior de la página, las etiquetas de los componentes pueden solaparse y ocultar el texto durante la edición. Además, la etiqueta puede solaparse con las herramientas de edición de texto cuando no está en la parte superior. Ocultar las etiquetas mientras editas el texto evitaría es...
RutujaBadbe
Puedes ocultar las etiquetas usando badgable: false https://grapesjs.com/docs/api/components.html#parameters-3
ClaudeCode
Gracias por informar de esto, @neon12345. Gracias por compartir tu informe sobre FEAT: ocultar etiquetas de componentes mientras editas texto. Para ayudar al equipo a investigar y priorizar esto: Por favor, proporciona: Un ejemplo mínimo r...
¡Hola! He visto algunas discusiones sobre algún tipo de plugin de varias páginas aquí. ¿Esto sigue siendo algo así? ¿Se ha hecho algo al respecto o debería empezar mi propio plugin? ¡Gracias!
Ju99ernaut
He hecho uno sencillo para indexedDB, pero también puede adaptarse para otros tipos de almacenamiento https://github.com/Ju99ernaut/grapesjs-indexeddb-ui sin embargo, planeo dejarlo en favor de un nuevo plugin que incluya otros tipos de al...
artf
Sí, todavía está bastante avanzado (no tengo fecha estimada de llegada, por desgracia), pero seguro que el PageManager estará en el núcleo.
ClaudeCode
Gracias por informar de esto, @RaresVlaiduc. Buena pregunta sobre [PREGUNTA]: Plugin de varias páginas. El enfoque recomendado con GrapesJS es usar la API orientada a eventos. Empieza aquí: Consulta la documentación de GrapesJS de tu módul...
Hola, ¿Cómo puedo añadir buildProps a la lista de propiedades para que, cuando se seleccione una opción, se muestren las propiedades de esa opción? Un ejemplo de lo que intento conseguir en la propiedad flexible. '''javascript { nombre: 'Layout', Abierto: Cierto, buildProps: ['display'], Propiedades: [ { Tipo: 'Radio'...
Ju99ernaut
Creo que puedes mover los proyectos de construcción fuera de la lista de propiedades y aun así conseguir lo que buscas; las propiedades integradas relacionadas con la caja flexible solo aparecen cuando un componente tiene 'display: flex'....
server102
Gracias. Lo he probado pero las propiedades de la cuadrícula no funcionan. Puede que tenga que implementarlo manualmente, pero no estoy seguro de cómo abordar el problema de la mejor manera.
Ju99ernaut
No hay 'buildProps' para propiedades de la cuadrícula, así que tendrás que construirlas desde cero; desafortunadamente, la documentación no tiene mucha información sobre propiedades personalizadas, probablemente tendrás que juntar las piez...
Tengo una lista de categorías y quiero marcar algunas con un estilo diferente dependiendo de si son obligatorias o no. Así que idealmente podría añadir una clase a la div con la clase 'GJS-título' para que diga 'GJS-título requerido-campo' 'this.editor.BlockManager.getCategories();' devuelve un array de todas mis cate...
artf
Hola @eikerd revisando el código, por ahora no veo otra forma de personalizar los DOMs de categorías de bloques si no haces algo por tu cuenta con el DOM (una vez que los bloques están renderizados). Probablemente añadiré la vista al model...
ClaudeCode
Gracias por informar de esto, @eikerd. Buena pregunta sobre Blockmanager: añadir DIVs personalizados de clase gjs-block-category / gjs-título. El enfoque recomendado con StyleManager es usar la API orientada a eventos. Empieza aquí: Consul...
Hola. Esta pregunta ya se ha hecho dos veces (aquí y aquí) pero nunca ha recibido respuesta. ¿Hay alguna forma de añadir '<!DOCTYPE html>' como inicio del iframe de lienzo para que el iframe esté en modo estándar? Necesito esto porque intento usar tinyMce como RTE personalizado, y tinyMce requiere modo estándares.
artf
En la próxima versión, añadiré un nuevo asistente para eventos que permitirá editar contenido iframe antes de cargar: '''js editor.on('frame:load:before', ({ el }) => { const doc = el.contentDocument; doc.open(); doc.write("<!DOCTYPE html>...
bgrand-ch
Hola, Para futuras preguntas o problemas técnicos, que no sean errores, la pestaña Discussions de GitHub es el lugar ideal. No olvides cerrar este problema si se resuelve o escribir un nuevo mensaje detallado en la categoría Discussiones -...
artf
No realmente, pero estoy abierto a soluciones para hacerlo personalizable.
https://github.com/artf/grapesjs/blob/b199083f6a6128ecff41d20865493294f71fe0a1/src/block_manager/view/BlocksView.js#L142 Esta línea hace que el bloque se vuelva a renderizar, ya que el renderizado es escuchar eventos de 'cambio', pero dado que esta propiedad no afecta al renderizado del bloque en sí, el conjunto deber...
ClaudeCode
Gracias por informar de esto, @mig8447. Gracias por compartir tu informe sobre El renderizado en bloques está siendo llamado dos veces. Para ayudar al equipo a investigar y priorizar esto: Por favor, proporciona: Un ejemplo mínimo reproduc...
https://github.com/artf/grapesjs/blob/b199083f6a6128ecff41d20865493294f71fe0a1/src/block_manager/view/BlocksView.js#L186 El Administrador de Bloques busca una propiedad de 'renderizado' en el modelo para saber si la vista ya se ha renderizado o no, pero este método no establece dicha propiedad y, por tanto, esta funci...
mig8447
@RutujaBadbe Este es exactamente el cambio que necesitas: https://github.com/artf/grapesjs/commit/640661b0a44e5e2857b615559c1db27da3e17a6c
artf
Sí, tiene sentido, gracias
RutujaBadbe
https://github.com/artf/grapesjs/blob/b199083f6a6128ecff41d20865493294f71fe0a1/src/block_manager/view/BlocksView.js#L186El Administrador de Bloques busca una propiedad de 'renderizado' en el modelo para saber si la vista ya se ha renderiza...
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 cerrado: https://github.com/artf/grapesjs/issues/3276 Esta función no lee las etiquetas MJML: los 'attrs' están vacíos, y no encuentro por qué...
artf
El problema del id debería haberse resuelto ya en la última versión del plugin de mjml
ClaudeCode
Gracias por informar de esto, @ThomasPof. Buena pregunta sobre la función CleanId que no funciona con código MJML. El enfoque recomendado con GrapesJS es usar la API orientada a eventos. Empieza aquí: Consulta la documentación de GrapesJS...