Estou curioso para saber até onde podemos personalizar o Discourse, não apenas a interface, mas movendo coisas, adicionando novos recursos, etc., sem quebrar nada quando o Discourse for atualizado (ou pelo menos, não tanto)?
Adoro tudo no Discourse, mas há algumas coisas que sei que eventualmente quero implementar/mudar. Gostaria de ter meu próprio aplicativo móvel, em vez de depender do do Discourse. Algo mais personalizado e dedicado à minha comunidade.
Também não gosto que telefones móveis antigos vejam o feio texto em Times New Roman e uma versão muito simplificada do Discourse. Entendo que as coisas avançam, mas me pergunto se realmente precisávamos voltar àquela aparência feia para mostrar que algo não é mais suportado? E quebrar o acesso a talvez recursos que provavelmente já não existem mais, cruciais para uma comunidade?
Também quero personalizar outras coisas que não são apenas a interface, implementar novos recursos, mover coisas, etc. Basicamente, usar o banco de dados e a maior parte da “estrutura” do Discourse, e torná-lo o mais próximo possível do meu próprio estilo, em vez de parecer que “é apenas mais um fórum Discourse, com cores diferentes”.
Acho que muito pode ser personalizado via componentes, plugins, etc., mas me pergunto quais são os limites? Especialmente quando se trata de coisas quebrando quando o Discourse é atualizado?
Isso é exatamente o que estou fazendo agora, e vindo de um background de 15 anos no WordPress, é como voltar no tempo. No entanto, estou começando a aprender algumas coisas com a ajuda do temido ChatGPT e descobrindo que não é tão difícil se você entender o GitHub, souber editar arquivos e usar CSS, etc.
Sim, trabalho com Git/GitHub e tenho um entendimento “básico” de como as coisas funcionam (tenho aprendido mais ultimamente, já que estou construindo outras coisas paralelamente). A minha aposta é que muito pode ser feito, mas sempre existe aquele desafio: o que construímos contra a versão XYZ do Discourse hoje, pode quebrar amanhã quando houver uma atualização, o que é frustrante, especialmente se você não souber o que quebrou…
Então, personalizar o mínimo possível parece mais seguro, mas menos “personalizado”. É uma questão de decidir qual é mais valioso, imagino.
Você está usando o ChatGPT ou o Codex? Tenho usado o Claude Code CLI no GitHub Codespaces e é uma maravilha! E como mantenho tudo o que quero que o Claude faça, como deve se comportar, etc., no arquivo CLAUDE.md, ele raramente alucina, ou pelo menos, não tanto. Esse arquivo vai crescendo à medida que encontro novas coisas que quero que o Claude faça/não faça.
Sendo honesto, eu desisti do Claude porque ele não gerava imagens e não funcionava bem com o Open Router, e como eu tinha muitas assinaturas, cancelei todas, exceto a do GPT.
Eu apenas mencionei isso como parte da mudança geral, de uma plataforma que simplesmente funcionava, para algo que de repente parou de funcionar, ou pelo menos não funciona mais como costumava. Comecei a evitar ir a fóruns que usam Discourse por causa disso. Sei que eventualmente preciso atualizar meu celular, mas este ainda funciona, então…
Este aqui parece bem bonito: https://forums.unrealengine.com/
Salvei nas minhas anotações para referência futura. Obrigado!
Tem outros que parecem interessantes, mas sempre sinto que sei que é Discourse. Sei que estou pensando demais em vez de construir, mas eu estava apenas me perguntando até que ponto podemos realmente personalizá-lo? Como disse, acho que muito pode ser feito, especialmente quando se trata da interface do usuário. Me pergunto se os recursos estarão ok quando o Discourse atualizar? Tenho que fazer alguns testes.
Eu quase nunca preciso de imagens, então isso nunca foi um problema para mim. E nas poucas vezes em que precisei, eu perguntei ao ChatGPT. Na metade das vezes, dependendo do que eu peço, eu nunca recebo algo que nem esteja remotamente perto do que tenho em mente, então acabo fazendo eu mesmo no Photoshop.
Mas o Claude Code tem sido uma grande ajuda para mim. Super rápido.
Se o ChatGPT funciona para o que você faz, então é a ferramenta certa, com certeza. Desde que funcione, é isso que importa.
Não que eu ache que o Discourse fique ruim, é que eu quero mais do meu próprio estilo nele, até mesmo na forma como ele é estruturado, como algumas funcionalidades são implementadas e exibidas.
Novamente, talvez eu esteja pensando demais, mas definitivamente preciso fazer alguns testes e ver como fica.
Acho que ele ficou preso no passado com muitos dos temas, etc. Na verdade, já fiz uma reclamação sobre isso há algum tempo.
O outro problema é que os fóruns terão a mesma aparência, pois é isso que eles são: uma lista de títulos. Olhe para o Facebook, Reddit e X. Todos os seus cartões de tópico parecem semelhantes até certo ponto.
Não sou especialista, mas, do meu ponto de vista, o Discourse é altamente personalizável. Não apenas isso, mas os desenvolvedores parecem criar novas e mais fáceis maneiras de personalizá-lo constantemente. O Discourse também parece ter cuidado em fornecer avisos quando coisas que eventualmente mudarão e podem afetar as personalizações que as pessoas fizeram.
As possibilidades existem para criar algo muito mais do que “apenas mais um fórum Discourse, com cores diferentes” e estou realmente impressionado com o quanto pode ser alterado usando apenas componentes de tema e plugins fornecidos pela equipe de desenvolvimento oficial. E, como a equipe de suporte dirá a você, tudo na interface está disponível através da API, o que significa que, se você quiser “usar o banco de dados e a maior parte do ‘esqueleto’ do Discourse”, nada o impede.
Dito tudo isso… gosto das suas ideias mencionadas no outro tópico sobre construir comunidade, compartilhar e dar às pessoas um lugar para compartilhar. Essa é a base do que estou tentando fazer. Você também mencionou que é músico, um músico que talvez goste de desenvolvimento de software. Uma vez que você construa um site totalmente personalizado, será responsável por mantê-lo e coisas (relacionadas ao Discourse e outras) quebrarão e você terá que usar seu próprio tempo ou pagar alguém para corrigi-las.
Crie alguns novos tópicos. Use apenas uma única ideia em cada tópico. Diga ao fórum o que você quer e peça sugestões sobre como alcançar sua ideia. Dividir em recursos individuais ajudará as pessoas a brainstormear soluções, mas também lhe dará uma abordagem mais estruturada e ajudará a definir seu objetivo com mais clareza.
é uma IA construída especificamente para o Discourse
e… não se ofenda, leve isso como conselho sobre o valor do seu próprio tempo, considere contratar um desenvolvedor profissional. Há vários que frequentam este fórum e o marketplace é uma categoria especificamente fornecida para tais consultas, onde você pode apresentar sua ideia e desenvolvedores podem fazer lances para realizar o trabalho
Sim, sempre digo que tudo pode ser feito, de uma forma ou de outra, quando se trata de qualquer coisa digital. Então, acho que preciso fazer algumas pesquisas sobre isso e ir passo a passo. Acho que o próximo passo é trazer meu Discourse de volta. Eu o tinha instalado em um determinado momento, mas depois decidi desativá-lo até que estivesse pronto para realmente me concentrar nele.
Sim, desde mais ou menos 2001. Mas mais recentemente, especialmente com a ajuda do Claude Code, consegui criar ferramentas úteis para mim mesmo e, eventualmente, disponibilizá-las para outras pessoas também.
Não estou tentando ser um desenvolvedor ou gastar muito tempo com isso, mas definitivamente é algo que gosto. Ser criativo o tempo todo pode ser muito desgastante. Ter algo mais binário, como software, é muito recompensador.
De forma alguma me ofendi. Qualquer feedback é valioso. E concordo que uma das coisas que tenho analisado com mais frequência é quanto do meu tempo é valioso para não gastá-lo fazendo certas coisas e contratar outra pessoa, e o que realmente gosto de fazer, independentemente do tempo e do esforço. É por isso que desenvolver novas ferramentas tem sido tão recompensador para mim. Na verdade, é um tempo que gosto de ver as coisas se tornando realidade, então nunca é tempo desperdiçado.
Sim, a internet se tornou muito “genérica”. Acho que a maior parte disso se deve ao fato de a funcionalidade estar sendo priorizada em detrimento do estilo. Não que eu veja um problema nisso, mas ter algo único também é importante.
E concordo com seu outro tópico. Há muito espaço para crescer com o Discourse. Uma coisa que adoro no Discourse é que ele realmente parece uma plataforma em crescimento, com a equipe interagindo aqui, compartilhando o roteiro conosco, etc. Não é como uma plataforma estéril onde ninguém sabe o que está acontecendo. E isso é algo que valorizo muito aqui.
Há muito poucos limites. A única limitação importante é que os modelos não podem ser substituídos e você precisa adicionar novas coisas às visualizações existentes usando Plugin Outlets. Dito isso, fazer isso em combinação com algum CSS geralmente resolve o problema.
Você pode criar novas rotas e ter controle total sobre como elas são organizadas.
O back-end é mais flexível.
Portanto, use as APIs oficiais para o máximo possível e a necessidade de refatoração será mais limitada, mas você nunca eliminará completamente o trabalho de manutenção.
Não é razoável esperar nenhuma manutenção… basta olhar minha conta no GitHub e algumas das minhas extensões populares e você verá muitos commits de “COMPATIBILIDADE:”
É uma boa prática manter um servidor de staging onde você possa testar atualizações e ver se alguma de suas personalizações quebra — quanto mais personalizado for o seu site, maior será a necessidade de algum tipo de instância de staging — embora o uso de uma instância de desenvolvimento possa ajudar.
É difícil dizer quão “segura” é uma personalização sem conhecer os detalhes… mas, em geral, quanto mais você personaliza, mais manutenção precisará fazer.
Se você adicionar algo como um componente personalizado a uma saída de plugin ou substituir um componente do Discourse por completo… geralmente esses devem continuar funcionando, pois você está inserindo código personalizado em um ponto de extensão (e tentamos preservar esses pontos porque muitas pessoas os usam).
No CSS, você deve usar as --variáveis existentes para alterar coisas sempre que possível, porque às vezes precisamos alterar a estrutura do conteúdo, mas mesmo que façamos isso, podemos reutilizar as mesmas variáveis.
Temos vindo afastando a plataforma dos antigos métodos de personalização que eram mais propensos a quebrar, como substituições de modelo e uso de modifyClass. Também estamos trabalhando em APIs mais estáveis… mas tudo ainda precisará de um pouco de manutenção de vez em quando.
Acho que preciso pensar seriamente sobre esse servidor de staging. Com certeza é uma boa abordagem.
Por enquanto, acho que o primeiro passo é instalar o Discourse novamente, criar conteúdo e, quando chegar a hora, começar pelas coisas mais simples que não exigem grandes alterações e podem ser feitas com Componentes. Ver até onde consigo chegar com isso. Depois, começar a pensar no servidor de staging.
Essa dica sobre as variáveis é realmente valiosa.
Acho que só preciso sentar um dia, fazer uma lista de todas as coisas que quero mudar/implementar, e ir resolvendo uma de cada vez, começando pelas que podem ser modificadas via Componentes, e ver até onde consigo chegar.