Plataforma Personalizada

Olá Comunidade Discourse!

Estou planejando construir uma plataforma sobre uma instância Discourse auto-hospedada que incluirá vários recursos personalizados como um motor de busca, recursos de documentário, wikis e mais. Esses recursos são desenvolvidos usando HTML, CSS e JavaScript, principalmente como páginas estáticas.

Meu objetivo é integrar essas páginas personalizadas diretamente no fórum Discourse para que elas apareçam como páginas nativas, em vez de posts, criando uma experiência de usuário contínua onde elas pareçam ser parte integrante do fórum. Gostaria que essas páginas estáticas fossem acessíveis aos usuários do fórum, com todas as funcionalidades JavaScript rodando como pretendido.

Alguém poderia me aconselhar se essa abordagem é possível dentro do Discourse, ou se existem plugins específicos, melhores práticas ou configurações que eu deveria investigar? Qualquer orientação sobre como incorporar e exibir páginas HTML/JS personalizadas sem que elas pareçam posts seria muito apreciada!

Agradeço antecipadamente por qualquer insight!

Eu não sei (você pode incorporar, no entanto), mas por pura curiosidade: o que você quer dizer com página estática de um aplicativo dinâmico?

Bem, todas as funcionalidades que planejo implementar, como as mencionadas acima, são códigos estáticos, o que significa que tudo é construído através de HTML, CSS e JS puro. Eu me pergunto se é possível criar uma página estática e adicionar os códigos personalizados para as funcionalidades mencionadas em minha própria instância do Discourse.

Desculpe continuar com isso, mas o Discourse não é estático. Ele é dinâmico. O mesmo vale para a maioria das soluções em JS ou baseadas em PHP.

Então, isso agora é uma questão de termos? E você só quer incorporar o fórum Discourse em si em uma página da web entre todo o resto? Você pode mostrar tópicos, mas perderá quase todas as outras funcionalidades do Discourse, tanto quanto sei.

2 curtidas

@JstTan Você pode querer dar uma olhada em:

2 curtidas

Não, o código que pretendo implementar, como a página que quero adicionar ao meu fórum Discourse, é uma página estática, portanto, não haveria renderização do lado do servidor nem nada do tipo.

Não, quero adicionar a página da web à minha instância do fórum Discourse. O oposto do que você está dizendo, na verdade.

Isso é muito legal, mas na verdade estou pensando em outra coisa, como adicionar e criar uma página estática dentro do Discourse. A página também precisaria adicionar HTML, CSS e JavaScript personalizados.

Uma pergunta semelhante foi feita recentemente.
Aqui está uma resposta dada:

Bem, notei que minha pergunta pode ser muito confusa, então editei a pergunta com a mensagem regenerada com o ChatGPT. Esta é a pergunta editada:

Olá Comunidade Discourse!

Estou planejando construir uma plataforma sobre uma instância Discourse auto-hospedada que incluirá vários recursos personalizados como um motor de busca, recursos de documentação, wikis e muito mais. Esses recursos são desenvolvidos usando HTML, CSS e JavaScript, principalmente como páginas estáticas.

Meu objetivo é integrar essas páginas personalizadas diretamente no fórum Discourse para que elas apareçam como páginas nativas, em vez de posts, criando uma experiência de usuário perfeita onde elas pareçam uma parte integrante do fórum. Gostaria que essas páginas estáticas fossem acessíveis aos usuários do fórum, com todas as funcionalidades JavaScript rodando conforme o esperado.

Alguém poderia aconselhar se essa abordagem é possível dentro do Discourse, ou se existem plugins específicos, melhores práticas ou configurações que eu deveria investigar? Qualquer orientação sobre como incorporar e exibir páginas HTML/JS personalizadas sem fazê-las parecer posts seria muito apreciada!

Agradeço antecipadamente por qualquer insight!

A página publicada seria adequada para o meu objetivo?

Todos esses parecem ser recursos que o Discourse já possui.

A maneira mais fácil de fazer isso é hospedá-las em outro lugar e adicionar links para elas com um componente de tema e ter esse site com o mesmo tema do seu site Discourse. As pessoas não percebem URLs, então se você mantiver a navegação em outros sites de forma que as pessoas possam retornar ao Discourse, então funciona e nada sofisticado é necessário.

Não tenho certeza do que isso significa, mas se você realmente quiser adicionar quaisquer recursos personalizados ao Discourse, precisará criá-los como plugins ou componentes de tema.

Não está claro qual é o seu objetivo.

2 curtidas

JavaScript de onde?

1 curtida

é exatamente isso que ele faz se você usar a extensão Home Pages do plugin Landing Pages.

Veja:

3 curtidas

Olá,

Desculpe pela demora na resposta. Os recursos que listei são alguns exemplos de funcionalidades que desejo implementar, são cerca de 20. Todos eles são escritos com JS puro, HTML e CSS, sem a necessidade de renderização do lado do servidor.

Prefiro integrá-los diretamente ao Discourse, como criar uma página dentro do Discourse e editar a página para adicionar todos os códigos personalizados a ela, e implantá-la junto com o Discourse. Seria mais fácil de manter para mim, pois tudo estaria em um só lugar, enquanto meus usuários poderiam acessar o conteúdo diretamente pelo fórum do Discourse, sem a necessidade de sair dele. É possível fazer isso através do Discourse? Se possível, como?

Quero adicionar funcionalidades personalizadas ao fórum do Discourse que irei hospedar. As funcionalidades personalizadas são criadas diretamente através de HTML, CSS e JS puro. Gostaria de saber se é possível fazer isso diretamente, sem a necessidade de criar plugins.

Quero implementar os recursos de código (JavaScript, HTML, CSS) diretamente no código-fonte de uma única página, com cada recurso tendo sua própria página.

Eu acho que o Plugin de Landing Pages vinculado acima é o método mais próximo do que eu acho que você está descrevendo que já está integrado ao Discourse.

1 curtida

Outra abordagem que uso para o que (acho?) você está descrevendo aqui é usar um Ghost Blog/CMS para criar e hospedar páginas ou posts individuais onde quero exibir páginas personalizadas. O Ghost é excepcionalmente adequado para esse propósito devido à sua flexibilidade para incluir e inserir todos os três tipos de código (JS, CSS e HTML) por página, e/ou por seção/tag e/ou em todo o site através de “injeções de código no cabeçalho”, “injeções de código no rodapé” e inclusões de código/scripts inline diretamente no editor de página/post.

Em seguida, você tem várias opções no Discourse sobre como deseja incorporar ou incluir de forma integrada essas páginas externas em seus sites Discourse. Você pode então usar RSS, comentários incorporados, Iframes, páginas vinculadas ou outros métodos.

Eu acho que essa combinação/pareamento de Discourse e Ghost pode fornecer uma plataforma ideal para este caso de uso específico onde você precisa da flexibilidade de codificação “on-the-fly” e injeções arbitrárias de JavaScript.

Assim que entendi (ambos) os pontos fortes e limitações naturais muito opostos e muito complementares de cada uma dessas plataformas (Ghost e Discourse) e como elas podem ser combinadas e integradas, não encontrei uma solução melhor.

Dessa forma, você pode obter os recursos de organização de conteúdo e plataforma de comunidade incrivelmente robustos do Discourse, juntamente com a simplicidade da abordagem on-the-fly do Ghost para edição de código inline e flexibilidade de inclusão de JS, CSS e HTML (e até Markdown) em páginas individuais.

Um verdadeiro bônus é que ambas as plataformas, ambas de código aberto e baseadas em GitHub, têm comunidades igualmente robustas, ativas, amigáveis e de apoio onde você pode participar, obter suporte e aprender de forma rápida e contínua.

1 curtida