El tema predeterminado permite CSS/HTML personalizado en su configuración.
Como experimento, quería ocultar la línea de tiempo, se hizo una gran sugerencia para hacerlo usando CSS (tema diferente). La sugerencia fue implementar las 4 líneas como un componente temático. No es difícil, pero pensé que la opción CSS personalizada en el tema predeterminado podría ser más fácil.
Cambié mi tema e inserté las 4 líneas como CSS personalizado. De hecho, esto funcionó perfectamente.
Esto me hace preguntarme por qué este CSS/HTML personalizado está disponible (solo) aquí. ¿No tendría más sentido tener esto como una configuración general?
Probablemente también haya un uso para CSS personalizado solo en un tema, pero uno general también sería útil, ¿verdad?
EDITAR: Solo agrego un enlace aquí al tema principal que discute CSS personalizado, que describió el enfoque del tema “Predeterminado” anterior: Making custom CSS changes on your site
Un componente conectado a todos los temas es ese tipo de configuración general. ¿Qué sería diferente si tuvieras otra pestaña, sección o componente “oficial” para eso?
Bueno, un componente significa que tienes que editar el componente y luego actualizar el componente en tu instancia de Discourse.
Para ser claros, el flujo de trabajo de temas y componentes es absolutamente increíble. Simplemente creo que podría ser útil editar pequeñas cosas de CSS de forma más directa / ad hoc.
Eh… no, no lo haces. Los cambios se aplican de inmediato después de guardar.
Primero hablabas de uno general, ahora estás editando directamente solo un tema. Bueno, si estás haciendo cambios solo para un tema, sería bueno si hubiera una opción por cada tema. Pero cuando los cambios de CSS están en un componente, puedes deshabilitarlo fácil y rápidamente cuando (¡no si…!) las cosas van mal debido a errores, conflictos, actualizaciones…
Para pruebas, quizás, y si no importa, tus usuarios también verán esas pruebas. Pero, ¿qué pasa si te gusta mantener ese cambio y tienes otro tema para elegir además del predeterminado? Entonces tendrás que hacer otra ronda
Soy nuevo, así que seguro me estoy perdiendo de algo.
Si escribo mi propio componente, lo pondría en GitHub. Luego, si tengo que hacer algún cambio, lo haría en GitHub y luego le pediría a Discourse que actualice el componente.
¿Por qué lo harías? A menos que planees compartirlo. Pero no hay problema, entonces haces clic en el botón de actualizar de tu componente.
Estoy un poco perdido ahora. ¿Cómo pondrías tus cambios de CSS más fácilmente en algún archivo CSS global (que también sería un componente)?. ¿Qué pasa si te gusta cambiar el tema Air, cómo crees que entregarías esos cambios?
Independientemente de si compartes un componente, alojarlo en GitHub suele ser una buena idea para poder gestionar su evolución y también proporciona una buena copia de seguridad.
Quiero ocultar la línea de tiempo (solo como experimento), tuve una gran ayuda de @merefield para hacerlo usando CSS:
.topic-navigation {
display: none
}
Para este experimento, quiero hacerlo globalmente. Es un experimento, así que no necesito hacerlo de la manera más estructural / replicable / técnicamente correcta.
Un componente no es un gran problema. Pero lo que es aún menos problemático es la configuración Editar CSS en el tema predeterminado. Lo intenté y funciona perfectamente.
Sin embargo, quiero ver qué piensan los miembros de mi comunidad, pero uso el tema zeronoise, que no tiene la configuración Editar CSS.
Mi pregunta ahora es, ¿no sería útil que Discourse tuviera una forma de jugar un poco con CSS, de la manera que es posible si configuras el tema Predeterminado?
Para ser claro, entiendo que hay un caso de uso para Editar CSS que es específico del tema, por lo que sería además deEditar CSS en Predeterminado, no en lugar de.
Espero que esto explique un poco lo que intento decir. Avísame si me equivoqué en algún elemento técnico y lo editaré en consecuencia.
Siguiendo el espíritu de rascarse el propio picor, estoy pensando en tomar el código Editar CSS/HTML del tema predeterminado y empaquetarlo en un componente o plugin de tema separado (manteniendo la GPL-2, por supuesto).
Tienes que usar un componente separado hecho por ti mismo para eso. Y ese componente son tus ajustes globales en el sentido de que lo habilitarás en todos los temas que lo utilicen.
No puedes editar el HTML y CSS de un tema/componente “externo” directamente porque los cambios se sobrescribirían cuando el tema/componente se actualice. Todavía era posible hace unos dos o tres años, pero esta función se eliminó.
Puedes crear un nuevo componente local directamente en la interfaz de Discourse para anular el CSS de tu tema existente (desde la pestaña CSS del componente), o crear un nuevo componente como un proyecto de GitHub que actualizarás a través de la página del componente (“actualizar” botón cada vez que se modifique el repositorio).
¿Entiendo bien lo que quieres hacer y esto responde a tus preguntas?
Hola @Canapin ¡genial! gracias. Esto es exactamente lo que estaba buscando.
Esto probablemente también explica la falta de comunicación con @Jagster, hay una forma directa de hacer lo que estaba tratando de hacer, pero no era consciente de que esto creaba un nuevo componente directamente desde la interfaz (lo que permite CSS personalizado).
Quizás sería útil añadir esto a las excelentes guías sobre temas y/o CSS de @Johani.