4  Rilascio

Data di Pubblicazione

7 ottobre 2026

Ci sono due possibilità per sincronizzare il repositorio con gli artifatti (html statico e pdf) visibili pubblicamente da web: automaticamente, attraverso una action Forgejo, oppure manualmente.

Nello spirito di massima semplicità, consigliamo la prima opzione.

4.1 Rilascio manuale

Il modo più semplice per rendere visibili gli artefatti su Codeberg Pages è pubblicare il contenuto della cartella _book in un branch di git chiamato pages, ed aggiungere un apposito webhook al repositorio che punti a questo branch.

4.1.1 Configurazione iniziale

Sulla pagina web del repositorio:

  • vai su “Settings” (la piccola icona di una chiave inglese in alto a destra);
  • selezione “Webhooks” nella barra verticale di navigazione a sinistra;
  • premi il bottone “Add webhook” e selezione “Forgejo”;
  • imposta lo url di destinazione come https://${USER_NAME}.codeberg.page/${REPO_NAME}/ (sostituisci il nome utente ed il nome del repositorio opportuni);
  • imposta il campo “Branch filter” a pages
  • salva premendo il bottone “Add webhook”.

Tutto questo va fatto solo la prima volta.

4.1.2 Workflow di rilascio

Il modo più comodo per effettuare il rilascio è utilizzare il tool ghp-import. Questa piccola utility è pensata essenzialmente per copiare il contenuto di una cartella—in questo caso l’html statico ed il pdf in output da quarto—in un branch di git. Esattamente quello che ci serve.

Nota

Se non hai già ghp-import sulla tua macchina dovrai installarlo la prima volta. Come tutti i pacchetti Python, ghp-import si fa banalmente con pip:

python -m pip install ghp-import

Il flusso di lavoro tipico per un rilascio manuale è

quarto render
ghp-import -o -f -p -b pages _book

ovverosia:

  1. rigeneriamo completamente l’html statico ed il pdf in uscita;
  2. copiamo il contenuto sul branch pages e facciamo il push dei cambiamenti sul repositorio remoto.

Per la precisione, il significato delle opzioni di ghp-import è più o meno

  • -o: forza un nuovo commit senza la history precedente;
  • -f: forza il push al repositorio;
  • -p: fai il push sul repositorio remoto dopo il commit;
  • -b pages: specifica il nome del branch di destinazione.
Avviso

ghp-import rigenera completamente ogni volta il branch di destinazione, sostituendo l’intero contenuto e riscrivendo la history. Per questo particolare caso d’uso è esattamente quello che vogliamo, ma ricordate che di non editare manualmente il branch pages, perché qualsiasi cambiamento andrà perduto al prossimo rilascio.

Tutti i dettagli nella documentazione di ghp-import.

Se questo sembra complicato, la buona notizia è che il Makefile nel repositorio template ha un target publish che fa esattamente questo, per cui il flusso tipico di rilascio potrebbe essere semplicemente

make publish

Il nuovo contenuto dovrebbe apparire negli url opportuni, che sono quelli pre-compilato nel file README.md del repositorio.