8.0 KiB
Struttura dei file del curriculum
Il nostro contenuto educativo centrale è situato nella cartella chiamata convenientemente curriculum
. Questa pagina analizzerà come questi file sono organizzati.
Terminologia
Questi sono alcuni termini che usiamo quando discutiamo il contenuto del nostro curriculum.
certification
: Quando riferito a una certificazione in questa istanza, sta parlando del certificato che gli utenti richiedono. Che è separato dal nome del superBlock.superBlock
: Un superblock è il raggruppamento superiore di sfide. Ogni superblock corrisponde a una certificazione nel curriculum (per esempio Web Design Responsivo).block
: Un block è una sezione in un superblock. Un blocco corrisponde a un gruppo di sfide in una certa certificazione (per esempio HTML Base e HTML5)challenge
: Una sfida è una singola lezione nel curriculum (per esempio Fare conoscenza con gli elementi HTML)
Albero dei file
Usando quei termini, ecco come la struttura dei file viene definita:
curriculum/
├─ _meta/
│ ├─ {block}/
│ │ ├─ meta.json
├─ {language}/
│ ├─ {superBlock}/
│ │ ├─ {block}/
│ │ │ ├─ {challenge}.md
La cartella _meta
La cartella _meta
è una cartella speciale che contiene dei file .json
. Questi file corrispondono ad ogni blocco nel curriculum e sono usati per determinare a quale superblocco corrisponde un certo blocco, e l'ordine delle sfide in quel blocco.
Rinominare i file
Ci potrebbero essere volte in cui devi rinominare un certificato, superblocco, blocco o sfida. Questa sezione delinea gli step necessari per evitare errori di build nel farlo.
[!ATTENTION] Rinominare i file nella struttura del curriculum spesso cambia il percorso (o l'URL) del contenuto sulla pagina web principale. Questo è da fare con cura, poiché bisogna configurare reindirizzamenti per ogni cambiamento che viene fatto.
Rinominare una certificazione
Quando rinomini una certificazione, vorrai probabilmente rinominare il superblocco associato. Fai quanto segue per rinominare solo il certificato:
- Rinomina la cartella
curriculum/challenges/_meta/{superBlock}-certificate
con il nuovo nome. - Nel file
meta.json
di quella cartella, rinomina i valori inname
,dashedName
, echallengeOrder
con il nuovo nome. - In
curriculum/challenges/english/12-certificate
, rinomina la cartella{superBlock}-certificate
, e il file YAML dentro di essa, con il nuovo nome. - Nel file YAML, cambia il titolo (
title
) con il nuovo nome. - Rinomina il file e la cartella dello step 3 nel resto delle lingue del curriculum.
- Aggiorna
client/src/redux/index.ts
con il correttotitle
. - Facoltativamente, aggiorna il
certSlug
per il superblocco nello stesso file. Nota che rinominare uncertSlug
cambia l'URL della certificazione ed è da fare con attenta considerazione. - Aggiorna il
title
inclient/src/resources/cert-and-project-map.ts
al nuovo valore. Nota che cambiaretitle
qui romperà la pagina superBlock per la certificazione associata. Fa affidamento sul titolo del superblocco per combaciare il titolo del certificato. Vorrai probabilmente rinominare il superblocco allo stesso tempo. - Se hai rinominato
certSlug
allo step 7, cambialo qui per il certificato e tutti i valori dei progetti annidatiprojects
. - In
config/certification-settings.js
, aggiorna il valore dicertTypeTitleMap
al nuovo nome. - Se hai rinominato
certSlug
allo step 7, aggiorna la key dicertSlugTypeMap
nello stesso file. - Se necessario aggiorna il nome del certificato nell'array
legacyCerts
diclient/src/client-only-routes/show-project-links.tsx
. - Aggiorna il file
README.md
principale al nuovo nome.
Rinominare un superblocco
[!NOTE] Quando rinomini un superblocco, il nuovo nome della cartella è usato come percorso e dovrebbe essere considerato il nome "corretto". Tutti gli altri valori devono essere aggiornati per riflettere il cambiamento.
Inoltre, probabilmente vorrai rinominare il certificato e il blocco {superBlock}-projects
quando rinomini un superblocco visto che condividono tutti un nome. Per rinominare solo un superblocco devi:
- Rinominare la cartella del superblocco nella cartella
curriculum/challenges/english
. - Rinominare la cartella del superblocco in tutte le altre cartelle
curriculum/challenges/{language}
. - Per ogni blocco dentro quel superblocco, aggiorna il valore
superBlock
nel filemeta.json
al suo nome a trattini. Non hai bisogno di rinominare alcuna cartella qui. Fallo quando rinomini un blocco. - Rinomina la cartella del superblocco in
client/src/pages/learn
. - Aggiorna il file
index.md
nella cartella qui sopra, cambiando i valorititle
esuperBlock
al nuovo nome. - Per ogni cartella di un blocco all'interno della precedente, aggiorna
index.md
affinché usi il valore corretto disuperBlock
. - Nel file
client/src/resources/cert-and-project-map.ts
, aggiorna il percorso per il certificato in cima al file, e il valore dititle
per quel superblocco. Nota che cambiaretitle
qui romperà l'abilità di vedere la certificazione per questo superblocco. Fa affidamento sul titolo del superblocco per abbinare il titolo del certificato. Vorrai probabilmente rinominare la certificazione allo stesso tempo. - Aggiorna la key
superBlockCertTypeMap
inconfig/certification-settings.js
al nuovo nome di superblocco. - Aggiorna il valore del percorso in
client/src/assets/icons/index.tsx
. - Per ogni lingua in
client/i18n/locales
, aggiorna il fileintro.json
file affinché usi il nuovodashedName
del superblocco. Nel file inglese aggiorna anchetitle
. - Controlla
config/i18n/all-langs.js
per vedere se il superblocco è abilitato nelle build in altre lingue. Aggiorna il valore dove è usato. - Aggiorna il file principale
README.md
con il nuovo nome.
Rinominare un blocco
Quando rinomini un blocco del curriculum, devi:
- Cambiare il nome della cartella nella directory
curriculum/challenges/english/{superBlock}
. - Cambiare il nome della cartella dello stesso blocco in tutte le directory delle altre lingue. Queste devono tutte essere uguali alla struttura inglese o il build avrà errori.
- Cambia il nome della cartella del blocco nella directory
_meta
. - Aggiorna le proprietà
name
edashedName
per ilmeta.json
di quel blocco. - Aggiorna
client/utils/help-category-map.json
inmodo che usi il nuovo nome del blocco come chiave. - Aggiorna la cartella del blocco in
client/src/pages/learn/{superBlock}
. - Nel file
index.md
della cartella sopra, aggiorna il valore diblock
nel frontespizio. - Nei file
client/i18n/locales/{language}/intro.json
aggiorna il nome del blocco con il nuovo nome per tutte le lingue. Nel file ingleseintro.json
, cambia anchetitle
. - Aggiorna il file
README.md
principale al nuovo nome.
Rinominare una sfida
Quando rinomini il file di una singola sfida, devi:
- Cambiare il nome del file della sfida nella directory
curriculum/challenges/english
. - Cambiare i valori di
title
edashedName
in quel file. - Cambia il nome del file e il valore di
dashedName
in quei file per tutte le directory delle altre lingue. - Cambiare il nome della sfida nel file
meta.json
rilevante. I nomi delle sfide qui non sono usati nel build, ma forniscono un metodo user-friendly per identificare l'ordine delle sfide. - Se la sfida è un progetto di un certificato, aggiorna il file YAML in
curriculum/english/12-certificates/<superBlock>
con il nuovo nome. - Se la sfida è un progetto di un certificato, aggiorna
title
elink
inclient/src/resources/cert-and-project-map.ts
- Se la sfida è un progetto di un certificato, aggiorna il file
README.md
principale con il nuovo nome.
La proprietà dashedName
La proprietà dashedName
è usata per generare il percorso URL del superblocco, del blocco o della sfida. Questi devono in genere combaciare con ciò che l'aiutante /utils/slugs.js
restituirebbe per il nome del file.