Cómo mostrar el nombre completo en los embeds

Hola chicos

Acabo de leer esta publicación How to display full name in comments embeds

Ejecuté estos comandos.

cd /var/discourse
./launcher enter app
Se detectó la arquitectura x86_64.
root@discourse-app:/var/www/discourse# cd app/views/embed/
root@discourse-app:/var/www/discourse/app/views/embed# nano comments.html.erb

Nano no estaba instalado, así que lo instalé y edité comments.html.erb reemplazando las líneas mencionadas en la publicación referida.

Luego salí del lanzador y ejecuté

./launcher rebuild app

Después de la reconstrucción, no hubo ninguna diferencia, todavía veo nombres de usuario en lugar de nombres completos en los incrustados.

¿En qué me he equivocado?

Gracias

2 Me gusta

¡Bienvenido, Mark! :wave:

Reconstruir la aplicación vuelve a descargar Discourse y sobrescribirá cualquier cambio que hayas realizado dentro del contenedor.

Si quieres incorporar modificaciones a Discourse, editar estos archivos de esta manera no es la forma correcta de hacerlo.

Personalizar las funciones de Discourse generalmente se hace con un componente temático:

O un plugin:

Si tienes conocimientos de programación, te sugiero que eches un vistazo a estos enlaces. :slight_smile:


Este enlace podría ser particularmente interesante:

A primera vista, parece hacer exactamente lo que buscas. Simplemente se dirige a otro archivo en la misma carpeta principal.

1 me gusta

@Canapin Gracias por tus sugerencias.

He creado este repositorio https://github.com/OptDev/optuma-discourse-custom-embed

pero no estoy progresando mucho.

Ejecuto este comando y se compila sin errores

./launcher enter app

Pero no parece que esté viendo los cambios que espero en los embeds. He añadido un par de nombres de clase css personalizados y he cambiado <%= post.user.username %> por <%= post.user.name %>. Agradecería que me dieras alguna indicación más para que esto funcione. No me imagino que sea muy complicado sobrescribir un archivo de plantilla de plugin desde otro plugin.

Lo que he podido hacer es entrar en la aplicación y copiar manualmente la versión de la plantilla de mis plugins a /var/www/discourse/app/views/embed/ luego reinicio la aplicación y veo los resultados que busco.

Solo necesito que suceda mágicamente cuando se carga el plugin, y ahí es donde estoy atascado.

¿Alguna idea de por qué esto no está anulando el archivo /app/views/embed/comments.html.erb con el que tengo en mi plugin?

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

De acuerdo, lo tenía bien, solo tenía un problema de ruta.

Ahora solo necesito averiguar cómo hacer que extraiga de un repositorio git privado.

1 me gusta

Solo agrega el token de acceso privado a la URL clonada.

@merefield ¿Cómo se vería eso en el archivo app.yml?

No importa, lo encontré aquí. Install plugins on a self-hosted site

Una cosa a tener en cuenta, en la documentación dice que se use un “token”…

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

Descubrí que necesitaba usar tu nombre de usuario de GitHub y token

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

1 me gusta

¿Al final tu plugin funcionó como se esperaba? :slight_smile:

@Canapin ¡Sí! Lo tengo todo funcionando. Así es como terminó el plugin.rb. Resultó que solo tenía un problema de ruta donde estaba colocando la versión personalizada del archivo.

Terminé poniéndolo en una carpeta /custom_views/embed/comments.html.erb

# frozen_string_literal: true

# name: optuma_discourse_custom_embed
# about: Un plugin simple para personalizar la plantilla en los embeds del foro
# 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 me gusta

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