Editor enriquecido + Componente de tema

Mi objetivo es que, cuando un usuario incluya un enlace a una URL específica (dominio + ruta base), pueda mostrarlo automáticamente con un formato especial.

Puedo lograr esto en la publicación renderizada con decorateCookedElement(), pero no logro averiguar cómo puedo conectarme a la visualización del Editor de Texto Enriquecido para personalizar la apariencia del enlace allí.

¿Existen características de api que puedan usarse dentro de un apiInitializer de un Componente de Tema para personalizar la renderización del Editor de Texto Enriquecido?

Estaba tratando de evitar tener que crear un plugin para que se ejecute en el propio servidor… y aún no he encontrado una solución más simple, ¡pero estoy abierto a ideas alternativas! (Por ejemplo, no quiero deshabilitar el OneBoxing de este dominio en su totalidad, ya que las páginas de marketing que no son SPA tienen buenas etiquetas OpenGraph para OneBoxing).

Enfoque Histórico: decorateCookedElement()

Históricamente he hecho algo similar para videos servidos desde Bunny.net (publicación de referencia) donde dejo que ocurra la renderización estándar (OneBox de video) y luego uso decorateCookedElement() para aplicar algunas correcciones a los videos OneBox de la URL de transmisión de Bunny.net (theme-initializer.gjs#L8-L15) como la relación de aspecto, permitiendo pantalla completa, etc.

Para los videos de Bunny, esto funcionó bien, ya que en el editor, siempre se muestra el Marcador de Posición de Video OneBox (caja gris con el ícono de video blanco) atenuado, por lo que ese contenido no necesitaba ser modificado de todos modos.

Problema del Texto Enriquecido

El desafío de usar decorateCookedElement() para mi objetivo actual de poder reemplazar enlaces a una URL específica (dominio + ruta base) es cuando un usuario incluye ese enlace en su propia línea en el Editor de Texto Enriquecido y luego presiona Enter, el editor lo convierte en un OneBox y no he podido averiguar si hay alguna forma de conectarme a ese flujo de renderización o personalizarlo de otra manera.

Este enlace en particular es a una característica dentro de una Aplicación de Página Única (alojamiento estático), por lo que no proporciona un conjunto particularmente significativo de etiquetas Open Graph / meta, lo que hace que el OneBox sea poco intuitivo y he notado que los miembros de la comunidad envuelven sus enlaces de importación en llaves de código y otras soluciones alternativas.

Como tal, estaba pensando que si pudiera personalizar cómo se renderiza este enlace en particular en el Editor de Texto Enriquecido también, los usuarios verían un formato más intuitivo y lo adoptarían.

5 Me gusta