Como criar uma aba de atividade personalizada no perfil do usuário?

Estava a experimentar o desenvolvimento de plugins e, embora tenha conseguido fazer com que as definições do plugin aparecessem na página de definições do administrador, não tenho a certeza de como fazer com que os elementos da UI apareçam na UI do Discourse.

Se alguém puder indicar-me a documentação relevante ou quais os ficheiros a consultar em qualquer plugin existente como referência, isso seria ótimo.

PS:
Estou a tentar modificar estas secções no geral.

  1. adicionar uma string personalizada na área (metadados do tópico) userbit sob o nome de utilizador na publicação.
  2. adicionar um botão na área de controlo das publicações para abrir um formulário
  3. adicionar um separador personalizado na página de atividade do perfil do utilizador
  4. adicionar algumas informações de resumo personalizadas no cartão do utilizador e nas estatísticas de resumo do utilizador

Eu recomendaria usar Introducing Discourse developer toolbar.

Em seguida, procure por um “plugin outlet” onde você pode inserir um componente:

image

Então você pode ver, por exemplo:

Aqui está um guia sobre isso:

É possível solicitar plug-ins de saída?

Espero inserir a classificação de reputação do usuário sob o nome de usuário deles. Ou, com base na experiência, qual seria um bom lugar para inseri-la? topic-map-expanded-after?

Claro! Você pode criar um tópico Dev.

Não aparece por algum motivo, mas você tem outlets perto do nome da postagem:

resposta antiga

discourse/app/assets/javascripts/discourse/app/components/post/meta-data/poster-name.gjs at main · discourse/discourse · GitHub

Requer que você ative o modo de fluxo de postagens glimmer:

Então, eles aparecem:

Então este outlet seria post-metadata__after, ou usar renderAfterWrapperOutlet("post-metadata")?

Essa seria uma boa opção para tentar, sim.

Está tudo bem em brincar com isso, mas certifique-se de ler o aviso na descrição da configuração. Este modo ainda não está pronto para uso em produção. Nós nem o usamos no Meta.

Para a implementação atual de post-stream, você precisaria usar a antiga API decorateWidget ou a API addPosterIcon:

Desculpe, David, fiquei tão animado com as novidades que desconsiderei completamente o aviso de que ainda está em desenvolvimento ativo. :sweat_smile: Terei cuidado da próxima vez.

Para isso, usei o seguinte para renderizar o botão.

api.registerValueTransformer("post-menu-buttons", ({ value: dag, context })

Agora, estou preso onde não consigo abrir o modal sem erros ao usar outros componentes.