Template del tema Canvas

|||
|-|-|-|
| :information_source: | Riepilogo | Avvia rapidamente la progettazione del tuo tema con un modello di tema preparato.
| :eyes: |Pubblico| Nuovi sviluppatori che desiderano iniziare a creare temi per Discourse. Sviluppatori esperti che desiderano utilizzare un modello pronto all’uso. |
| :hammer_and_wrench:|Repository| Manuel Kostka / Discourse / Canvas / Canvas Theme Template · GitLab |
| :question:|Guida all’installazione|Come installare un tema o un componente tema|
| :open_book:|Nuovo ai temi di Discourse?| Guida per principianti all’utilizzo dei temi di Discourse

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

Esempi di viste


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 font personalizzato e schemi di colori unici:

Utilizzo


  1. Clona il modello di tema.

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

  3. Vai al backend di amministrazione e regola manualmente queste impostazioni del componente tema:
    Banner di categoria
    Plugin outlet → above-main-container
    Banner di tag
    Mostra sotto l’intestazione del sito → deseleziona
    Mostra sopra il contenitore principale → seleziona

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

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

Uno sguardo più da vicino alla configurazione


Il modello Canvas Theme estende solo lo scheletro del tema predefinito raggruppando alcuni componenti del 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 divisa ti consente di creare un tema utilizzando il modello Canvas, beneficiando comunque delle correzioni e degli aggiornamenti continui forniti tramite il componente.

Esempi di temi


Puoi rivedere il codice delle viste di esempio condivise o installarle come tema di avvio da questi repository:


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

24 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 messo insieme un nuovo tema di esempio basato su questo template. Come suggerisce il nome, questo è un omaggio al tema Central originale! :hugs: :partying_face:

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

Mi sono reso conto che con la barra laterale e alcuni stili, questo template ti porta effettivamente a un buon punto verso l’aspetto e la sensazione del tema originale.


In ogni caso, non ho intenzione di ricostruire completamente il tema Central… ma potrei ancora sperimentare con uno stile dedicato alla lista degli argomenti in futuro. Se sei curioso e vuoi dare un’occhiata, il tema è anche live qui: https://central.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