Substituto do Compositor Giratório

:discourse2: Resumo Rotating Composer Placeholder adiciona texto de placeholder dinâmico e rotativo ao editor do Discourse, exibindo um prompt diferente cada vez que o editor é aberto.
:hammer_and_wrench: Link do Repositório https://github.com/Ethsim12/discourse-rotating-composer-placeholder
:open_book: Novo em Temas do Discourse? Guia para iniciantes sobre o uso de Temas do Discourse

Instale este componente de tema

Funcionalidades

  • Rotaciona o texto de placeholder do editor cada vez que ele é aberto
  • Funciona para:
    • respostas
    • novo tópico no editor
  • Totalmente configurável via configurações do componente de tema
  • Nenhum plugin necessário
  • Apenas no lado do cliente (seguro e leve)
  • Utiliza api-initializers modernos

Instalação

  1. No Painel Administrativo do Discourse, acesse:
    Admin → Aparência → Temas & componentes → Componentes → 3 pontos

  2. Clique em Instalar.

  3. Escolha De um repositório git.

  4. Cole a URL deste repositório e clique em Instalar.

Ativar o componente de tema

A instalação de um componente de tema não o ativa automaticamente.
Você deve vinculá-lo a um tema.

  1. Acesse:
    Admin → Aparência → Temas & componentes → Componentes → Rotating Composer Placeholder

  2. Clique no seu tema ativo
    (por exemplo: „Padrão“, „Desktop“ ou seu tema personalizado).

  3. Pressione a caixa de marcação verde.

  4. Atualize seu navegador.

Uma vez ativado, o componente será aplicado imediatamente a esse tema.

Configurar o componente

  1. Ainda na página do componente de tema.

  2. Edite a lista rotating_placeholders.

Exemplos de valores:

  • „O que você tentou? Inclua os passos para reproduzir.“
  • „Uma ideia por resposta. Se for um novo problema, inicie um novo tópico.“
  • „Por favor, inclua: resultado esperado, resultado real e quaisquer erros.“
  • „Dica: cole logs dentro de triple backticks.“

Observações:

  • Cada entrada da lista se torna um placeholder possível.
  • Entradas vazias são ignoradas.
  • Se a lista estiver vazia, um placeholder padrão será usado.

Limitações conhecidas

  • Melhoria apenas na interface do usuário
  • Não afeta o conteúdo das postagens
  • O placeholder é rotacionado quando o editor é aberto
  • Refatorações futuras do editor podem exigir pequenas atualizações nos seletores

Compatibilidade

  • Projetado para versões modernas do Discourse
  • Mínimo recomendado: Discourse 3.2+
  • Utiliza apenas APIs de tema suportadas
4 curtidas

Você pode compartilhar exemplos de casos de uso?

1 curtida

Acho que os exemplos demonstram bem o caso de uso. Há muitas coisas a considerar ao compor uma mensagem. Se você colocar apenas uma, ela logo será ignorada. Se você colocar todas elas, ninguém lerá nenhuma delas. Ter uma diferente a cada vez aumenta a probabilidade de alguém ler e considerar uma delas.

Você também poderia colocar Easter eggs engraçados.

4 curtidas

Ah, certo, eu nem vi os exemplos.

Game of Thrones: The Walk of Shame

3 curtidas

Obrigado! Um bom bônus que descobri é que o componente também funciona perfeitamente com o compositor de texto rico — o espaço reservado ainda gira corretamente lá.

Como ele se conecta ao ciclo de vida do compositor em vez de aos internos específicos do editor, ele não depende de seletores exclusivos de Markdown, o que ajuda a mantê-lo compatível em diferentes modos de composição.

Se o Discourse refatorar o editor novamente no futuro, isso deve manter a área de superfície para quebras razoavelmente pequena.

1 curtida

Na verdade, eu quero usar isso para torná-los TODOS engraçados em um dos meus fóruns…

“O QUE HÁ DE ERRADO COM VOCÊ? VOCÊ NÃO SABE LER???”
“Qual é a diferença entre alguém que não pesquisa antes de postar e um preguiçoso?”
“Se você está relatando um bug, por favor, primeiro certifique-se de que não é um aracnídeo.”
“Qual é a velocidade de voo de uma andorinha não carregada?”

5 curtidas

De nada! :slightly_smiling_face:

Os placeholders específicos de categoria são uma ideia muito boa - consigo ver que seriam especialmente úteis para as categorias “Suporte / Bug” versus “Conversa geral”, onde os prompts que você quer que os usuários vejam são completamente diferentes.

Em termos de implementação, o contexto do compositor geralmente fornece sinal suficiente para fazer isso de forma limpa:

  • Novo tópico: basear-se no categoryId selecionado no modelo do compositor
  • Resposta: derivar a categoria do contexto do tópico

Portanto, uma possível v1 poderia ser:

  • Uma configuração de tema mapeando category_id → lista de placeholders
  • Recorrer aos rotating_placeholders globais se nenhuma correspondência de categoria for encontrada

Se você se lembrar do componente existente em que está pensando, adoraria um link - caso contrário, ficarei feliz em adicionar isso aqui como uma solicitação de recurso e medir o interesse (e evitar duplicar o trabalho se já existir).

Além disso - sua lista “TUDO engraçado” é exatamente o tipo de caótico bom que eu tinha em mente :joy:

(Eu provavelmente ainda misturaria alguns sérios, para que um lembrete útil ocasional passe!)

Existe Topic Template Placeholder Text theme component onde você pode usar o modelo de categoria como texto de espaço reservado

2 curtidas

Obrigado! Esse é um link realmente útil.

Esse componente (“Topic Template Placeholder Text”) é ligeiramente diferente do que este está fazendo: ele usa o modelo de tópico da categoria como espaço reservado (então o espaço reservado é específico da categoria, mas é essencialmente o conteúdo do modelo).

Este componente de tema alterna entre uma lista de prompts curtos toda vez que o compositor é aberto (e se aplica a respostas, bem como a novos tópicos). Portanto, “espaços reservados específicos da categoria” ainda poderiam ser uma adição útil aqui, se quisermos listas rotativas por categoria com um fallback para a lista global - especialmente para “Suporte/Bug” versus “Bate-papo geral”.

Mas se o objetivo de alguém é especificamente “mostrar o modelo da minha categoria como espaço reservado”, aquele outro TC já resolve isso muito bem.