Como mostrar Nome Completo em Embeds

Olá pessoal

Acabei de ler este post How to display full name in comments embeds

Executei estes comandos.

cd /var/discourse
./launcher enter app
x86_64 arch detected.
root@discourse-app:/var/www/discourse# cd app/views/embed/
root@discourse-app:/var/www/discourse/app/views/embed# nano comments.html.erb

O Nano não estava instalado, então instalei-o e editei comments.html.erb substituindo as linhas mencionadas no post referido.

Depois saí do launcher e executei

./launcher rebuild app

Após a reconstrução, não fez diferença, ainda vejo nomes de usuário em vez de Nomes Completos nos embeds.

Onde errei?

Obrigado

2 curtidas

Bem-vindo, Mark! :wave:

Reconstruir o aplicativo re-baixa o Discourse e sobrescreverá qualquer alteração que você fez dentro do contêiner.

Se você quiser trazer modificações para o Discourse, editar esses arquivos dessa maneira não é a maneira correta de fazê-lo.

Personalizar recursos do Discourse geralmente é feito com um componente de tema:

Ou um plugin:

Se você tem algum conhecimento de codificação, sugiro que dê uma olhada nesses links. :slight_smile:


Este link pode ser particularmente interessante:

À primeira vista, parece fazer exatamente o que você está procurando. Ele apenas visa outro arquivo na mesma pasta pai.

1 curtida

@Canapin Obrigado por suas sugestões.

Criei este repositório https://github.com/OptDev/optuma-discourse-custom-embed
mas não estou progredindo muito.

Eu executo este comando e ele compila sem erros

./launcher enter app

Mas eu não pareço estar vendo as mudanças que estou esperando nos embeds. Adicionei alguns nomes de classes CSS personalizados e alterei <%= post.user.username %> para <%= post.user.name %>. Agradeceria mais algumas dicas na direção certa para fazer isso funcionar. Não consigo imaginar que seja muito complicado substituir um arquivo de template de plugin de outro plugin.

O que eu consegui fazer foi entrar no app e copiar manualmente a versão do meu plugin do template para /var/www/discourse/app/views/embed/ então eu reinicio o app e vejo os resultados que estou procurando.

Eu só preciso que isso aconteça magicamente quando o plugin for carregado, e é aí que estou preso.

Alguma ideia do porquê isso não está substituindo o arquivo /app/views/embed/comments.html.erb pelo que tenho no meu plugin?

after_initialize do
  ::EmbedController.prepend_view_path File.expand_path("../embed", __FILE__)
end

Ok, eu estava certo, era apenas um problema de caminho.

Agora, só preciso descobrir como fazer para puxar de um repositório git privado.

1 curtida

Apenas adicione o token de acesso privado à URL clonada

@merefield Como isso ficaria no arquivo app.yml?

Não importa, eu encontrei aqui. Install plugins on a self-hosted site

Uma coisa a notar, na documentação diz para usar um “token”…

git clone https://<token>@github.com/owner/repo.git

Descobri que precisava usar seu nome de usuário do github e token

git clone https://<github-username>:<token>@github.com/owner/repo.git

1 curtida

Seu plugin funcionou como pretendido no final? :slight_smile:

@Canapin Sim! Consegui fazer tudo funcionar. Veja como ficou o plugin.rb. Acabou que eu só tive um problema de caminho onde estava colocando a versão personalizada do arquivo.

Acabei colocando em uma pasta /custom_views/embed/comments.html.erb

# frozen_string_literal: true

# name: optuma_discourse_custom_embed
# about: Um plugin simples para personalizar o template nos embeds do fórum
# version: 1.0.0
# authors: Optuma Pty Ltd
# url: https://github.com/OptDev/optuma-discourse-custom-embed
# required_version: 2.7.0

after_initialize do
  ::EmbedController.prepend_view_path File.expand_path("../custom_views", __FILE__)
end
1 curtida

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.