Incorpore o widget Runkit no Discourse

Olá! Estou executando uma instância do Discourse hospedada pelo próprio Discourse (plano empresarial, não corporativo) e gostaria de incorporar um widget do Runkit em uma postagem. Você sabe se isso é possível? Obrigado!

Tecnicamente, isso é possível com um componente de tema que decora os posts. Nesse caso, você definiria uma seção [wrap] para o embed e, ao carregar a decoração do post, faria o carregamento da biblioteca e executaria as operações de embed.

Recomendo bastante cautela aqui:

  1. Você não quer invalidar sua CSP, então precisa considerar isso.
  2. Você não quer deixar o Discourse lento devido ao carregamento de um grande payload dinâmico de JavaScript.
  3. Você está depositando muita confiança no runkit ao permitir que ele execute JavaScript no seu Discourse.

Estimo que construir algo assim levaria de 1 a 2 dias de trabalho. Se você tiver orçamento, talvez seja interessante abrir um tópico em Marketplace? Componentes de tema podem ser instalados sem problemas nas nossas configurações do plano empresarial.

Graças ao padrão oEmbed, você pode adicionar https://runkit.com/ à configuração allowed iframes e pronto.

Basta colar uma URL do Runkit em uma linha própria e o Discourse fará a mágica:

https://runkit.com/falco/5e13a3b7f5d2e2001a5741d2

vira

https://runkit.com/falco/5e13a3b7f5d2e2001a5741d2

Fica estranho quando o embed é muito longo, então talvez seja necessário mesmo um componente de tema para ajudar a decorar (e permitir a rolagem) dos embeds.

Muito obrigado pelas respostas! @sam O Runkit executa o código no servidor, não no lado do cliente, então é bastante seguro (pode atrasar o carregamento devido ao carregamento do próprio widget, mas é isso).

@Falco Eu tinha perdido totalmente a configuração allowed iframes. Assim que configurei, começou a funcionar perfeitamente! Vou ver o que posso fazer em relação ao componente de equipe :slight_smile: