Olá Meta, estamos de volta. Vamos falar sobre Markdown-it e BBcode

Aviso: Sei que tentar inserir BBCode de volta no Discourse é incomum, mas é uma das poucas coisas que nos impedem de migrar completamente para o Discourse e já vi alguns sites muito grandes (não muitos) usarem bbcode personalizado em certo grau. Qualquer ajuda seria apreciada.

Olá a todos,

Após um ano de pausa em nossos testes, os testes de importação em massa foram retomados. Podemos processar 30 milhões de mensagens (isso inclui MPs), usuários, avatares e afins em poucas horas. Anexos ainda fazem com que leve uma semana, mas nada é perfeito.

Uma das últimas coisas em que trabalhamos da última vez foi nossa suíte de bbcode, que está localizada aqui: Tutorial - RpNation - BBcode Guide | RpNation (esse link é nosso site ativo no xenforo e todos esses códigos foram feitos por nós para nossa comunidade).

Nós os fizemos funcionar na maior parte no Discourse aqui: GitHub - RpNation/discourse-rpn-bbcode

Mas tivemos problemas com bbcodes inline dentro de códigos de bloco:

[block][inline]text[/inline]
text
[/block]

Para contornar isso, temos um branch pouco elegante Refactor/TextPostProcss que executa uma substituição de regex após o parse do bbcode.

Gostaria de saber se alguém tem alguma ideia de como melhorar o que estamos fazendo dentro dos limites do Markdown-it e do Discourse. Estávamos pensando em possivelmente usar um parser de bbcode totalmente novo em algum momento como uma opção também.

Para aqueles que estão curiosos, aqui está o tipo de coisa que alguns de nossos usuários criaram com bbcodes no xenforo: Resource - 𝚌𝚊𝚗𝚍𝚢 𝚜𝚔𝚒𝚎𝚜: 𝚝𝚑𝚎 𝚜𝚠𝚎𝚎𝚝 𝚏𝚊𝚌𝚝𝚘𝚛𝚢! | RpNation

Funciona na maior parte no Discourse agora após nosso novo branch, mas ainda não configuramos uma demonstração do Discourse para bbcode. (Vamos nos concentrar primeiro no importador em massa e na estilização antes de voltarmos nossa atenção para o bbcode como um todo novamente).

Crédito a @Alteras por liderar nosso projeto de bbcode no ano passado. @Ghan também, embora ele esteja liderando os esforços principalmente no importador em massa, eu sou apenas um “macaco de estilização” e o cara que é dono do site.

1 curtida

Não posso dizer que entendi tudo o que você disse, mas talvez esta informação possa lhe interessar?

Infelizmente não, mas já temos algumas pistas!

Eu me pergunto se mudar de bbcode para elementos personalizados de HTML tornaria as coisas mais fáceis. Isso seria viável?

Essa é uma coisa que definitivamente pensamos e desejamos no passado, eu não estava ciente de que poderíamos estender e adicionar à lista de permissões o conjunto existente de HTML permitido. Já temos uma solução alternativa para o problema, mas é uma regex que é executada no lado do cliente para corrigir quaisquer problemas de tag restantes.

Você poderia nos indicar alguma documentação ou exemplos?

1 curtida
2 curtidas