Skip to content

feat(slides): presentazioni Slidev delle lezioni, con pulsante «Presenta» - #33

Open
thomas-addamo wants to merge 2 commits into
marcofarina:devfrom
thomas-addamo:feat/presentazioni-slidev
Open

thomas-addamo wants to merge 2 commits into
marcofarina:devfrom
thomas-addamo:feat/presentazioni-slidev

Conversation

@thomas-addamo

@thomas-addamo thomas-addamo commented Oct 26, 2026 •

Copy link
Copy Markdown

Che cosa cambia

Ogni lezione può avere una presentazione Slidev, che l'insegnante apre dal pulsante Presenta in alto a destra nella lezione (accanto a «Spiegamelo facile»). Il pulsante compare solo nelle lezioni che hanno un mazzo.

  • Tema unico (slides/theme/): stessa carta, stessi font (Crimson Pro, Monaspace) e stessi colori del libro, con l'accento del volume. Una cornice comune (sezione corrente, titolo della lezione, numero di pagina) e 13 layout: copertina, epigrafe, obiettivi, sezione, contenuto, due colonne, definizione, enunciato, figura, domanda, quiz, sintesi, fine con il QR della lezione.
  • Elementi del libro nelle slide: le figure animate (<Figura>) e i diagrammi E/R sono gli stessi componenti React del libro, non copie. I blocchi Python e SQL si eseguono dal vivo con lo stesso Brython e lo stesso sql.js, con il pannello «Database» che evidenzia le righe nuove, modificate e tolte. Un risultato che non entra sotto il codice va in una slide sua, generata da sola (seguito).
  • Mazzi per le 15 lezioni già scritte: le 5 del Manuale dell'Artefice e le 10 del Manuale dell'Archivista.
  • Strumenti (npm run slides:…):
    • check controlla la struttura dei mazzi, e segnala una lezione modificata dopo il suo mazzo;
    • build costruisce le presentazioni in static/slides/;
    • verifica misura ogni slide in un browser senza finestra (contenuto che straborda, codice troppo largo, figure tagliate o troppo piccole) ed esegue ogni blocco di codice, controllando che il risultato aperto si legga per intero;
    • provino produce l'immagine con tutte le slide, per la revisione visiva.
  • Istruzioni per l'IA in slides/README.md: come si scrive un mazzo a partire dalla lezione, la regola che lezione e slide cambiano insieme, e le verifiche obbligatorie prima di consegnare (provino compreso). Aggiornati anche CONTRIBUTING.md e il modello delle pull request.
  • CI: deploy.yml e test-deploy.yml costruiscono le presentazioni prima del sito; nelle pull request slides:verifica blocca i mazzi che non passano.

Perché

Le lezioni sono già il materiale di partenza per spiegare in classe: con le slide l'insegnante ha una versione da proiettare, coerente con il libro e con le stesse animazioni ed esecuzioni dal vivo. Le slide delle lezioni future le produce l'IA con le stesse regole, e i controlli automatici garantiscono che restino coerenti.

Note per la revisione

  • Le dipendenze di Slidev stanno in un pacchetto a parte (slides/package.json), così npm ci del sito non cambia. In CI si aggiungono npm ci --prefix slides e, solo nella verifica, Chromium per Playwright.
  • static/slides/ è generata e non è nel repository.
  • Le lezioni dell'Artefice sono ancora draft: true: i mazzi ci sono, e il pulsante comparirà quando le lezioni saranno pubblicate.
  • L'overlay rosso di npm start su @mermaid-js/layout-elk c'era già prima di questa PR.

Controlli

  • La base è dev
  • npm run lint passa
  • npm run build passa
  • npm run slides:check e npm run slides:verifica passano su tutti i 15 mazzi; ogni provino è stato rivisto slide per slide

🤖 Generated with Claude Code

…nta»

Ogni lezione può avere un mazzo in slides/decks/<volume>/<slug>.md,
costruito con un tema unico (slides/theme/) che riprende carta, font e
colori del libro. Nella lezione compare il pulsante «Presenta», accanto a
«Spiegamelo facile».

- Tema: cornice comune, 13 layout (copertina, sezione, domanda, quiz,
  figura, due-colonne, ...), accento per volume.
- Le figure animate e i diagrammi E/R sono i componenti del libro,
  montati nelle slide; Python e SQL si eseguono dal vivo con Brython e
  sql.js del libro, con il pannello «Database» e le slide «risultato»
  generate da sole (`seguito`).
- scripts/slides.mjs: check (struttura, lezione cambiata dopo il mazzo),
  build, verifica (misura ogni slide ed esegue ogni blocco), provino.
- Mazzi per le 15 lezioni esistenti di Artefice e Archivista.
- slides/README.md: istruzioni per chi scrive i mazzi, IA compresa.
- CI: le presentazioni si costruiscono prima del sito, e nelle pull
  request si verificano.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@thomas-addamo
thomas-addamo changed the base branch from dev to main October 26, 2026 17:58
@thomas-addamo
thomas-addamo changed the base branch from main to dev October 26, 2026 17:59
Nella slide «Registriamo i due James Potter» il risultato si apriva a
destra e spingeva la risposta oltre il piede: ora il blocco ha `seguito`,
e il risultato ha la sua slide. slides:verifica controlla anche che, con il
risultato aperto, il resto della slide resti al suo posto.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant