¡Hola! Estoy ejecutando una instancia de Discourse alojada en Discourse (plan empresarial, no empresarial) y quería incrustar un widget de Runkit en una publicación. ¿Sabes si esto es posible? ¡Gracias!
Técnicamente, esto es posible con un componente de tema que decore las publicaciones. En ese caso, deberías definir una sección [wrap] para la inserción y, al cargar la decoración de la publicación, cargar la biblioteca y realizar la inserción.
Recomendaría tener bastante precaución aquí:
- No quieres invalidar tu CSP, por lo que deberías tenerlo en cuenta.
- No quieres ralentizar Discourse al cargar una carga útil de JS dinámica y pesada.
- Estás depositando mucha confianza en Runkit al permitirles ejecutar JavaScript en tu Discourse.
Estimo que desarrollar algo así tomaría de 1 a 2 días de trabajo. Si tienes presupuesto, quizás podrías abrir un tema en Marketplace. Los componentes de tema se pueden instalar sin problemas en nuestras configuraciones de planes empresariales.
Gracias al estándar oEmbed, puedes agregar https://runkit.com/ a la configuración allowed iframes y considerar el asunto resuelto.
Simplemente pega una URL de Runkit en una línea por sí sola y Discourse hará su magia:
https://runkit.com/falco/5e13a3b7f5d2e2001a5741d2
se convierte en
https://runkit.com/falco/5e13a3b7f5d2e2001a5741d2
Se vuelve extraño cuando el incrustado es demasiado largo, por lo que en efecto podría ser necesario un componente de tema para ayudar a decorar (y hacer scroll) en los incrustados.
¡Muchas gracias por vuestras respuestas! @sam Runkit ejecuta el código en el servidor, no en el cliente, por lo que es bastante seguro (puede ralentizar la carga debido a la carga del propio widget, pero eso es todo).
@Falco, me había perdido completamente la configuración de marcos permitidos. En cuanto la configuré, ¡comenzó a funcionar de maravilla! Veré qué puedo hacer respecto al componente del equipo ![]()