Modello Tema Canvas

| | | |
|:information_source: | Riepilogo | Avvia rapidamente la progettazione del tuo tema con un modello di tema preparato.|
|:busts_in_silhouette: | Pubblico | Sviluppatori nuovi che desiderano iniziare a creare temi per Discourse. Sviluppatori esperti che desiderano utilizzare un modello pronto all’uso.|
|:hammer_and_wrench: | Repository | https://gitlab.com/manuelkostka/discourse/canvas/theme|
|:open_book: | Nuovo ai Temi di Discourse? | Guida per principianti all’uso dei temi di Discourse|

Canvas fornisce un modello flessibile che ti consente di creare temi personalizzati con meno codice. Modifica facilmente proprietà e valori di configurazione per adattare un tema alle tue esigenze.

Viste di esempio


Il modello di base mantiene i valori predefiniti e rimane neutro nel design.

Regolazioni minime che modificano alcune proprietà personalizzate e definiscono un colore di evidenziazione:

Un design che integra il componente Topic Cards e stili personalizzati per i banner:

Un tema elaborato che include un carattere personalizzato e schemi di colori unici:

Utilizzo


  1. Clona il Modello di Tema.

  2. Sincronizza il tema con la tua istanza di Discourse utilizzando la gem discourse_theme.

  3. Vai al backend di amministrazione e regola manualmente queste impostazioni del componente tema:
    Category Banners
    Plugin outlet → above-main-container
    Tag Banners
    Show below site header → deseleziona
    Show above main container → seleziona

  4. Modifica scss/properties.scss per definire i valori per le proprietà personalizzate

  5. Modifica about.json per aggiungere risorse, schemi di colori e altri componenti tema

Un’occhiata più da vicino alla configurazione


Il modello Canvas Theme estende solo lo scheletro del tema predefinito raggruppando alcuni componenti tema e aggiungendo alcuni file di stile pronti all’uso. Le funzionalità effettive sono gestite da un componente tema separato Canvas Settings. Questo componente svolge due funzioni:

Questa configurazione separata ti consente di creare un tema utilizzando il modello Canvas, pur beneficiando delle correzioni e degli aggiornamenti continui forniti tramite il componente.

Temi di esempio


Puoi visualizzare i temi di esempio condivisi su https://canvas.kostka.studio. C’è un interruttore del tema in fondo alla barra laterale per cambiare tema.

Rivedi il codice delle viste di esempio condivise o installale come tema iniziale da questi repository:


:tada: Un enorme ringraziamento a Discourse per aver sponsorizzato lo sviluppo di questo progetto!

25 Mi Piace

Quelle impostazioni del tema non vengono visualizzate quando ho provato a installare i temi di esempio. È un comportamento previsto?

1 Mi Piace

Le impostazioni sono sul componente tema installato come Impostazioni Canvas. Potrebbe essere un po’ fuorviante che le impostazioni siano sempre chiamate Impostazioni Tema nell’interfaccia utente, anche sui componenti tema.

2 Mi Piace

Trovati nel componente Impostazioni tela, grazie!

3 Mi Piace

Grazie mille per averci lavorato @manuel.

Ho provato la versione Editor localmente, funziona per lo più molto bene, ma ho notato alcuni piccoli problemi.


Su un’installazione predefinita, senza modificare alcuna impostazione, l’etichetta del tag nel componente Extra Banners appare nel posto sbagliato:

Anche il banner della categoria viene mostrato nello stesso posto, sopra la barra laterale. Gli argomenti più recenti e gli argomenti più popolari sono mostrati correttamente nella colonna principale.


Suppongo che non sia un obiettivo del tema coprire completamente l’interfaccia di amministrazione, tuttavia, le palette di colori chiare e scure dell’Editor fanno apparire la barra laterale di amministrazione in modo piuttosto diverso. Sono curioso di sapere se è possibile armonizzarla con la barra laterale non di amministrazione.

5 Mi Piace

Il tema è pensato per mostrare banner accanto alla barra laterale, utilizzando l’outlet above-main-container. Il componente Extra-Banners utilizza quell’outlet per impostazione predefinita, ma i due componenti per i banner di Categoria e Tag vengono visualizzati per impostazione predefinita sotto l’intestazione. Non vorrei creare una fork di questi componenti solo per impostare un outlet predefinito diverso. Ecco perché ho inserito queste istruzioni:

Ma se fosse facile da trascurare, forse c’è un modo migliore per dirlo? :thinking:

Sì, è abbastanza facile e sembra un buon approccio per questo tema. Ho appena aggiunto un commit!

5 Mi Piace

Ah sì, capisco come siamo arrivati fin qui. Non vogliamo necessariamente modificare le impostazioni predefinite nei componenti delle banner di categoria/tag, né volerli forkare. È difficile da sistemare, lasciamo tutto com’è per ora e vediamo se anche altri riscontrano lo stesso problema.

Il cambiamento nella barra laterale dell’amministratore sembra già buono, grazie!

4 Mi Piace

Queste istruzioni potrebbero essere elaborate un po’? Non è possibile installare semplicemente dall’interfaccia utente di amministrazione? Grazie :folded_hands:t4:

MODIFICA: Ho installato tramite l’interfaccia utente di amministrazione e sembra funzionare, tranne per il fatto che non sembra esserci più alcun posto dove modificare scss.

MODIFICA: lascia perdere, vedo che probabilmente è previsto e stai mostrando di modificare direttamente i file del tema. Mi chiedo se questo possa essere nella roadmap per accadere tramite l’interfaccia utente di amministrazione? Ad esempio, avere un editor di variabili come hai un editor di impostazioni.

3 Mi Piace

Non so cosa ci sia nella roadmap principale, ma una cosa che potresti fare subito è creare un nuovo componente tematico direttamente nell’interfaccia di amministrazione:

E poi dichiarare proprietà personalizzate nel suo file CSS. Potresti cercare le proprietà nel file Readme. Oppure copiare il contenuto di properties.scss dal repository del tema.

2 Mi Piace

Come posso clonare questo su Gihub? Sono ancora un po’ inesperto :wink:

Potresti importarlo tramite l’interfaccia utente:

Tuttavia, se desideri essere in grado di sincronizzare le modifiche, credo che dovresti eseguire il pull su un clone locale e quindi eseguire il push da esso. Qualcosa del genere:

  1. Clona da GitLab
git clone "https://gitlab.com/manuelkostka/discourse/canvas/theme.git"
  1. Imposta l’URL di push sul tuo repository GitHub
git remote set-url --push origin "git@github.com:Username/Reponame.git"
  1. Quindi puoi periodicamente eseguire il fetch da GitLab ed eseguire il push su GitHub
git fetch -p origin
git push origin
2 Mi Piace

Non vedo un’opzione “+” su mobile su GitHub. Potrebbe essere necessario provare le righe di comando quando si è a casa.

Tutto ciò che vedo su GitHub nella dashboard è l’opzione per creare un nuovo repository, ma nessuna opzione di “claim”. Sono su un account gratuito, quindi non sono sicuro che ciò possa avere a che fare con questo.

Ho aggiunto un componente che ti permette di definire alcune variabili di stile e opzioni di layout direttamente sull’interfaccia del componente:

È limitato rispetto alla dichiarazione di variabili personalizzate nel foglio di stile. Ma ti permette di sperimentare con alcuni look diversi. Sono curioso di sapere se funziona! :eyes:

2 Mi Piace

Ci sto giocando proprio ora e penso che sia carino! C’è un modo per ridurre lo spazio tra le righe del menu, per renderlo più compatto?

Inoltre, non riesco a scorrere la barra laterale fissa, è un errore?

2 Mi Piace

Ho appena modificato gli stili CSS per la barra laterale fissa, lo scorrimento dovrebbe funzionare di nuovo!

Tuttavia, la barra laterale fissa è solo una delle opzioni nel componente Stili che ho menzionato nel post precedente. Se desideri regolare altri stili (come la spaziatura del menu della barra laterale), dovrai seguire l’approccio spiegato sopra in Utilizzo e Uno sguardo più da vicino alla configurazione: usa il tuo foglio di stile con proprietà CSS personalizzate, in questo caso sarebbe -d-sidebar-row-height.

3 Mi Piace

Ho preparato un nuovo tema di esempio basato su questo modello. Come suggerisce il nome, questo è un omaggio al tema originale Central! :hugs: :partying_face:

Ho amato il layout e lo stile visivo di Central e ho impacchettato alcune delle sue funzionalità in componenti autonomi, come il Menu Utente Personalizzato e diversi blocchi della barra laterale.

Mi sono reso conto che con la barra laterale e alcuni stili, questo modello ti avvicina molto all’aspetto e alla sensazione del tema originale.


In ogni caso, non ho intenzione di ricostruire completamente il tema Central… ma potrei ancora sperimentare con uno stile dedicato all’elenco degli argomenti in futuro. Se sei curioso e vuoi dare un’occhiata, il tema è attivo anche qui, selezionalo utilizzando l’interruttore del tema nella barra laterale: https://canvas.kostka.studio

8 Mi Piace

Molto bello. Grazie per la condivisione.

1 Mi Piace

Grazie per aver condiviso questo template! La flessibilità con i componenti e il design pulito lo rendono davvero facile da personalizzare. Non vedo l’ora di provarlo sulla mia istanza.

2 Mi Piace

Benvenuto in Discourse :discourse: !

2 Mi Piace