diff --git a/.drone.yml b/.drone.yml index 7e92387..5f6d5be 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,6 +1,6 @@ # This file defines a Drone pipeline that builds a static website with "npm run build". This # pipeline must be marked as "Trusted" in the Drone project settings. -# +# # We mount the target directory of the project at "/var/www/{project}" to the container # "dist/" directory and the run the build. A caveat is that the container builds files # with "root" permissions, so we need to fix those after each build with a second pipeline. @@ -9,26 +9,26 @@ kind: pipeline name: default steps: -- name: deploy - image: node:latest - volumes: - - name: host-website-dist - path: /mnt/website - commands: - - npm install - - npm run build - - cp -rT ./dist /mnt/website + - name: deploy + image: node:latest + volumes: + - name: host-website-dist + path: /mnt/website + commands: + - npm install + - npm run build + - cp -rT ./dist /mnt/website volumes: -- name: host-website-dist - host: # this volume is mounted on the host machine - path: /var/www/website + - name: host-website-dist + host: # this volume is mounted on the host machine + path: /var/www/website trigger: branch: - - main + - main event: - - push + - push --- kind: pipeline @@ -36,15 +36,15 @@ type: exec # this job is executed on the host machine name: caddy-permissions depends_on: -- default + - default steps: -- name: chown - commands: - - chown -R caddy:caddy /var/www/website + - name: chown + commands: + - chown -R caddy:caddy /var/www/website trigger: branch: - - main + - main event: - - push + - push diff --git a/.prettierrc.mjs b/.prettierrc.mjs index 577489f..a3a1586 100644 --- a/.prettierrc.mjs +++ b/.prettierrc.mjs @@ -18,6 +18,7 @@ export default { }, { files: '*.{yml,yaml,json}', + excludeFiles: 'package-lock.json', options: { tabWidth: 2, }, diff --git a/package.json b/package.json index 9c99c90..bf80598 100644 --- a/package.json +++ b/package.json @@ -1,51 +1,51 @@ { - "name": "website", - "type": "module", - "version": "0.0.1", - "scripts": { - "dev": "run-s astro:sync astro:dev", - "build": "run-s astro:build", - "astro:sync": "astro sync", - "astro:dev": "astro dev", - "astro:build": "astro check && astro build" - }, - "dependencies": { - "@astrojs/check": "^0.9.4", - "@astrojs/node": "9.0.0", - "@astrojs/preact": "4.0.0", - "@fontsource-variable/material-symbols-outlined": "^5.1.1", - "@fontsource/iosevka": "^5.0.11", - "@fontsource/mononoki": "^5.0.11", - "@fontsource/open-sans": "^5.0.24", - "@fontsource/source-code-pro": "^5.0.16", - "@fontsource/source-sans-pro": "^5.0.8", - "@fontsource/space-mono": "^5.0.20", - "@phosphor-icons/core": "^2.1.1", - "@phosphor-icons/react": "^2.1.7", - "@preact/signals": "^1.3.0", - "@types/jsdom": "^21.1.7", - "astro": "5.1.0", - "fuse.js": "^7.0.0", - "katex": "^0.16.9", - "lucide-static": "^0.468.0", - "marked": "^15.0.6", - "preact": "^10.19.6", - "typescript": "^5.3.3" - }, - "devDependencies": { - "@astrojs/mdx": "4.0.2", - "@rollup/plugin-yaml": "^4.1.2", - "@types/katex": "^0.16.7", - "jsdom": "^24.1.1", - "linkedom": "^0.18.4", - "npm-run-all": "^4.1.5", - "prettier": "^3.5.0", - "prettier-plugin-astro": "^0.14.1", - "rehype-autolink-headings": "^7.1.0", - "rehype-slug": "^6.0.0", - "remark-math": "^6.0.0", - "remark-toc": "^9.0.0", - "sass": "^1.71.1", - "tsx": "^4.7.1" - } + "name": "website", + "type": "module", + "version": "0.0.1", + "scripts": { + "dev": "run-s astro:sync astro:dev", + "build": "run-s astro:build", + "astro:sync": "astro sync", + "astro:dev": "astro dev", + "astro:build": "astro check && astro build" + }, + "dependencies": { + "@astrojs/check": "^0.9.4", + "@astrojs/node": "9.0.0", + "@astrojs/preact": "4.0.0", + "@fontsource-variable/material-symbols-outlined": "^5.1.1", + "@fontsource/iosevka": "^5.0.11", + "@fontsource/mononoki": "^5.0.11", + "@fontsource/open-sans": "^5.0.24", + "@fontsource/source-code-pro": "^5.0.16", + "@fontsource/source-sans-pro": "^5.0.8", + "@fontsource/space-mono": "^5.0.20", + "@phosphor-icons/core": "^2.1.1", + "@phosphor-icons/react": "^2.1.7", + "@preact/signals": "^1.3.0", + "@types/jsdom": "^21.1.7", + "astro": "5.1.0", + "fuse.js": "^7.0.0", + "katex": "^0.16.9", + "lucide-static": "^0.468.0", + "marked": "^15.0.6", + "preact": "^10.19.6", + "typescript": "^5.3.3" + }, + "devDependencies": { + "@astrojs/mdx": "4.0.2", + "@rollup/plugin-yaml": "^4.1.2", + "@types/katex": "^0.16.7", + "jsdom": "^24.1.1", + "linkedom": "^0.18.4", + "npm-run-all": "^4.1.5", + "prettier": "^3.5.0", + "prettier-plugin-astro": "^0.14.1", + "rehype-autolink-headings": "^7.1.0", + "rehype-slug": "^6.0.0", + "remark-math": "^6.0.0", + "remark-toc": "^9.0.0", + "sass": "^1.71.1", + "tsx": "^4.7.1" + } } diff --git a/src/client/ComboBox.tsx b/src/client/ComboBox.tsx index cc62c8f..41865bc 100644 --- a/src/client/ComboBox.tsx +++ b/src/client/ComboBox.tsx @@ -34,21 +34,14 @@ export const ComboBox = ({ }, []) return ( -
+
setOpen(!open)}>
{children[value]}
{/* expand_more */}
{open && ( -
el && setItemWidth(el.offsetWidth)} - > +
el && setItemWidth(el.offsetWidth)}> {Object.keys(children).map(key => (
(`node_modules/@phosphor-icons/core/assets/light/*.svg`, { eager: true, - }) - ).map(([path, module]) => [path.split('/').pop()!.split('.')[0].replace('-light', ''), module]) + }), + ).map(([path, module]) => [path.split('/').pop()!.split('.')[0].replace('-light', ''), module]), ) type Props = { diff --git a/src/client/UtentiPage.tsx b/src/client/UtentiPage.tsx index d687b44..a906620 100644 --- a/src/client/UtentiPage.tsx +++ b/src/client/UtentiPage.tsx @@ -68,22 +68,22 @@ export const UtentiPage = () => { $filter.value === 'macchinisti' ? $utentiData.value.filter(user => MACCHINISTI.includes(user.uid)) : $filter.value === 'rappstud' - ? $utentiData.value.filter(user => RAPPSTUD.includes(user.uid)) - : $utentiData.value + ? $utentiData.value.filter(user => RAPPSTUD.includes(user.uid)) + : $utentiData.value, ) const $fuse = useComputed( () => new Fuse($filteredData.value, { keys: ['gecos', 'uid'], - }) + }), ) const $searchText = useSignal('') const $searchResults = useComputed(() => $searchText.value.trim().length > 0 - ? $fuse.value?.search($searchText.value).map(result => result.item) ?? [] - : $filteredData.value + ? ($fuse.value?.search($searchText.value).map(result => result.item) ?? []) + : $filteredData.value, ) useEffect(() => { @@ -110,7 +110,7 @@ export const UtentiPage = () => { {v.label} , - ]) + ]), )}
{poissonUser.gecos}
- + {/* open_in_new */} diff --git a/src/client/lib/util.ts b/src/client/lib/util.ts index fc52ce1..4e41d1b 100644 --- a/src/client/lib/util.ts +++ b/src/client/lib/util.ts @@ -3,7 +3,7 @@ import { useEffect, useState } from 'preact/hooks' export const trottleDebounce = ( fn: (...args: T) => R, delay: number, - options: { leading?: boolean; trailing?: boolean } = {} + options: { leading?: boolean; trailing?: boolean } = {}, ): ((...args: T) => R | undefined) => { let lastCall = 0 let lastResult: R | undefined diff --git a/src/components/PhosphorIcon.astro b/src/components/PhosphorIcon.astro index 9c5fb65..ba144df 100644 --- a/src/components/PhosphorIcon.astro +++ b/src/components/PhosphorIcon.astro @@ -9,8 +9,8 @@ const { name } = Astro.props const icons = Object.fromEntries( Object.entries( - import.meta.glob<{ default: ImageMetadata }>(`node_modules/@phosphor-icons/core/assets/light/*.svg`) - ).map(([path, module]) => [path.split('/').pop()!.split('.')[0].replace('-light', ''), module]) + import.meta.glob<{ default: ImageMetadata }>(`node_modules/@phosphor-icons/core/assets/light/*.svg`), + ).map(([path, module]) => [path.split('/').pop()!.split('.')[0].replace('-light', ''), module]), ) if (!icons[name]) { diff --git a/src/content/guides/2024-02-29-git-101.md b/src/content/guides/2024-02-29-git-101.md index 24cb350..1c44e25 100644 --- a/src/content/guides/2024-02-29-git-101.md +++ b/src/content/guides/2024-02-29-git-101.md @@ -14,21 +14,21 @@ Git è un sistema di controllo di versione distribuito creato per gestire proget ### **Cos'è Git?** -- **Sistema di controllo di versione**: Gestisce le modifiche al codice sorgente nel tempo. +- **Sistema di controllo di versione**: Gestisce le modifiche al codice sorgente nel tempo. -- **Distribuito**: Ogni sviluppatore ha una copia del repository. +- **Distribuito**: Ogni sviluppatore ha una copia del repository. -- **Veloce e leggero**: Ottimizzato per la velocità e le prestazioni. +- **Veloce e leggero**: Ottimizzato per la velocità e le prestazioni. ### **Perché usare Git?** -- **Tracciabilità**: Ogni modifica è tracciata e reversibile. +- **Tracciabilità**: Ogni modifica è tracciata e reversibile. -- **Collaborazione**: Più persone possono lavorare sullo stesso progetto. +- **Collaborazione**: Più persone possono lavorare sullo stesso progetto. -- **Backup**: Repository remoto per il backup del codice. +- **Backup**: Repository remoto per il backup del codice. -- **Branching**: Lavoriamo su nuove funzionalità senza influenzare il codice principale. +- **Branching**: Lavoriamo su nuove funzionalità senza influenzare il codice principale. --- @@ -96,9 +96,9 @@ git config --list ### **Repository** -- **Repository locale**: Una cartella sul nostro computer che contiene il nostro progetto. +- **Repository locale**: Una cartella sul nostro computer che contiene il nostro progetto. -- **Repository remoto**: Una versione del progetto ospitata su un server (es. GitHub, GitLab). +- **Repository remoto**: Una versione del progetto ospitata su un server (es. GitHub, GitLab). ### **Branch** @@ -174,9 +174,9 @@ Il comando **`git commit`** è utilizzato per registrare le modifiche nel reposi #### Cosa succede dietro le quinte: -- Git salva lo stato dei file nell'area di staging in un commit, che viene aggiunto alla cronologia del repository locale. +- Git salva lo stato dei file nell'area di staging in un commit, che viene aggiunto alla cronologia del repository locale. -- Ogni commit ha un identificatore unico (hash) che consente di risalire facilmente alle modifiche in qualsiasi momento. +- Ogni commit ha un identificatore unico (hash) che consente di risalire facilmente alle modifiche in qualsiasi momento. --- @@ -198,13 +198,13 @@ Il comando **`git commit`** è utilizzato per registrare le modifiche nel reposi #### Cosa succede dietro le quinte: -- Git confronta il nostro branch locale con il branch remoto. Se ci sono nuovi commit nel branch remoto che non sono ancora nel nostro branch locale, ci verrà richiesto di fare un **pull** per aggiornare prima di fare il push. +- Git confronta il nostro branch locale con il branch remoto. Se ci sono nuovi commit nel branch remoto che non sono ancora nel nostro branch locale, ci verrà richiesto di fare un **pull** per aggiornare prima di fare il push. -- Il nostro repository locale viene sincronizzato con il remoto, rendendo le modifiche visibili a tutti gli altri che hanno accesso al repository remoto. +- Il nostro repository locale viene sincronizzato con il remoto, rendendo le modifiche visibili a tutti gli altri che hanno accesso al repository remoto. #### Errori comuni: -- Se il repository remoto è stato aggiornato nel frattempo da qualcun altro (ad esempio, con un altro push), riceveremo un errore che ci avvisa che dobbiamo fare prima un `git pull` per sincronizzare il nostro lavoro. +- Se il repository remoto è stato aggiornato nel frattempo da qualcun altro (ad esempio, con un altro push), riceveremo un errore che ci avvisa che dobbiamo fare prima un `git pull` per sincronizzare il nostro lavoro. --- @@ -226,13 +226,13 @@ Il comando **`git commit`** è utilizzato per registrare le modifiche nel reposi #### Cosa succede dietro le quinte: -- **`git fetch`** scarica tutte le modifiche dal repository remoto, ma non le integra ancora nel nostro codice. +- **`git fetch`** scarica tutte le modifiche dal repository remoto, ma non le integra ancora nel nostro codice. -- **`git merge`** unisce le modifiche scaricate al nostro branch attuale, risolvendo eventuali conflitti, se necessario. +- **`git merge`** unisce le modifiche scaricate al nostro branch attuale, risolvendo eventuali conflitti, se necessario. #### Errori comuni: -- Se ci sono conflitti tra il nostro lavoro e quello degli altri, Git ci avviserà che dovremo risolverli manualmente. Dopo aver risolto i conflitti, dovremo aggiungere i file risolti (`git add`) e completare il merge con un commit. +- Se ci sono conflitti tra il nostro lavoro e quello degli altri, Git ci avviserà che dovremo risolverli manualmente. Dopo aver risolto i conflitti, dovremo aggiungere i file risolti (`git add`) e completare il merge con un commit. ## **7. Lavorare con branch** @@ -336,18 +336,18 @@ git branch -d ## **10. Best practices** -- Scriviamo messaggi di commit chiari e descrittivi. +- Scriviamo messaggi di commit chiari e descrittivi. -- Creiamo branch per nuove funzionalità o bugfix. +- Creiamo branch per nuove funzionalità o bugfix. -- Sincronizziamo frequentemente il nostro repository locale con quello remoto. +- Sincronizziamo frequentemente il nostro repository locale con quello remoto. --- ## **11. Risorse aggiuntive** -- [Documentazione ufficiale di Git](https://git-scm.com/doc) +- [Documentazione ufficiale di Git](https://git-scm.com/doc) -- [Guida interattiva Learn Git Branching](https://learngitbranching.js.org/) +- [Guida interattiva Learn Git Branching](https://learngitbranching.js.org/) -- [GitHub Docs](https://docs.github.com/) +- [GitHub Docs](https://docs.github.com/) diff --git a/src/content/guides/2024-11-03-deploy-with-github-actions.md b/src/content/guides/2024-11-03-deploy-with-github-actions.md index 2c2c493..fb59917 100644 --- a/src/content/guides/2024-11-03-deploy-with-github-actions.md +++ b/src/content/guides/2024-11-03-deploy-with-github-actions.md @@ -64,13 +64,13 @@ jobs: Il comando `rsync` ha le seguenti opzioni: -- `-c` per controllare i file tramite checksum invece che per data e dimensione (che sono sempre diverse visto che stiamo ricosruendo il sito ogni volta con le GitHub Actions) +- `-c` per controllare i file tramite checksum invece che per data e dimensione (che sono sempre diverse visto che stiamo ricosruendo il sito ogni volta con le GitHub Actions) -- `-a` per copiare ricorsivamente i file e mantenere i permessi +- `-a` per copiare ricorsivamente i file e mantenere i permessi -- `-v` per mostrare i file copiati +- `-v` per mostrare i file copiati -- `-z` per comprimere i file durante il trasferimento +- `-z` per comprimere i file durante il trasferimento ## SSH Segreti diff --git a/src/content/guides/2024-11-17-attivazione-poisson.md b/src/content/guides/2024-11-17-attivazione-poisson.md index 7f9fc6c..e280b62 100644 --- a/src/content/guides/2024-11-17-attivazione-poisson.md +++ b/src/content/guides/2024-11-17-attivazione-poisson.md @@ -12,11 +12,11 @@ Poisson è un server autogestito dalla comunità studentesca di matematica, da s Se non si è mai creato un account Poisson, è necessario inviare una richiesta via email a **macchinisti@lists.dm.unipi.it** includendo: -- Nome +- Nome -- Cognome +- Cognome -- Username di ateneo (quello associato alla propria email istituzionale) +- Username di ateneo (quello associato alla propria email istituzionale) Nella mail è sufficiente specificare che si desidera attivare un account Poisson. I "macchinisti" si occuperanno di attivare l'account il prima possibile. @@ -66,7 +66,10 @@ Vediamo un piccolo esempio di file `index.html` che possiamo creare: style="max-width: 300px; border-radius: 10px;" />

Ciao! Sono Sergio Steffè.

-

Email: sergio.steffe@example.com

+

+ Email: + sergio.steffe@example.com +

``` diff --git a/src/content/meta/design.mdx b/src/content/meta/design.mdx index fc9c024..69e469a 100644 --- a/src/content/meta/design.mdx +++ b/src/content/meta/design.mdx @@ -35,10 +35,7 @@ Una card semplice ha un titolo ed una descrizione. ```astro
Titolo
-
- Descrizione lorem ipsum dolor sit amet consectetur - adipisicing elit. Aspernatur, labore? -
+
Descrizione lorem ipsum dolor sit amet consectetur adipisicing elit. Aspernatur, labore?
``` @@ -51,10 +48,7 @@ Le card possono essere di dimensioni diverse. Questa è una card grande. ```astro
Titolo
-
- Descrizione lorem ipsum dolor sit amet consectetur - adipisicing elit. Aspernatur, labore? -
+
Descrizione lorem ipsum dolor sit amet consectetur adipisicing elit. Aspernatur, labore?
``` @@ -100,10 +94,7 @@ Se c'è poco testo, può essere inserito direttamente nella card. ```astro
-
- Descrizione lorem ipsum dolor sit amet consectetur - adipisicing elit. Aspernatur, labore? -
+
Descrizione lorem ipsum dolor sit amet consectetur adipisicing elit. Aspernatur, labore?
``` @@ -113,16 +104,15 @@ Altrimenti può essere inserito in un tag `

`.

- Lorem ipsum dolor sit amet consectetur, adipisicing elit. - Distinctio, vel! Veritatis est sit beatae eveniet. + Lorem ipsum dolor sit amet consectetur, adipisicing elit. Distinctio, vel! Veritatis est sit beatae eveniet.

- Error, minus, asperiores quaerat nulla cumque, nisi ipsam - assumenda consectetur accusamus tempore consequatur quae. Fugit? + Error, minus, asperiores quaerat nulla cumque, nisi ipsam assumenda consectetur accusamus tempore + consequatur quae. Fugit?

- Quos sapiente amet numquam quis, libero odit eum, eius - perspiciatis repellat nesciunt cupiditate asperiores maiores? + Quos sapiente amet numquam quis, libero odit eum, eius perspiciatis repellat nesciunt cupiditate asperiores + maiores?

@@ -132,19 +122,10 @@ C'è anche il modificatore `small` e `dimmed` per ridurre la grandezza del testo ```astro
-
- Some normal text, this is a very long - text that should wrap on the next line -
-
- This is some small text -
-
- This is some dimmed text -
-
- This is some small dimmed text -
+
Some normal text, this is a very long text that should wrap on the next line
+
This is some small text
+
This is some dimmed text
+
This is some small dimmed text
``` @@ -197,7 +178,6 @@ import { ComboBox } from '@/lib/components/ComboBox' const [value, setValue] = useState('option-1') ``` - ```jsx {{ diff --git a/src/content/news/2024-07-28-nuovo-sito.md b/src/content/news/2024-07-28-nuovo-sito.md index db704fc..f85c5ef 100644 --- a/src/content/news/2024-07-28-nuovo-sito.md +++ b/src/content/news/2024-07-28-nuovo-sito.md @@ -16,7 +16,7 @@ A differenza di altri framework, di base Astro non richiede JavaScript per funzi ## Caratteristiche del Nuovo Sito -Il nuovo sito unifica varie funzionalità che prima erano sparse in diversi siti web. I contenuti del sito dei Seminarietti verranno integrati nella sezione guide che ospiterà anche molte altre risorse utili. +Il nuovo sito unifica varie funzionalità che prima erano sparse in diversi siti web. I contenuti del sito dei Seminarietti verranno integrati nella sezione guide che ospiterà anche molte altre risorse utili. - **Lista Utenti**: La lista degli utenti di Poisson precedentemente presente sul sito era ordinata per nome e non era facile cercare un utente specifico. Ora la lista è ordinata in base alla data di creaizone dell'account e c'è una barra di ricerca fuzzy per cercare un utente e la sua pagina Poisson. @@ -24,7 +24,7 @@ Il nuovo sito unifica varie funzionalità che prima erano sparse in diversi siti - **News**: La sezione news ospiterà gli novità e annunci importanti riguardanti il PHC. -- **Storia**: Questa sezione raccoglie la storia del PHC fin dalla creazione di Poisson nel lontano 1994, includendo tutti i vari macchinisti nel corso della tempo. +- **Storia**: Questa sezione raccoglie la storia del PHC fin dalla creazione di Poisson nel lontano 1994, includendo tutti i vari macchinisti nel corso della tempo. ## Cooming Soon @@ -35,4 +35,3 @@ Il nuovo sito unifica varie funzionalità che prima erano sparse in diversi siti ## Conclusioni Speriamo che il nuovo sito vi piaccia e vi sia utile. Se avete suggerimenti o richieste, non esitate a contattarci. Buona navigazione, magari iniziando dalla [pagina sulla storia del PHC](/storia)! - diff --git a/src/data/macchinisti.yaml b/src/data/macchinisti.yaml index ddc3738..8b85f76 100644 --- a/src/data/macchinisti.yaml +++ b/src/data/macchinisti.yaml @@ -3,37 +3,37 @@ - fullName: Antonio De Lucreziis entranceDate: 2019 description: | - Appassionato di geometria computazionale, parser, teoria dei linguaggi di programmazione, Smalltalk e Lisp. + Appassionato di geometria computazionale, parser, teoria dei linguaggi di programmazione, Smalltalk e Lisp. social: - github: https://github.com/aziis98 - website: https://poisson.phc.dm.unipi.it/~delucreziis/ + github: https://github.com/aziis98 + website: https://poisson.phc.dm.unipi.it/~delucreziis/ - fullName: Luca Lombardo entranceDate: 2024 description: Appassionato di algoritmi e strutture dati, Rust e di quando matematica e informatica si incontrano. social: - github: https://github.com/lukefleed - website: https://lukefleex.xyz - linkedin: https://www.linkedin.com/in/l-lombardo/ + github: https://github.com/lukefleed + website: https://lukefleex.xyz + linkedin: https://www.linkedin.com/in/l-lombardo/ - fullName: Francesco Minnocci entranceDate: 2022 description: Chitarrista classico ossessionato con la geometria aritmetica, linux e il rock progressivo. social: - github: https://github.com/BachoSeven - website: https://bachoseven.com + github: https://github.com/BachoSeven + website: https://bachoseven.com - fullName: Francesco Baldino entranceDate: 2022 description: Bla bla Star Wars social: - github: https://github.com/Fran314 - website: https://poisson.phc.dm.unipi.it/~baldino + github: https://github.com/Fran314 + website: https://poisson.phc.dm.unipi.it/~baldino - fullName: Illya Serdyuk entranceDate: 2020 social: - github: https://github.com/Kratacoa + github: https://github.com/Kratacoa # Vecchi Macchinisti @@ -41,54 +41,54 @@ entranceDate: 2020 exitDate: 2024 social: - linkedin: https://www.linkedin.com/in/gustavo-sass%C3%ACnculo-phd-92916a202/ + linkedin: https://www.linkedin.com/in/gustavo-sass%C3%ACnculo-phd-92916a202/ - fullName: Cristiano Cricci entranceDate: 2010 exitDate: 2019 social: - website: https://poisson.phc.dm.unipi.it/~cricci/ + website: https://poisson.phc.dm.unipi.it/~cricci/ - fullName: Tommaso Biannucci entranceDate: 2019 exitDate: 2022 social: - github: https://gitlab.com/churli - website: https://churli.gitlab.io/ + github: https://gitlab.com/churli + website: https://churli.gitlab.io/ - fullName: Letizia D'Achille entranceDate: 2018 exitDate: 2022 description: Appassionata di crittografia, teoria dei codici e matematica computazionale. social: - github: https://github.com/letizia-dachille - website: https://letizia-dachille.github.io/ - linkedin: https://www.linkedin.com/in/letizia-dachille/ + github: https://github.com/letizia-dachille + website: https://letizia-dachille.github.io/ + linkedin: https://www.linkedin.com/in/letizia-dachille/ - fullName: Emiliano Rago entranceDate: 2000 exitDate: 2006 description: Traviato da Linux in età troppo giovane ha difficoltà ad usare il mouse ma ama gli shortcuts con una decina di tasti. social: - linkedin: https://www.linkedin.com/in/emiliano-rago-1a8018109/ + linkedin: https://www.linkedin.com/in/emiliano-rago-1a8018109/ - fullName: Francesco Caporali entranceDate: 2018 exitDate: 2022 social: - github: https://github.com/caporali - website: https://caporali.github.io/ - linkedin: https://www.linkedin.com/in/francescocaporali + github: https://github.com/caporali + website: https://caporali.github.io/ + linkedin: https://www.linkedin.com/in/francescocaporali - fullName: Antonio Spanu entranceDate: 2005 exitDate: 2009 social: - linkedin: https://www.linkedin.com/in/antonio-spanu-609b3516a/ + linkedin: https://www.linkedin.com/in/antonio-spanu-609b3516a/ - fullName: Riccardo Murri entranceDate: 1995 exitDate: 2000 founder: true social: - github: https://github.com/riccardomurri + github: https://github.com/riccardomurri diff --git a/src/pages/domande-esami/api/[course].json.ts b/src/pages/domande-esami/api/[course].json.ts index 1904e98..5b9724b 100644 --- a/src/pages/domande-esami/api/[course].json.ts +++ b/src/pages/domande-esami/api/[course].json.ts @@ -19,6 +19,6 @@ export const GET: APIRoute = ({ params: { course } }) => { headers: { 'content-type': 'application/json', }, - } + }, ) } diff --git a/src/pages/index.astro b/src/pages/index.astro index 28c0093..47c8e2c 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -80,8 +80,7 @@ const galleryCollage = await Astro.glob('@/assets/gallery/*.jpg') >

Gitea è un servizio di hosting per progetti software, come GitHub ma autogestito.

- Qui puoi trovare i progetti del PHC, e accedendo con un account di Ateneo potrai crearne - di nuovi. + Qui puoi trovare i progetti del PHC, e accedendo con un account di Ateneo potrai crearne di nuovi.