Placeholder do Compositor Rotativo

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

Instalar este componente de tema


Funcionalidades

  • Rotaciona o texto do espaço reservado do compositor toda vez que ele é aberto
  • Funciona para:
    • respostas
    • compositor de novo tópico
  • Totalmente configurável através das configurações do componente de tema
  • Nenhum plugin necessário
  • Apenas no lado do cliente (seguro e leve)
  • Usa api-initializers modernos

Instalação

  1. No Admin do Discourse, vá para:
    Admin → Aparência → Temas e componentes → Componentes → 3 pontos

  2. Clique em Instalar.

  3. Escolha De um repositório git.

  4. Cole este URL do repositório e clique em Instalar.


Ativar o componente de tema

Instalar um componente de tema não o ativa automaticamente.
Você deve anexá-lo a um tema.

  1. Vá para:
    Admin → Aparência → Temas e 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 seleçã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.

Valores de exemplo:

  • O que você tentou? Inclua etapas para reproduzir.
  • Uma ideia por resposta. Se for um problema novo, inicie um novo tópico.
  • Por favor, inclua: resultado esperado, resultado real e quaisquer erros.
  • Dica: cole logs dentro de ```três crases```.

Notas:

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

Limitações conhecidas

  • Melhoria apenas na interface do usuário
  • Não afeta o conteúdo da postagem
  • O espaço reservado gira quando o compositor é aberto
  • Refatorações futuras do compositor podem exigir pequenas atualizações de seletor

Compatibilidade

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

\u003cbr\u003e

\u003e:discourse2: Hospedado em discourse.org?
Componentes de tema estão disponíveis nos planos Discourse Standard, Business e Enterprise.


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.