Incorporando uma lista de tópicos do Discourse em outro site

Olá,

Eu estava me perguntando se há uma maneira de exibir o avatar do autor da última postagem e a categoria das postagens, assim como na página inicial do fórum, em vez de mostrar apenas os títulos dos tópicos?

3 curtidas

Se você passar template=complete, haverá muito mais informações no embed:

3 curtidas

Uau, obrigado, isso é… muita informação :laughing: Existe algo intermediário, ou devo ocultar as informações desnecessárias com CSS personalizado?

Aliás, isso exibe o autor do tópico, não o autor da última mensagem.

3 curtidas

O modelo completo envolve todas as informações em containers, pois espera-se que cada site o personalize para corresponder ao seu próprio design com CSS.

3 curtidas

Isso é ótimo!

É possível alterar a largura dele?

2 curtidas

É um container fluido, ele se adaptará à largura do elemento pai.

2 curtidas

No meu site não. Infelizmente, ele é muito largo para a div em que está.

2 curtidas

Verifique novamente a marcação, oculte e posicione os elementos corretamente; deve funcionar em qualquer container:

2 curtidas

Infelizmente, isso não funciona no meu site. Acredito que talvez o CSS do framework responsivo esteja confundindo. Existe alguma maneira de alterar a largura (por exemplo, para 90% do valor atual ou até mesmo alguns pixels menos largos)?

2 curtidas

Você já tentou usar CSS assim:

d-topics-list iframe {
    padding: 0 5%;
}

?

2 curtidas

Isso não funciona. Se eu editar a tag iframe no console F12 do Chrome para incluir width="100%", funciona bem… há alguma maneira de fazer essa alteração?

2 curtidas

Adicionei um exemplo de como adicionar CSS personalizado à lista no OP.

4 curtidas

Obrigado. Eu tentei isso. Isso faz com que os tópicos incorporados sejam exibidos em formato de grade. Infelizmente, a largura da grade (ou seja, dois tópicos) continua a mesma de antes — nada perto de 100%.

O CSS acima (d-topics-list iframe) não altera o iframe de forma alguma. Se apenas pudesse alterá-lo para ter “width: 100%”…

Tentei em um documento HTML em branco e ainda assim ele permanece estreito. Mais alguma ideia? :slight_smile:

3 curtidas

Adoro esse embed… :sparkling_heart:

Algumas questões e um pedido de funcionalidade…:

  • Se eu adicionar os parâmetros allow-create="true" e category="4", ao clicar no botão ‘+ Criar novo tópico’, o modal/janela ‘Adicionar novo tópico’ não abre. Isso é esperado?
  • Se eu adicionar os parâmetros allow-create="true" e tags="random-tag", ao clicar no botão ‘+ Criar um novo tópico’, sou levado à lista de tópicos filtrada por random-tag — mas o menu suspenso de tags não exibe ‘random-tag’ e, ao clicar em ‘Adicionar novo tópico’, a tag não foi preenchida automaticamente.
  • É possível incluir as primeiras, digamos, 100 palavras da postagem no tema completo?
4 curtidas

Isso seria ótimo!

Também ainda estou interessado em resolver a questão da largura… :slight_smile:

2 curtidas

O CSS precisa ser adicionado ao seu site, e não ao CSS incorporado do Discourse. Então, você teria algo como isto:

<html>
  <head>
    <script src="https://jonathan5-discourse.com/javascripts/embed-topics.js"> 
    </script>
    <style>
      d-topics-list iframe{
        width: 100%!important;
        }
    </style>
  </head>
  <body>
    <d-topics-list discourse-url="https://jonathan5-discourse.com" category="5" per-page="5"></d-topics-list>
  </body>
</html>
6 curtidas

Muito obrigado. Agora parece óbvio. Eu passei de não conseguir estilizar o CSS interno do iframe (tentando dentro do meu site) para não conseguir estilizar o próprio iframe (tentando dentro do Discourse). Vou tentar isso e aviso como ficou!

Atualização: Seu CSS funcionou — muito obrigado.

4 curtidas

Acabei de testar isso. No meu caso, é category=5, pois esse é o número da categoria que estou incorporando. Ele não mostra o pop-up, mas abre uma nova aba com a URL https://forum.example.com/new-topic?category_id=5. Talvez você tenha uma configuração no navegador que bloqueie esse tipo de “pop-up”?

2 curtidas

Obrigado por confirmar que está funcionando para você, @Jonathan5. Desativei o componente de tema discourse-tag-sidebar, e agora o pop-up está funcionando :sunglasses:

3 curtidas

Vou dar uma olhada nisso :eyes:

4 curtidas