CSS/HTML personalizzato in tema non predefinito (senza componente)

Il tema predefinito consente CSS/HTML personalizzati nelle sue impostazioni.

Come esperimento, volevo nascondere la timeline, è stato fatto un ottimo suggerimento per farlo usando CSS (argomento diverso). Il suggerimento era di implementare le 4 righe come un componente del tema. Non difficile, ma ho pensato che l’opzione CSS personalizzato nel tema predefinito potesse essere più facile.

Ho cambiato il mio tema e inserito le 4 righe come CSS personalizzato. Effettivamente ha funzionato perfettamente.

Questo mi fa chiedere perché questo CSS/HTML personalizzato sia disponibile (solo) qui. Non avrebbe più senso averlo come impostazione generale?

Probabilmente c’è anche un uso per il CSS personalizzato solo in un tema, ma uno generale sarebbe anche utile, giusto?

EDIT: Aggiungo solo un link qui all’argomento principale che discute il CSS personalizzato, che descriveva l’approccio del tema “Predefinito” sopra: Making custom CSS changes on your site

Un componente collegato a ogni tema è un tipo di impostazione generale. Cosa sarebbe diverso se avessi un’altra scheda, sezione o componente “ufficiale” per questo?

1 Mi Piace

Bene, un componente significa che devi modificare il componente, quindi aggiornare il componente nella tua istanza Discourse.

Per essere chiari, il flusso di lavoro di temi e componenti è assolutamente fantastico. Penso solo che potrebbe essere utile modificare piccole cose CSS in modo più diretto / ad hoc.

1 Mi Piace

Eh… no, non lo fai. Le modifiche sono immediate dopo il salvataggio.

Prima parlavi di una cosa generale, ora stai modificando direttamente solo un tema. Bene, se stai apportando modifiche solo per un tema, sarebbe bello se ci fosse un’opzione per ogni tema. Ma quando le modifiche CSS sono in un componente, puoi disabilitarlo facilmente e velocemente quando (non se…) le cose vanno male a causa di bug, conflitti, aggiornamenti…

Per le prove forse e se non ti importa i tuoi utenti vedranno anche quelle prove. Ma cosa succede se ti piace mantenere quella modifica e hai un altro tema da scegliere oltre a quello predefinito? Allora dovrai fare un altro giro :wink:

1 Mi Piace

Infatti, è stato proprio per questo che mi stavo chiedendo di un’opzione CSS personalizzata generale che funzioni tra i temi.

E hai: il componente che contiene le modifiche CSS.

Sono nuovo, quindi sicuramente mi sfugge qualcosa.

Se scrivessi il mio componente, lo metterei su GitHub. Poi, se dovessi apportare delle modifiche, le farei su GitHub, quindi chiederei a Discourse di aggiornare il componente.

Non è il modo corretto (o più semplice)?

2 Mi Piace

Perché lo faresti? A meno che tu non abbia intenzione di condividerlo. Ma nessun problema: poi fai clic sul pulsante di aggiornamento del tuo componente.

Sono un po’ perso ora. Come inseriresti più facilmente le tue modifiche CSS in un file CSS globale (che sarebbe anche un componente)?. E se ti piace cambiare il tema Air, come pensi di fornire quelle modifiche?

1 Mi Piace

Indipendentemente dal fatto che tu condivida un componente, ospitarlo su GitHub è spesso una buona idea in modo da poterne gestire l’evoluzione e fornire anche un buon backup.

2 Mi Piace

Forse è più facile se fornisco un esempio concreto.

Voglio nascondere la timeline (solo come esperimento), ho ricevuto un valido aiuto da @merefield per farlo usando CSS:

.topic-navigation {
  display: none
}

Per questo esperimento, voglio farlo a livello globale. È un esperimento, quindi non ho bisogno di farlo nel modo più strutturale / replicabile / tecnicamente corretto.

Un componente non è un grosso problema. Ma ciò che è ancora meno problematico è l’impostazione Modifica CSS nel tema predefinito. L’ho provata e funziona perfettamente.

Tuttavia, voglio vedere cosa pensano i membri della mia community, ma uso il tema zeronoise, che non ha l’impostazione Modifica CSS.

La mia domanda ora è: non sarebbe utile se Discourse avesse un modo per modificare un po’ il CSS, nel modo in cui è possibile se si imposta il tema Predefinito.

Per essere chiari, capisco che ci sia un caso d’uso per Modifica CSS che è specifico per il tema, quindi sarebbe in aggiunta a Modifica CSS in Predefinito, non al posto di.

Spero che questo spieghi un po’ cosa sto cercando di dire. Fatemi sapere se ho sbagliato qualche elemento tecnico e modificherò di conseguenza.

E grazie a tutti per aver condiviso i vostri pensieri. :pray:

Nello spirito di scratch your own itch sto pensando di prendere il codice Edit CSS/HTML dal tema predefinito e di impacchettarlo in un componente tematico o plugin separato (mantenendo ovviamente la GPL-2).
Immagino che un componente sarebbe la cosa più semplice.

Ora sono completamente perso.

Devi usare un componente separato creato da te per questo. E quel componente sono le tue impostazioni globali nel senso che lo abiliterai in tutti i temi che lo utilizzano.

con modifiche CSS di base? Non è un po’ eccessivo?

Questo è infatti il motivo per cui ho iniziato questo thread.

Come suggeriresti di apportare modifiche CSS di base?

Preferenza personale.

Non c’è controllo di versione nel menu di amministrazione.

È anche un modo per migliorare la tua conoscenza.

2 Mi Piace

Ciao Bastiaan :slight_smile:

Non è possibile modificare direttamente l’HTML e il CSS di un tema/componente “esterno” perché le modifiche verrebbero sovrascritte quando il tema/componente viene aggiornato. Era ancora possibile circa due o tre anni fa, ma questa funzionalità è stata rimossa.

Puoi creare un nuovo componente locale direttamente nell’interfaccia di Discourse per sovrascrivere il CSS del tuo tema esistente (dalla scheda CSS del componente), oppure creare un nuovo componente come progetto GitHub che aggiornerai tramite la pagina del componente (“aggiorna” ogni volta che il repository viene modificato).

Ho capito bene cosa vuoi fare e questa risposta risponde alle tue domande?

2 Mi Piace

Ciao @Canapin fantastico! grazie.:pray: Questo è esattamente quello che stavo cercando.

Questo probabilmente spiega anche la cattiva comunicazione con @Jagster, c’è un modo diretto per fare quello che stavo cercando di fare, ma non ero a conoscenza della creazione di un nuovo componente direttamente dall’interfaccia (che consente CSS personalizzato).

Forse sarebbe utile aggiungerlo alle ottime guide su temi e/o CSS di @Johani

3 Mi Piace