Uma postagem foi dividida em um novo tópico: Incorporar Discourse usando external_id
Para um caso de uso de site de documentação (centenas/milhares de páginas), é possível não ter o Discourse gerando o tópico quando um usuário visita as páginas, mas sim quando ele deseja deixar um comentário, da maneira que o Giscus funciona?
Isso agora é “Allowlist”
Isso agora é “Username for topic creation”.
Além disso, existe alguma maneira de testar a integração de http://localhost? Recebo este erro no console devido à falta de https:
Refused to frame ‘https://forum.weaviate.io/’ because an ancestor violates the following Content Security Policy directive: “frame-ancestors ‘self’ https://localhost:3000”.
Olá! Obrigado por reportar. Atualizei algumas partes do guia, mas pode ser necessário revisá-lo em profundidade para garantir que esteja devidamente atualizado e funcionando.
Além disso, existe uma maneira de testar a integração de http://localhost?
Você pode precisar usar um serviço como ngrok.
Editar: Acontece que usar url_escape na URL incorporada (já que uso Liquid para inserir automaticamente a URL correta) quebra a incorporação. Ops ![]()
Olá! Eu estava planejando usar um software de fórum para funcionar também como a seção de comentários do meu blog, então quando descobri que vocês não só têm uma maneira de fazer isso, mas que também está ativa no site de alguém, minha mente explodiu ![]()
No entanto, ao tentar implementar este sistema no meu site, uma mensagem de erro é exibida no meu site, e isto apareceu nos logs de erro do meu fórum:
Mensagem de erro
Message (2 copies reported)
Addressable::URI::InvalidURIError (Cannot assemble URI string with ambiguous path: 'https://eleboog.com/posts/jekyll-to-gemini/')
lib/url_helper.rb:157:in `normalize_with_addressable'
lib/url_helper.rb:94:in `normalized_encode'
app/models/embeddable_host.rb:50:in `url_allowed?'
app/controllers/embed_controller.rb:84:in `comments'
app/controllers/application_controller.rb:418:in `block in with_resolved_locale'
app/controllers/application_controller.rb:418:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:369:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:228:in `call'
Backtrace
addressable (2.8.4) lib/addressable/uri.rb:2337:in `to_s'
addressable (2.8.4) lib/addressable/uri.rb:856:in `initialize'
addressable (2.8.4) lib/addressable/uri.rb:697:in `new'
addressable (2.8.4) lib/addressable/uri.rb:697:in `normalized_encode'
lib/url_helper.rb:157:in `normalize_with_addressable'
lib/url_helper.rb:94:in `normalized_encode'
app/models/embeddable_host.rb:50:in `url_allowed?'
app/controllers/embed_controller.rb:84:in `comments'
actionpack (7.0.4.3) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (7.0.4.3) lib/abstract_controller/base.rb:215:in `process_action'
Env
HTTP HOSTS: forums.eleboog.com
Estou usando Jekyll para hospedar meu blog e hospedando meu fórum junto com ele usando hosts virtuais nginx. Tenho eleboog.com como um host permitido e /posts/.* como minha lista de permissão de caminhos. Alguma ideia do que pode estar causando este problema? Muito obrigado!
Fiquei em dúvida, mas depois de algumas alterações consegui. Estou trabalhando com meu blog Ghost e o Discourse.
Aqui está o que adicionei no arquivo post.hbs para todos os meus posts.
{{#post}}
<div>
<div>
{{> "comments"}}
{{!-- {{#has tag="25"}} --}}
<div id='discourse-comments'></div>
<meta name='discourse-username' content='eviltrout'>
<script type="text/javascript">
DiscourseEmbed = {
discourseUrl: 'https://discourse-1-0.cloudclusters.net/',
discourseEmbedUrl : 'https://www.mydomain.com{{ post.url }}',
discourseReferrerPolicy: 'strict-origin-when-cross-origin'
//topicId: '25'
};
(function () {
console.log("DiscourseEmbed", DiscourseEmbed);
var d = document.createElement('script');
d.type = 'text/javascript';
d.async = true;
d.src = DiscourseEmbed.discourseUrl + 'javascripts/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(d);
})();
</script>
{{!-- {{/has}} --}}
</div>
</div>
{{/post}}
</div>
</section>
Código do arquivo Ghost post.hbs colado sob o comentário: Screenshot by Lightshot
E estas são as minhas configurações de incorporação: Screenshot by Lightshot
=====
Estou vendo o primeiro comentário listado (Screenshot by Lightshot).
Como posso remover isso?
Nenhum post é publicado no tópico do Discourse, apenas o link do post original: Screenshot by Lightshot
Alguém sabe como posso postar o conteúdo do meu blog neste tópico… Igual ao OP.
O que fazer quando continua mostrando “Carregando Discussão”?
Tente abrir o inspetor web do seu navegador na aba Console e veja se há algum erro. Se você postar os erros aqui, alguém poderá ajudar.
Tente também abrir o inspetor web do seu navegador na aba Elementos e procure por ‘discourse-comments’. Isso deve destacar um elemento na marcação. Diretamente abaixo do elemento <div id="discourse-comments">, deve haver uma tag script. Dê uma olhada no conteúdo dessa tag em busca de erros óbvios.
Talvez a primeira coisa a verificar seja garantir que o registro de Host que você configurou para o domínio no Discourse esteja publicando posts em uma categoria pública.
Se você estiver tentando publicar posts em uma categoria protegida ou em um site Discourse que exige login para visualizar conteúdo, você provavelmente terá erros.
Obrigado Simon por ajudar.
O console começou vazio, mas depois de um tempo mostra este erro:
Editar:
Descobri, após muita solução de problemas, que precisava incluir “www.” em discourseEmbedUrl.
Olá a todos! Algumas perguntas:
- Alguma ideia de por que a opção “Tópicos importados ficarão sem listagem até que haja uma resposta” pode continuar sendo ativada toda vez que clico em “Salvar configurações de incorporação”, mesmo depois de desmarcá-la?
- Ao visualizar uma postagem de blog no Chrome, estou vendo o seguinte onde os comentários incorporados do Discourse deveriam ser exibidos:
E no Safari, há apenas um bloco em branco/branco neste espaço, sem nenhuma mensagem.
Estou logado na instalação do Discourse em ambos os navegadores enquanto testo isso. O blog está em um domínio diferente da instalação do Discourse.
Obrigado antecipadamente!
Alguma ideia de por que a opção “Tópicos importados ficarão não listados até que haja uma resposta” pode continuar sendo ativada toda vez que clico em “Salvar configurações de incorporação”?
Não sei por que isso estaria acontecendo. O que acontece se você for à página de configurações do seu site e alterar o valor da configuração do site embed unlisted?
Essa configuração e a configuração “Tópicos importados ficarão não listados…” devem espelhar uma à outra.
Ao visualizar uma postagem de blog no Chrome, estou vendo o seguinte onde os comentários incorporados do Discourse deveriam ser exibidos:
Estou logado na instalação do Discourse em ambos os navegadores enquanto testo isso. O blog está em um domínio diferente da instalação do Discourse.
Desde que você não esteja incorporando os tópicos em uma categoria privada do Discourse, ter o blog em um domínio diferente do Discourse não deve causar problemas.
O erro que estou vendo nesta postagem do blog (Break Out Of Your Workout Rut With 8 AMRAP Fitness Challenges) é:
Refused to frame 'https://community.irla.co/' because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self' https://antsylabs.com https://antsylabs.com".
Você tem o domínio completo (incluindo o www) definido no registro Host do seu site Discourse? Parece que você pode ter adicionado apenas antsylabs.com a essa configuração.
Não sei por que isso estaria acontecendo. O que acontece se você for para a página de configurações do seu site e alterar o valor da configuração do site
embed unlisted?
Este era o problema, obrigado!
Você tem o domínio completo (incluindo
www) definido no registro Host no seu site Discourse? Parece que você acabou de adicionarantsylabs.coma essa configuração.
Você está absolutamente certo. Eu omiti o ‘www’ deste registro, e adicioná-lo ao registro host faz com que os comentários incorporados sejam exibidos perfeitamente.
Muito obrigado pela sua ajuda! Eu realmente aprecio isso.
É possível exibir os comentários incorporados em ordem cronológica inversa (o mais recente primeiro, o mais antigo por último)?
É possível exibir os comentários incorporados em ordem cronológica reversa?
Atualmente não é possível. Seria ótimo se os comentários incorporados exibissem algumas opções selecionáveis pelo usuário para filtrar comentários. Por exemplo, “todos”, “recentes”, “melhores”.
É possível que o rastreador não consiga lidar com umlauts alemães, como Ä, Ö, Ü?
Títulos como “Ich würde” acabam em “Ich würde”.
Tenho algumas perguntas e agradeceria se alguém pudesse me ajudar.
Estou tentando incorporar comentários em um site NextJS com exportações estáticas, ou seja, quando o site estiver no ar, todas as páginas serão pré-geradas, então, embora eu tenha visto comentários em outros lugares de que o discourse não consegue rastrear SPA, meu entendimento é que ele deve ser capaz de lidar com meu site.
Vamos imaginar que meu fórum esteja em forum.domain.com e meu site onde quero incorporar comentários esteja em site.domain.com. Adicionamos todos os scripts relacionados a comentários e vemos um “Carregando discussão” eterno dentro de um iframe.
Se eu abrir pelo Safari, vejo o seguinte erro no console:
Unable to post message to https://forum.domain.com. Recipient has origin https://site.domain.com.
O que parece ser um problema de CORS, mas adicionei site.domain.com e www.site.domain.com às configurações de incorporação na minha instância do Discourse.
Por algum motivo, não vejo esse erro no console do Firefox, apenas vejo
E, finalmente, se eu for para https://forum.domain.coom/embed/comments?embed_url=https%3A%2F%2Fsite.domain.com%2Fpath%2Fto%2Fpage, também vejo a Discussão Carregando eternamente. O que me faz pensar que o problema está de alguma forma no lado do Discourse, e não no meu site. A menos que eu entenda mal como a incorporação funciona, então, se alguém tiver algum conselho, agradeceria muito.
O que é interessante, e talvez relacionado, é que adicionei a incorporação em dois tipos de páginas: site.domain.com/path/to/page e site.domain.com/longer/path/to/page, e não adicionei a tag de comentários à página inicial. Mas no meu discourse, vejo um tópico dedicado à página inicial de site.domain.com, que, por algum motivo, parece ser atualizado toda vez que um usuário visita um site

então agora tem uma quantidade insana de edições. Parte do texto incorporado contém um endereço de e-mail, que é renderizado no discourse como [email protected] e todas as edições são mostradas como se estivessem modificando essa parte
Olá!\n\nGostaria de saber sua opinião sobre este "bug": Embed: dates are not localized - #9 by weber-s sentido ter uma configuração para a localização da data? Porque no momento está em inglês, sem possibilidade de personalização.
Temos um cenário em que não fica bom quando as pessoas compartilham imagens/capturas de tela em suas postagens para postagens que são incorporadas em outra página.
Qual seria uma boa solução para ocultar imagens em postagens que são incorporadas em outro site?
Há uma aba CSS dedicada em temas para este recurso, então ocultar imagens dentro do corpo da postagem com CSS é a maneira mais rápida de conseguir isso.







