¿Mejor flujo de trabajo para mantener temas?

Hola a todos,

Quería preguntar cuál es el método recomendado o mejor para mantener tus ediciones o personalizaciones, por ejemplo, en un tema existente.

Como ejemplo, me gustaría hacer ediciones en el fantástico Tema Stock de Material Design de @rewphus. Me preguntaba si sería buena idea bifurcarlo, construir sobre él y luego intentar sincronizar desde el repositorio original.

Sé que en otros software de foros que no utilizan conceptos de repositorios o Git, se puede instalar una copia del tema y luego instalar una segunda copia como tema hijo, editando solo el hijo. De esta manera, cuando lleguen actualizaciones, solo se actualizaría el tema padre.

Básicamente, puedes hacer lo mismo: crea tu propio componente de tema y agrégalo como hijo a tu tema base (proveniente de Git). Luego, puedes actualizar el tema de Git según sea necesario sin afectar tu trabajo personalizado en el componente.

Esa es la forma más sencilla; es posible que estés duplicando algo de CSS, pero probablemente no una cantidad inmanejable.

Más información sobre temas y componentes: Beginner's guide to using Discourse Themes

Ya había leído eso y me he enamorado por completo del proceso. Debo admitir que, hasta este año, nunca había usado Git para organizar mi trabajo, pero me encanta el flujo de trabajo.

Había pensado en usar un componente de tema, pero creía que se trataba de cosas de menor escala a nivel conceptual. ¿Puede un componente de tema modificar el esquema de colores de alguna manera? Esa función parece ser exclusiva de los temas.

Voy a releer ese documento, ya que anoche lo leí muy tarde, y comenzaré a hacerlo como un componente de tema en su lugar :).

No hay ningún requisito que lo exija. No recomendaría copiar todo el tema base e incluirlo en un componente… eso implicaría llevar consigo mucho más CSS del necesario, pero puedes agregar tantas sobrescrituras como desees.

No directamente, pero puedes crear un nuevo Esquema de Colores y seleccionarlo como una opción en la configuración del tema base. Cualquier esquema de colores se puede aplicar a cualquier tema (la efectividad de esto puede variar según cómo se haya construido el tema).

Tiene sentido, muchas gracias por tomarte el tiempo de responderme. Ha sido muy ilustrativo.

Suena bien.


Flujo de trabajo sugerido


  • Bifurca y clona el componente del tema que deseas modificar
  • Abre el espacio de trabajo clonado con VisualStudioCode (VSC)
  • Disfruta modificando y programando tu componente del tema
  • Sube tus cambios desde VSC a tu repositorio de GitHub
  • Instala tu componente del tema modificado desde tu repositorio
  • Prueba

Repite el proceso.


Este flujo de trabajo está bien, pero quizás no siempre tenga sentido saltar directamente a un fork… especialmente si el tema original parece estar bien mantenido. Cuando haces un fork, estás más por tu cuenta si una actualización subyacente de Discourse rompe tu tema.