diff --git a/bun.lockb b/bun.lockb index 97337a6..fe08456 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 373431d..4d7fdde 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "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" }, diff --git a/src/data/domande-esami.yaml b/src/data/domande-esami.yaml new file mode 100644 index 0000000..3549afe --- /dev/null +++ b/src/data/domande-esami.yaml @@ -0,0 +1,160 @@ +names: + aritmetica: Aritmetica + geometria-1: Geometria 1 + analisi-1: Analisi 1 + algebra-1: Algebra 1 + geometria-2: Geometria 2 + analisi-2: Analisi 2 + algebra-2: Algebra 2 + analisi-3: Analisi 3 + ricerca-operativa: Ricerca Operativa + fisica-3: Fisica 3 + meccanica-razionale: Meccanica Razionale + istituzioni-di-geometria: Istituzioni di Geometria + istituzioni-di-analisi: Istituzioni di Analisi + istituzioni-di-algebra: Istituzioni di Algebra + istituzioni-di-fisica: Istituzioni di Fisica + istituzioni-di-probabilità: Istituzioni di Probabilità + geometria-e-topologia-differenziale: Geometria e Topologia Differenziale + analisi-armonica: Analisi Armonica + elementi-di-analisi-complessa: Elementi di Analisi Complessa + +groups: + - id: triennale-anno-1 + name: Triennale - Anno I + items: + - aritmetica + - geometria-1 + - analisi-1 + - algebra-1 + + - id: triennale-anno-2 + name: Triennale - Anno II + items: + - geometria-2 + - analisi-2 + - algebra-1 + + - id: triennale-anno-3 + name: Triennale - Anno III + items: + - ricerca-operativa + - fisica-3 + - meccanica-razionale + + - id: istituzioni + name: Istituzioni + items: + - istituzioni-di-geometria + - istituzioni-di-analisi + - istituzioni-di-algebra + - istituzioni-di-fisica + - istituzioni-di-probabilità + + - id: other + name: Esami a scelta + items: + - geometria-e-topologia-differenziale + - analisi-armonica + - elementi-di-analisi-complessa + +questions: + - course: geometria-1 + year: 2024 + content: | + Dimostrare il teorema spettrale reale + + - course: gtd + year: 2024 + content: | + Calcolare la curvatura gaussiana di una sfera di raggio $r$ + + - course: geometria-1 + year: 2023 + content: | + Dimostrare che _l'area_ di un cerchio è $A = \pi r^2$ + + - course: algebra-1 + year: 2024 + content: | + Dimostrare il teorema di Sylow + + - course: algebra-1 + year: 2023 + content: | + Dimostrare che ogni sottogruppo di un gruppo ciclico è ciclico + + - course: analisi-1 + year: 2024 + content: | + Dimostrare il teorema di Weierstrass + + - course: analisi-1 + year: 2023 + content: | + Dimostrare che se $f$ è continua su $[a,b]$, allora $f$ è limitata + + - course: analisi-2 + year: 2024 + content: | + Dimostrare il teorema di Stokes + + - course: analisi-2 + year: 2023 + content: | + Dimostrare il teorema di Green + + - course: analisi-3 + year: 2024 + content: | + Dimostrare il teorema di Cauchy + + - course: analisi-3 + year: 2023 + content: | + Dimostrare il teorema di Liouville + + - course: algebra-2 + year: 2024 + content: | + Dimostrare il teorema di struttura per i gruppi abeliani finiti + + - course: algebra-2 + year: 2023 + content: | + Dimostrare il teorema di struttura per i gruppi finiti + + - course: ricerca-operativa + year: 2024 + content: | + Dimostrare il teorema di dualità per i problemi di programmazione lineare + + - course: geometria-topologia-differenziale + year: 2024 + content: | + Dimostrare il teorema di Poincaré-Hopf + + - course: analisi-armonica + year: 2024 + content: | + Dimostrare il teorema di Hahn-Banach + + - course: analisi-complessa + year: 2024 + content: | + Dimostrare il teorema di Morera + + - course: analisi-complessa + year: 2023 + content: | + Dimostrare il teorema degli zeri di Weierstrass + + - course: analisi-complessa + year: 2022 + content: | + Dimostrare il teorema della mappa aperta + + - course: analisi-complessa + year: 2021 + content: | + Dimostrare il teorema della mappa aperta diff --git a/src/files.d.ts b/src/files.d.ts index bdad603..975bb65 100644 --- a/src/files.d.ts +++ b/src/files.d.ts @@ -15,3 +15,23 @@ declare module '@/data/macchinisti.yaml' { const value: Macchinista[] export default value } + +declare module '@/data/domande-esami.yaml' { + type Question = { + course: string + year: number + content: string + } + + type Group = { + id: string + name: string + items: Array + } + + const names: Record + const groups: Group[] + const questions: Question[] + + export { names, groups, questions } +} diff --git a/src/pages/domande-esami/[course].astro b/src/pages/domande-esami/[course].astro new file mode 100644 index 0000000..ddaf9be --- /dev/null +++ b/src/pages/domande-esami/[course].astro @@ -0,0 +1,50 @@ +--- +import type { GetStaticPaths } from 'astro' +import BaseLayout from '@/layouts/BaseLayout.astro' +import Footer from '@/components/Footer.astro' +import Header from '@/components/Header.astro' + +import { PhosphorIcon } from '@/client/Icon' + +import { marked } from 'marked' + +import database from '@/data/domande-esami.yaml' + +export const getStaticPaths = (() => { + return Object.keys(database.names).map(course => ({ + params: { course }, + })) +}) satisfies GetStaticPaths + +const { course } = Astro.params +--- + + +
+
+

{course}

+ + + +
+ { + database.questions + .filter(question => question.course === course) + .map(question => ( +
+
+ +
+ +
+ )) + } +
+
+