Come mostrare il nome completo negli embed

Ciao ragazzi

Ho appena letto questo post How to display full name in comments embeds

Ho eseguito questi comandi.

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

Nano non era installato, quindi l’ho installato e ho modificato comments.html.erb sostituendo le righe menzionate nel post di riferimento.

Poi sono uscito dal launcher e ho eseguito

./launcher rebuild app

Dopo la ricostruzione non ha fatto alcuna differenza, vedo ancora i nomi utente invece dei nomi completi negli embed.

Dove ho sbagliato?

Grazie

2 Mi Piace

Benvenuto, Mark! :wave:

Ricostruire l’app scaricherà nuovamente Discourse e sovrascriverà qualsiasi modifica apportata all’interno del container.

Se desideri apportare modifiche a Discourse, modificare questi file in questo modo non è il modo corretto per farlo.

Personalizzare le funzionalità di Discourse viene solitamente fatto con un componente tema:

O un plugin:

Se hai qualche conoscenza di programmazione, ti suggerisco di dare un’occhiata a questi link. :slight_smile:


Questo link potrebbe essere particolarmente interessante:

A prima vista, sembra fare esattamente quello che stai cercando. Si limita a puntare a un altro file nella stessa cartella padre.

1 Mi Piace

@Canapin Grazie per i tuoi suggerimenti.

Ho creato questo repository https://github.com/OptDev/optuma-discourse-custom-embed

ma non sto facendo molti progressi.

Eseguo questo comando e compila senza errori

./launcher enter app

Ma non sembra che io stia vedendo le modifiche che mi aspetto negli embed. Ho aggiunto un paio di nomi di classi CSS personalizzati e ho cambiato <%= post.user.username %> in <%= post.user.name %>. Apprezzerei qualche altro suggerimento nella giusta direzione per far funzionare questo. Non riesco a immaginare che sia troppo complicato sovrascrivere un file di template di un plugin da un altro plugin.

Quello che sono riuscito a fare è entrare nell’app e copiare manualmente la versione del template dei miei plugin in /var/www/discourse/app/views/embed/ quindi riavvio l’app e vedo i risultati che sto cercando.

Ho solo bisogno che succeda magicamente quando il plugin viene caricato, ed è lì che sono bloccato.

Qualche idea sul perché questo non stia sovrascrivendo il file /app/views/embed/comments.html.erb con quello che ho nel mio plugin?

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

Okay, l’avevo capito bene, c’era solo un problema di percorso.

Ora devo solo capire come farlo prelevare da un repository git privato.

1 Mi Piace

Aggiungi semplicemente il token di accesso privato all’URL clonato

@merefield Come si presenterebbe nel file app.yml?

Non importa, l’ho trovato qui. Install plugins on a self-hosted site

Una cosa da notare, nella documentazione dice di usare un “token”…

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

Ho scoperto che dovevo usare il tuo nome utente GitHub e il token

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

1 Mi Piace

Alla fine il tuo plugin ha funzionato come previsto? :slight_smile:

@Canapin Sì! Ho fatto funzionare tutto. Ecco come è finito il file plugin.rb. Si è scoperto che avevo solo un problema di percorso in cui stavo inserendo la versione personalizzata del file.

Alla fine l’ho inserito in una cartella /custom_views/embed/comments.html.erb

# frozen_string_literal: true

# name: optuma_discourse_custom_embed
# about: Un semplice plugin utilizzato per personalizzare il template negli embed del forum
# 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 Mi Piace

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