Qual a melhor ação ao apoiar BBCode personalizado?

Olá a todos,

Definitivamente estamos considerando o Discourse como uma alternativa ao nosso software de fórum por várias razões, mas uma das principais coisas que precisamos resolver é o que fazer com todo o BBCode que nosso site suporta, que pode ser visto aqui: Tutorial - RpNation - BBcode Guide | RpNation e aqui: Tutorial - RpNation - BBCode+ Guide | RpNation

Analisando o plugin de BBCode do vBulletin como referência, parece que não será muito difícil apenas adicionar suporte para o que já fazemos. Temos todo tipo de BBCode personalizado, conforme mostrado nos guias, desde coisas simples até um BBCode de div personalizado que permite que as pessoas usem HTML, até certo ponto, de forma segura, gerando um seletor de ID personalizado para a postagem e impedindo que os usuários alcancem qualquer coisa fora do contêiner da postagem.

Isso permitiu que as pessoas criassem postagens realmente fantásticas ao longo dos anos. Aqui está um exemplo rápido que encontrei apenas dando uma olhada:

Acho que minha pergunta é: devemos transformar isso em um plugin de BBCode ou tentar criar um método seguro onde possamos manter os seletores de HTML contidos nas postagens, como fazemos com nosso BBCode, e investigar esse método para oferecê-lo como alternativa?

Embora eu estremeça com a ideia de permitir que as pessoas usem HTML.

Queremos manter a capacidade dos usuários de continuar formatando suas postagens, ao mesmo tempo em que garantimos que tudo permaneça seguro.

Entendo por que você está procurando um novo software; carregar Tutorial - RpNation - BBcode Guide | RpNation está levando 2 minutos para mim :scream:

image

Acredito que todos os seus estilos personalizados, como jornal, desafio, laterais, podem ser feitos com Generic bbcode wrapper for theme components e CSS.

E muito disso já vem integrado no Discourse, como destaque de código, sobrescrito/subscrito, bloco centralizado, tabelas, citações em bloco, spoilers inline, divisores, cabeçalhos, incorporação de mídia, etc.

Oh não. Isso parece ruim. Estamos usando Cloudflare + um servidor AMD Ryzen bastante robusto. Para mim, leva cerca de 2 segundos para carregar todos os recursos sem estar logado.

Definitivamente estamos analisando isso. Então, essencialmente, podemos adicionar qualquer HTML/CSS em um componente de tema e depois chamá-lo usando uma tag bbcode personalizada?
[blah]conteúdo[/blah]?

Então, neste caso, poderíamos recriar parte do nosso conteúdo com:

[wrap=bg bg=blue] ou [wrap=random-name newspaper=1]

Pode ser que ainda seja melhor usar algo como o formato do Plugin, para que uma grande quantidade de conteúdo não perca a formatação. Também argumentos opcionais múltiplos.

Você pode dar uma olhada em Discourse BBCode. Acho que deve ser relativamente fácil adicionar suporte a outros códigos (embora, para ser sincero, eu tenha tido dificuldade para descobrir como fazer isso…)

Você não poderia ter colocado todo o guia em um único post e transformado em um Wiki quando sentisse vontade de adicionar mais? Ter isso em vários posts torna muito mais difícil de ler e compreender, na minha opinião, e cria muito espaço desperdiçado.

Que legal, eu adoro muito!

Também observe que o Discourse, sem necessidade de configurações adicionais, suporta HTML restrito em qualquer parte do conteúdo da postagem, não apenas dentro de um wrapper especial. Por exemplo, esta postagem está envolta em um <div align=justify>. Infelizmente, isso interfere em algumas das formatações em linha, exigindo o uso de HTML para tudo no parágrafo.

https://meta.discourse.org/raw/148941/8

Esse guia de bbcode está em um software de fórum diferente, um que não possui posts de Wiki.

Incrível. Embora eu pense que preferiríamos mantê-lo como bbcode que adicionamos estendendo aquele plugin, em vez de encontrar uma maneira de dar a todos mais HTML que precisamos tornar seguro.

Descobrimos que modificar o plugin oficial Discourse BBCode foi mais difícil (devido à nossa baixa experiência com desenvolvimento de plugins do Discourse) do que este aqui:

Plugin Awesome BBCodes

Awesome BBCodes Plugin: multi-paragraph, nestable, with auto-complete

O “Plugin Awesome BBCodes” foi bem mais fácil de fazer um fork, clonar e modificar/hackear; muito mais simples do que o plugin “Discourse BBCode”.

Minha sugestão para qualquer pessoa ( @TheDarkWizard ) que queira criar BBCODEs personalizados é começar pelo “Plugin Awesome BBCodes” e partir daí para as modificações.

Aha, desculpe, sim, ainda mais motivo para migrar! :slight_smile:

Sem problemas :slight_smile:

Vou dar uma olhada. Obrigado!