Snapblocks é um fork do scratchblocks que permite aos usuários converter texto em imagens de scripts do Snap!. Este plugin do Discourse permite que os usuários utilizem snapblocks em suas publicações.
Você pode criar snapblocks em uma publicação digitando o código snapblocks dentro das tags bbcode [snapblocks][/snapblocks]. Por exemplo:
Eu diria que as únicas incompatibilidades são principalmente apenas alguns pequenos ajustes de sintaxe, como menus suspensos e o bloco define. Na maior parte, o código do scratchblocks é em grande parte compatível com o snapblocks.
Ainda acho que deveria haver um plugin separado para scratchblocks, já que sei que fóruns para scratch/mods do scratch podem não querer usar snapblocks, pois o snapblocks é otimizado para funcionar melhor para o snap (e eu tenho sido omisso no polimento dos estilos do scratch), sem mencionar que não adicionei a capacidade de alternar o atalho da barra de ferramentas para usar scratchblocks em vez disso.
Se alguém quiser tentar criar um plugin scratchblocks usando este plugin como base (provavelmente não vou conseguir fazer um eu mesmo), acho que vale a pena notar que a função render que usei não está na API do scratchblocks, então exigiria um pouco mais de trabalho do que apenas inserir o scratchblocks.
À primeira vista, parece não haver objeção em utilizar este plugin para experimentos iniciais (meu ambiente sendo um ambiente escolar) e só então investir tempo em um plugin do Scratch, caso a necessidade surja.
Solicitação de recurso: O estilo de bloco poderia ser definido separadamente para o alias [scratchblocks].
Isso permitiria o uso sem esforço de diferentes estilos de elementos Scratch e Snap!.
Ele está se conectando ao analisador de mensagens para garantir que nada dentro das tags seja analisado e inclui muitas opções para configurar o comportamento. Também quero ter suporte ao novo compositor de mensagens WYSIWYG, mas tenho tido dificuldades para fazê-lo funcionar bem. Além disso, não quero que os administradores do fórum precisem ativá-lo para cada tema, pois isso pode causar problemas e confusão (já vi isso acontecer antes).
Então, há algo que eu não esteja entendendo sobre as capacidades de um componente de tema, e pode ser apenas algo de “ativar uma vez globalmente e esquecer”?
Instalar um plugin é muito mais trabalhoso do que isso e não funcionará nos planos hospedados do Discourse.org.
Além disso, acho que a maioria dos fóruns tem apenas um tema ativo.
Componentes de tema podem ter configurações e podem fazer tudo o que o lado JavaScript de um plugin consegue fazer. Com o estado atual do plugin, você não perderia nenhuma funcionalidade.
Você não apenas clona o repositório no diretório de plugins? Sinto que isso não é muito trabalhoso. No entanto, o fato de não funcionar para os planos hospedados no Discourse é válido.
Não o fórum para o qual este plugin foi criado. Mas acabei de verificar e parece que a interface de configurações do componente de tema passou por uma grande reformulação desde a última vez que precisei lidar com ela, então parece mais fácil de gerenciar do que eu lembrava.
Entendi, então vou tentar reescrevê-lo como um componente de tema, mas não acho que conseguirei fazer isso por um tempo devido a outras obrigações.
Isso seria útil, já que imagino que você possa saber mais sobre o Discourse do que eu (este plugin foi basicamente montado às pressas lendo outros plugins).