Passa al contenuto principale

Creare e sviluppare un tema

Un tema è una cartella di file di testo (template, sezioni, snippet, CSS) che Riseact pubblica in versioni immutabili. Le organizzazioni installano una versione e decidono quando aggiornare.

Serve un account Partner: vedi la guida iniziale.

Installare la CLI​

Scarica la versione per il tuo sistema dalla pagina delle release e metti l'eseguibile nel PATH. Poi autenticati:

riseact auth login

Partire da un tema esistente​

riseact theme init

Clona un tema di partenza, chiede i dati del manifest.json (nome, identificativo, versione, autore) e crea una cartella con il nome dell'identificativo. Il contenuto delle sottocartelle è descritto in struttura di un tema.

L'identificativo è definitivo

Lega tra loro le versioni dello stesso tema e non si può cambiare. Il comando ti avverte se è già occupato.

Per ripartire da una versione già pubblicata:

riseact theme pull -p ./cartella-vuota

Chiede tema e versione e ne scarica i file.

Sviluppare con l'anteprima dal vivo​

cd il-tuo-tema
riseact theme dev

Alla prima esecuzione chiede su quale organizzazione lavorare e ci installa il tema, poi stampa due indirizzi: l'anteprima e l'editor visuale nel pannello.

Il tema resta nella libreria dell'organizzazione senza essere pubblicato: il sito visto dai donatori non cambia. Ctrl+C non cancella niente, e il prossimo theme dev nella stessa cartella riprende da lì.

Se non hai un'organizzazione su cui lavorare, creane una di sviluppo: è gratuita e senza dati reali.

La sincronizzazione va nei due sensi​

Finché theme dev è in esecuzione, cartella e tema restano allineati:

  • un file salvato in locale viene caricato subito: basta ricaricare l'anteprima;
  • una modifica salvata dall'editor visuale aggiorna il file nella cartella.

Così colori, testi e composizione delle pagine si scelgono dall'editor: componi la homepage trascinando le sezioni e templates/homepage.json si aggiorna da sé. È quel file a finire nella release e a definire l'aspetto del tema appena installato.

All'avvio il comando riallinea le due parti, quindi ritrovi anche le modifiche fatte dall'editor a comando spento.

note

In caso di conflitto vince la modifica più recente. Se lo stesso file è cambiato da entrambe le parti a comando spento, vince la copia sul server e il nome del file viene stampato.

Tema e organizzazione della sessione sono salvati in .riseact/dev.json. Aggiungi .riseact/ al .gitignore; se lo cancelli, il prossimo theme dev riparte da un tema nuovo.

Cancellare file​

Le cancellazioni si propagano solo mentre theme dev è in esecuzione. Un file cancellato a comando spento viene riscaricato dal server al riavvio.

Escludere file dal caricamento​

Gli strumenti di build vanno elencati in .riseactignore, nella radice del tema, con la sintassi di .gitignore:

node_modules
package.json
package-lock.json
yarn.lock
tailwind.config.js
riseact.yml

Le regole valgono sia per il pacchetto sia per theme dev. .git, node_modules e .riseact sono sempre esclusi.

danger

Includi sempre riseact.yml: contiene le credenziali della CLI e altrimenti verrebbe caricato con il tema.

L'output compilato invece va caricato: con Tailwind, per esempio, assets/main.css.

Pubblicare una versione​

Quando il tema è pronto, alza la versione nel manifest.json e pubblica:

riseact theme release

Il comando apre l'editor per il changelog. Le organizzazioni lo leggono prima di aggiornare: scrivi cosa cambia, non come. Un messaggio vuoto annulla la pubblicazione.

L'editor è il primo disponibile tra $VISUAL, $EDITOR, la chiave editor nel file di configurazione, git config core.editor e nano.

In alternativa, riseact theme package prepara uno zip da caricare dall'area Partner, con le stesse regole di validazione.

Regole di versionamento​

La versione è nel formato MAJOR.MINOR.PATCH (per esempio 1.4.0), senza suffissi come 1.4.0-beta. La pubblicazione viene rifiutata se:

  • la versione è già stata pubblicata per quel tema
  • la versione è inferiore all'ultima pubblicata
  • il changelog è vuoto
  • un file non compila, o il blocco {% schema %} di una sezione non è JSON valido

Se ci sono errori nei file, la risposta li elenca tutti con il percorso e nessuna versione viene creata.

Le versioni sono immutabili​

Una versione pubblicata non si modifica: per correggere qualcosa se ne pubblica una nuova.

Cosa vede l'organizzazione​

In Temi, ogni tema installato ha il pulsante Versione tema, da cui l'organizzazione può:

  • scegliere una versione dall'elenco e leggerne il changelog
  • vedere quali file modificati da lei verrebbero sovrascritti
  • aggiornare il tema, oppure installare quella versione come tema separato

Si aggiorna solo in avanti. Una versione precedente si installa come tema separato.

Cosa l'aggiornamento conserva​

fileall'aggiornamento
sections/, snippets/, layout/, assets/, config/settings_schema.json, templates/**/*.htmlsostituiti dalla nuova versione
config/settings_data.jsonconservato; le impostazioni nuove vengono aggiunte con il loro valore predefinito
templates/**/*.jsonconservati; i template nuovi della versione vengono aggiunti

Il codice del tema è tuo, le scelte dell'organizzazione sono sue. Una modifica all'HTML di una sezione arriva a tutti; una sezione aggiunta a templates/homepage.json arriva solo a chi installa il tema da zero.

caution

Se rinomini o rimuovi una sezione, i template delle organizzazioni che la usano mostrano un errore al suo posto. Non rinominare le sezioni e non eliminare quelle sostituite.

Distribuire il tema​

Le nuove versioni sono subito disponibili per le organizzazioni che hanno già il tema. Per renderlo installabile da altre, dalla pagina del tema nell'area Partner scegli:

  • Le mie organizzazioni: lo trovano nello store dei temi tutte quelle che amministri, senza approvazione;
  • Invia per l'approvazione: compare nello store dei temi di tutte le organizzazioni Riseact, dopo una nostra revisione con risposta via email.

Dettagli in Area partner: Temi.