vault backup: 2025-12-22 22:49:13
All checks were successful
Deploy Quartz site to GitHub Pages / build (push) Successful in 2m8s
All checks were successful
Deploy Quartz site to GitHub Pages / build (push) Successful in 2m8s
This commit is contained in:
82
content/.obsidian/workspace.json
vendored
82
content/.obsidian/workspace.json
vendored
@@ -28,17 +28,35 @@
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "Anatomi & Histologi 2/Schema.md",
|
||||
"file": "Anatomi & Histologi 2/Statistik.md",
|
||||
"mode": "source",
|
||||
"source": false,
|
||||
"source": true,
|
||||
"backlinks": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "Schema"
|
||||
"title": "Statistik"
|
||||
}
|
||||
}
|
||||
],
|
||||
"currentTab": 1
|
||||
},
|
||||
{
|
||||
"id": "1ce7592fbb71e315",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "2a734bede79968e0",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "pdf",
|
||||
"state": {
|
||||
"file": "Anatomi & Histologi 2/Gamla tentor/2023-05-31/!2023-05-31-0100-DKS.pdf"
|
||||
},
|
||||
"icon": "lucide-file-text",
|
||||
"title": "!2023-05-31-0100-DKS"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "vertical"
|
||||
@@ -209,39 +227,39 @@
|
||||
},
|
||||
"active": "b6de1b6650c09ff3",
|
||||
"lastOpenFiles": [
|
||||
"Anatomi & Histologi 2/Öga anatomi.md",
|
||||
"Anatomi & Histologi 2/Schema.md",
|
||||
"Anatomi & Histologi 2/Statistik.md",
|
||||
"Anatomi & Histologi 2/1 Öga anatomi/Slides.pdf.pdf",
|
||||
"Anatomi & Histologi 2/1 Öga anatomi/Slides.md",
|
||||
"Anatomi & Histologi 2/1 Öga anatomi/Målbeskrivning.md",
|
||||
"Anatomi & Histologi 2/1 Öga anatomi/Instuderingsfrågor.md",
|
||||
"Anatomi & Histologi 2/1 Öga anatomi/Video 1.md",
|
||||
"Anatomi & Histologi 2/1 Öga anatomi/Video 2.md",
|
||||
"Anatomi & Histologi 2/2 Öra anatomi/Slides.md",
|
||||
"Anatomi & Histologi 2/2 Öra anatomi/Organa sensum.pdf",
|
||||
"Anatomi & Histologi 2/2 Öra anatomi/Video 3.md",
|
||||
"Anatomi & Histologi 2/2 Öra anatomi/Video 2.md",
|
||||
"Anatomi & Histologi 2/2 Öra anatomi/Video 1.md",
|
||||
"Anatomi & Histologi 2/1 Öga anatomi/Provfrågor.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2024-01-10/21.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2025-01-15/17.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2025-02-08/10.md",
|
||||
"Anatomi & Histologi 2/1 Öga anatomi/Studietips.md",
|
||||
"Anatomi & Histologi 2/Demokompendium.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2024-01-10/20.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2024-01-10/19.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2024-01-10/!2024-01-10-0009-RYY.pdf",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/30.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/29.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/28.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/27.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/26.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/25.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/24.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/23.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/22.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/21.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/20.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/19.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/18.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/17.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/16.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/15.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/14.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/13.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/12.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/11.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/10.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/9.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/!2023-05-31-0100-DKS.pdf",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/8.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/7.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/6.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-05-31/5.md",
|
||||
"Anatomi & Histologi 2/1 Öga anatomi/Slides.pdf.pdf",
|
||||
"Anatomi & Histologi 2/2 Öra anatomi/Organa sensum.pdf",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2024-01-10/!2024-01-10-0009-RYY.pdf",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2024-05-29/!2024-05-29-0125-GZX.pdf",
|
||||
"Anatomi & Histologi 2/1 Öga anatomi/Organa sensum.pdf",
|
||||
"Anatomi & Histologi 2/1 Öga anatomi/Oculus.md.md",
|
||||
"Anatomi & Histologi 2/2 Öra anatomi/Slides.pdf.pdf",
|
||||
"Anatomi & Histologi 2/2 Öra anatomi/Instuderingsfrågor.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2022-01-15/20.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2022-06-01/21.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2025-06-03/26.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2025-08-08/10.md",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2023-01-11/!2023-01-11-0044-PRX.pdf",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2022-06-01/!2022-06-01-0101-MGY.pdf",
|
||||
"Anatomi & Histologi 2/Gamla tentor/2022-01-15/!2022-01-15-0032-BWD.pdf",
|
||||
|
||||
@@ -9,12 +9,12 @@ date: 2023-05-31
|
||||
---
|
||||
![[image-35.png]]
|
||||
Lite svårare, vilken siffra i bilden ovan markerar
|
||||
|
||||
a) gyrus cinguli
|
||||
|
||||
b) amygdala?
|
||||
|
||||
(0,5p för rätt svar, totalt 1p)
|
||||
|
||||
```spoiler-block:
|
||||
TODO
|
||||
a) 1
|
||||
b) 4
|
||||
```
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
---
|
||||
tags: [ah2, provfråga, frågetyp/textalternativ, anatomi]
|
||||
tags: [ah2, provfråga, frågetyp/scq, anatomi]
|
||||
date: 2023-05-31
|
||||
---
|
||||
I vilken bana går övre motorneuron? (1p)
|
||||
Pyramidbanan
|
||||
Spinothalamiska banan).
|
||||
- Pyramidbanan
|
||||
- Cerebro-cerebellära banan
|
||||
- Baksträngsbanan
|
||||
- A: Pyramidbanan Spinothalamiska banan).
|
||||
- B: Pyramidbanan
|
||||
- C: Cerebro-cerebellära banan
|
||||
- D: Baksträngsbanan
|
||||
|
||||
```spoiler-block:
|
||||
TODO
|
||||
A
|
||||
```
|
||||
|
||||
@@ -4,13 +4,13 @@ date: 2023-05-31
|
||||
---
|
||||
Genom att använda siffra (1-12), ange vilken kranialnerv som förmedlar
|
||||
|
||||
a) ansiktets motorik
|
||||
|
||||
b) tungans motorik
|
||||
|
||||
c) lukt?
|
||||
a) ansiktets motorik (1...12)
|
||||
b) tungans motorik (1...12)
|
||||
c) lukt? (1...12)
|
||||
_(alla rätt ger 1p, inga delpoäng)_
|
||||
|
||||
```spoiler-block:
|
||||
TODO
|
||||
a) 7
|
||||
b) 12
|
||||
c) 11
|
||||
```
|
||||
|
||||
@@ -5,12 +5,12 @@ date: 2023-05-31
|
||||
Ordna följande lager i cortex cerebri i rätt ordning, utifrån och in (Lager 1 = ytterst).
|
||||
(1p för alla rätt, inga delpoäng)
|
||||
|
||||
Lager 1
|
||||
Lager 2
|
||||
Lager 3
|
||||
Lager 4
|
||||
Lager 5
|
||||
Lager 6
|
||||
a) Lager 1
|
||||
b) Lager 2
|
||||
c) Lager 3
|
||||
d) Lager 4
|
||||
e) Lager 5
|
||||
f) Lager 6
|
||||
|
||||
Lamina molekylaris
|
||||
Lamina granularis externa
|
||||
@@ -20,5 +20,10 @@ Lamina pyramidalis interna
|
||||
Lamina multiforme
|
||||
|
||||
```spoiler-block:
|
||||
TODO
|
||||
a) Lamina molekylaris
|
||||
b) Lamina granularis externa
|
||||
c) Lamina pyramidalis externa
|
||||
d) Lamina granularis interna
|
||||
e) Lamina pyramidalis interna
|
||||
f) Lamina multiforme
|
||||
```
|
||||
|
||||
@@ -5,10 +5,22 @@ date: 2023-05-31
|
||||
Vilka av följande stödjeceller finns i CNS? Markera JA eller NEJ för varje angiven celltyp:
|
||||
(1p för alla rätt, inga delpoäng)
|
||||
|
||||
JA, finn i CNS NEJ, finns inte i CNS oligodendrocyter
|
||||
Astrocyter satellitceller ependymceller mikroglia
|
||||
Schwannceller
|
||||
- a) oligodendrocyter
|
||||
- b) Astrocyter
|
||||
- c) satellitceller
|
||||
- d) ependymceller
|
||||
- e) mikroglia
|
||||
- f) Schwannceller
|
||||
|
||||
- JA, finn i CNS
|
||||
- NEJ, finns inte i CNS
|
||||
|
||||
|
||||
```spoiler-block:
|
||||
TODO
|
||||
a) JA, finn i CNS
|
||||
b) JA, finn i CNS
|
||||
c) NEJ, finns inte i CNS
|
||||
d) JA, finn i CNS
|
||||
e) JA, finn i CNS
|
||||
f) NEJ, finns inte i CNS
|
||||
```
|
||||
|
||||
@@ -11,5 +11,5 @@ Vilka två påståenden stämmer? (1p)
|
||||
- D: Schwannceller myeliniserar axon i CNS
|
||||
|
||||
```spoiler-block:
|
||||
TODO
|
||||
A och B
|
||||
```
|
||||
|
||||
@@ -12,12 +12,21 @@ date: 2023-05-31
|
||||
Bilden ovan visar cortex i cerebellum, med de tre lagren utmärkta med A, B och C.
|
||||
|
||||
**Matcha de fem celltyperna nedan med rätt lager. _(1p för alla rätt, inga delpoäng)_**
|
||||
- B C A
|
||||
- Stjärnceller
|
||||
- Purkinjceller
|
||||
- Kornceller
|
||||
- Korgceller
|
||||
|
||||
|
||||
- a) Stjärnceller
|
||||
- b) Purkinjceller
|
||||
- c) Kornceller
|
||||
- d) Korgceller
|
||||
|
||||
- A
|
||||
- B
|
||||
- C
|
||||
|
||||
|
||||
```spoiler-block:
|
||||
TODO
|
||||
a) A
|
||||
b) B
|
||||
c) C
|
||||
d) A
|
||||
```
|
||||
|
||||
@@ -10,11 +10,11 @@ date: 2023-05-31
|
||||
---
|
||||
![[image-37.png]]
|
||||
Vilka celltyper syns i ovan preparat från lillhjärnan och som är infärgad för GFAP (Glial fibrillary acidic protein)? (1p)
|
||||
- Mikroglia
|
||||
- Oligedendrocyter
|
||||
- Purkinjeceller
|
||||
- Astrocyter
|
||||
- A: Mikroglia
|
||||
- B: Oligedendrocyter
|
||||
- C: Purkinjeceller
|
||||
- D: Astrocyter
|
||||
|
||||
```spoiler-block:
|
||||
TODO
|
||||
D
|
||||
```
|
||||
|
||||
@@ -8,11 +8,15 @@ tags:
|
||||
date: 2023-05-31
|
||||
---
|
||||
![[image-38.png]]
|
||||
Vilket **bokstav** marker bakhornet?
|
||||
Vilken **siffra (pil)** pekar på området där man finner motoriska neuron?
|
||||
Vilken **siffra (pil)** pekar på ependymceller?
|
||||
|
||||
a) Vilket **bokstav** marker bakhornet? (A, B, C, D)
|
||||
b) Vilken **siffra (pil)** pekar på området där man finner motoriska neuron? (1...4)
|
||||
c) Vilken **siffra (pil)** pekar på ependymceller? (1...4)
|
||||
|
||||
(1poäng för all rätt, inga delpoäng)
|
||||
|
||||
```spoiler-block:
|
||||
TODO
|
||||
a) A
|
||||
b) 3
|
||||
c) 1
|
||||
```
|
||||
|
||||
@@ -14,5 +14,5 @@ Genom vilka av följande strukturer kommer bilden av det vi ser att passera ?
|
||||
- F: Pupillen
|
||||
|
||||
```spoiler-block:
|
||||
TODO
|
||||
C, E och F
|
||||
```
|
||||
|
||||
@@ -16,5 +16,5 @@ Vilka 2 av nedanstående påståenden är korrekta? (1p)
|
||||
- D: Stavar och tappar sitter djupt i retina, nära choroidea och dess blodkärl
|
||||
|
||||
```spoiler-block:
|
||||
TODO
|
||||
C och D
|
||||
```
|
||||
|
||||
@@ -4,12 +4,17 @@ date: 2023-05-31
|
||||
---
|
||||
Ordna lagren i hornhinnan genom att ange siffror. Börja med utsidan (den mest anteriora strukturen) som då får siffran "1"
|
||||
(1p för alla rätt, inga delpoäng)
|
||||
Stroma
|
||||
Flerskiktat oförhornat skivepitel
|
||||
5 endotel
|
||||
Bowmans membran
|
||||
Descements membran
|
||||
|
||||
- a) Stroma (1...5)
|
||||
- b) Flerskiktat oförhornat skivepitel (1...5)
|
||||
- c) 5 endotel (1...5)
|
||||
- d) Bowmans membran (1...5)
|
||||
- e) Descements membran (1...5)
|
||||
|
||||
```spoiler-block:
|
||||
TODO
|
||||
a) 3
|
||||
b) 1
|
||||
c) 5
|
||||
d) 2
|
||||
e) 4
|
||||
```
|
||||
|
||||
@@ -11,5 +11,5 @@ Vilka två påståenden stämmer om de bipolära neuronen i retina? (1p)
|
||||
- D: Axonerna för signalen in till CNS
|
||||
|
||||
```spoiler-block:
|
||||
TODO
|
||||
A och C
|
||||
```
|
||||
|
||||
@@ -12,27 +12,16 @@ date: 2023-05-31
|
||||
![[image-40.png]]
|
||||
Ögat indelas i tre lager, och bilden visar dessa lager i den bakre delen av ögat (A-C).
|
||||
|
||||
a) Om man följer respektive lager mot den anteriora (främre) delen av ögat övergår dessa i olika
|
||||
strukturer. Vilka? Svara på frågorna genom att välja det rätta/bästa alternativet för varje lager:
|
||||
Lager A kommer att övergå i epitel
|
||||
- epitel
|
||||
- hornhinna
|
||||
- ciliarkropp
|
||||
- iris
|
||||
Lager B kommer att övergå i iris
|
||||
- conjunctiva
|
||||
- hornhinna
|
||||
- iris
|
||||
- epitel
|
||||
Lager C kommer att övergå i Hornhinna
|
||||
- epitel
|
||||
- iris
|
||||
- Hornhinna
|
||||
- ciliarkropp
|
||||
|
||||
b) I vilket lager finns muskulatur?
|
||||
Om man följer respektive lager mot den anteriora (främre) delen av ögat övergår dessa i olika strukturer. Vilka? Svara på frågorna genom att välja det rätta/bästa alternativet för varje lager:
|
||||
a) Lager A kommer att övergå i (epitel, hornhinna, ciliarkropp, iris)
|
||||
b) Lager B kommer att övergå i (iris, conjunctiva, hornhinna, iris, epitel)
|
||||
c) Lager C kommer att övergå i Hornhinna (epitel, iris, Hornhinna, ciliarkropp)
|
||||
d) I vilket lager finns muskulatur? (A, B, C)
|
||||
(0,25p per rätt svar, totalt 1 p)
|
||||
|
||||
```spoiler-block:
|
||||
TODO
|
||||
a) epitel
|
||||
b) iris
|
||||
c) Hornhinna
|
||||
d) B
|
||||
```
|
||||
|
||||
@@ -14,5 +14,5 @@ Genom vilka av följande strukturer i örat kommer ljudvågen att passera?
|
||||
- F: Membrana tympani
|
||||
|
||||
```spoiler-block:
|
||||
TODO
|
||||
A, B, C, E och F
|
||||
```
|
||||
|
||||
@@ -16,5 +16,5 @@ Vilka två av nedanstående påståenden är korrekta? (1p)
|
||||
- D: Stigbygeln fäster mot runda fönstret och sätter det i gungning
|
||||
|
||||
```spoiler-block:
|
||||
TODO
|
||||
A och C
|
||||
```
|
||||
|
||||
@@ -3,11 +3,20 @@ tags: [ah2, provfråga, frågetyp/matching, anatomi, öra]
|
||||
date: 2023-05-31
|
||||
---
|
||||
Innerörat är viktigt för balans och registrerar olika rörelser. Nedan listas olika strukturer i balansorganet. Vilka av nedan strukturer är förknippad med att registrera linjär acceleration, respektive huvudrotation?
|
||||
(alla rätt ger 1p inga delpoäng) huvudrotation linjär acceleration
|
||||
(alla rätt ger 1p inga delpoäng)
|
||||
|
||||
- a) Otolitmembran
|
||||
- b) Båggångar
|
||||
- c) christa ampullaris
|
||||
- d) sacculus och utriculus
|
||||
|
||||
- huvudrotation
|
||||
- linjär acceleration
|
||||
|
||||
Otolitmembran
|
||||
Båggångar christa ampullaris sacculus och utriculus
|
||||
|
||||
```spoiler-block:
|
||||
TODO
|
||||
a) linjär acceleration
|
||||
b) huvudrotation
|
||||
c) huvudrotation
|
||||
d) linjär acceleration
|
||||
```
|
||||
|
||||
@@ -10,11 +10,11 @@ date: 2023-05-31
|
||||
![[image-44.png]]
|
||||
Vilken bokstav pekar på:
|
||||
|
||||
a) hud som även har en typ av apokrina körtlar
|
||||
|
||||
b) hud utan hår och körtlar
|
||||
a) hud som även har en typ av apokrina körtlar (A, B, C, D)
|
||||
b) hud utan hår och körtlar (A, B, C, D)
|
||||
(1 poäng för båda rätt)
|
||||
|
||||
```spoiler-block:
|
||||
TODO
|
||||
a) C
|
||||
b) D
|
||||
```
|
||||
|
||||
@@ -12,12 +12,11 @@ date: 2023-05-31
|
||||
![[image-45.png]]
|
||||
Bilden visar det cortiska organet.
|
||||
|
||||
a) Vilken bokstav pekar på en cell som aktiverar de bipolära neuronen?
|
||||
|
||||
b) Vilken bokstav pekar på den struktur som aktivt pumpar K -joner in i scala media?
|
||||
+ A
|
||||
a) Vilken bokstav pekar på en cell som aktiverar de bipolära neuronen? (A..I)
|
||||
b) Vilken bokstav pekar på den struktur som aktivt pumpar K -joner in i scala media? (A..I)
|
||||
(0,5p per rätt svar, totalt 1p)
|
||||
|
||||
```spoiler-block:
|
||||
TODO
|
||||
a) E
|
||||
b) A
|
||||
```
|
||||
|
||||
@@ -3,11 +3,14 @@ tags: [ah2, provfråga, frågetyp/matching, anatomi]
|
||||
date: 2023-05-31
|
||||
---
|
||||
**Matcha rätt funktion med rätt anatomisk struktur.**
|
||||
- (alla rätt ger 1 poäng, inga delpoäng)
|
||||
- Balans och koordination
|
||||
- Relästation för cerebral afferens
|
||||
- Motorik (ex initiering av rörelser) Reflexcentra
|
||||
- Ansiktsmuskler nedre motorneuron
|
||||
(alla rätt ger 1 poäng, inga delpoäng)
|
||||
|
||||
- a) Balans och koordination
|
||||
- b) Relästation för cerebral afferens
|
||||
- c) Motorik (ex initiering av rörelser)
|
||||
- d) Reflexcentra
|
||||
- e) Ansiktsmuskler nedre motorneuron
|
||||
|
||||
- Kranialnervskärnor
|
||||
- Cerebellum
|
||||
- Basala kärnorna
|
||||
@@ -15,5 +18,9 @@ date: 2023-05-31
|
||||
- Formatio reticularis
|
||||
|
||||
```spoiler-block:
|
||||
TODO
|
||||
a) Cerebellum
|
||||
b) Thalamus
|
||||
c) Basala kärnorna
|
||||
d) Formatio reticularis
|
||||
e) Kranialnervskärnor
|
||||
```
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
| 2022-01-15 | ✅ | ✅ | ✅ | | ✅ | ✅ | |
|
||||
| 2022-06-01 | ✅ | ✅ | ✅ | | ✅ | ✅ | |
|
||||
| 2023-01-11 | ✅ | ✅ | ✅ | | ✅ | ✅ | |
|
||||
| 2023-05-31 | ✅ | ✅ | ✅ | | ✅ | | |
|
||||
| 2023-05-31 | ✅ | ✅ | ✅ | | ✅ | ✅ | |
|
||||
| 2024-01-10 | ✅ | ✅ | ✅ | | ✅ | | |
|
||||
| 2024-05-29 | ✅ | ✅ | ✅ | | ✅ | | |
|
||||
| 2025-01-15 | ✅ | ✅ | ✅ | | ✅ | | |
|
||||
|
||||
BIN
quiz/db.sqlite3
BIN
quiz/db.sqlite3
Binary file not shown.
Binary file not shown.
Binary file not shown.
15
quiz/parse-markdown.py
Normal file
15
quiz/parse-markdown.py
Normal file
@@ -0,0 +1,15 @@
|
||||
import pathlib
|
||||
|
||||
import mistune
|
||||
markdown = mistune.create_markdown(renderer=None)
|
||||
|
||||
root = pathlib.Path(__file__).parent.parent
|
||||
exams = root / "content" / "Anatomi & Histologi 2" / "Gamla tentor"
|
||||
print(exams.absolute())
|
||||
for file in sorted(exams.glob("*/*.md")):
|
||||
if len(file.stem) > 2:
|
||||
continue
|
||||
print(f"Parsing {file}")
|
||||
tokens = markdown(file.read_text(encoding="utf-8"))
|
||||
import pprint
|
||||
pprint.pprint(tokens)
|
||||
@@ -13,6 +13,11 @@ def close_quiz(request, session_id):
|
||||
session = get_object_or_404(QuizSession, id=session_id, user=request.quiz_user)
|
||||
session.is_active = False
|
||||
session.save()
|
||||
|
||||
# If it's an HTMX request, return empty response (card will be removed)
|
||||
if request.headers.get('HX-Request'):
|
||||
return HttpResponse('')
|
||||
|
||||
return redirect('index')
|
||||
|
||||
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
</div>
|
||||
|
||||
{% for session in active_sessions %}
|
||||
<div class="active-session-card">
|
||||
<div class="active-session-card" id="session-{{ session.id }}">
|
||||
<div style="display: flex; justify-content: space-between; align-items: start; margin-bottom: 1rem;">
|
||||
<div>
|
||||
<span class="session-badge">
|
||||
@@ -214,7 +214,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<form action="{% url 'close_quiz' session.id %}" method="post" hx-post="{% url 'close_quiz' session.id %}"
|
||||
hx-target=".active-session-card" hx-swap="outerHTML">
|
||||
hx-target="#session-{{ session.id }}" hx-swap="outerHTML">
|
||||
{% csrf_token %}
|
||||
<button type="submit" class="btn btn-secondary" style="padding: 0.5rem 1rem; font-size: 0.875rem;">
|
||||
✕ Stäng
|
||||
|
||||
@@ -53,6 +53,13 @@
|
||||
.matching-table .radio-cell {
|
||||
width: 60px;
|
||||
background: white;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
|
||||
.matching-table .radio-cell:hover:not(.diagonal-block) {
|
||||
background: #f0f4ff;
|
||||
border-color: var(--primary);
|
||||
}
|
||||
|
||||
.matching-table .diagonal-block {
|
||||
@@ -114,11 +121,12 @@
|
||||
<strong>{{ forloop.counter }}.</strong> {{ left_item }}
|
||||
</td>
|
||||
{% for top_item in question.matching_data.top_items %}
|
||||
<td class="radio-cell">
|
||||
<td class="radio-cell" data-left="{{ forloop.parentloop.counter0 }}" data-top="{{ forloop.counter0 }}">
|
||||
{% if forloop.parentloop.counter0 != forloop.counter0 %}
|
||||
<input type="radio" name="match-{{ forloop.parentloop.counter0 }}" value="{{ forloop.counter0 }}"
|
||||
data-left="{{ forloop.parentloop.counter0 }}" data-top="{{ forloop.counter0 }}"
|
||||
id="radio-{{ forloop.parentloop.counter0 }}-{{ forloop.counter0 }}">
|
||||
id="radio-{{ forloop.parentloop.counter0 }}-{{ forloop.counter0 }}"
|
||||
style="pointer-events: none;">
|
||||
{% else %}
|
||||
<!-- Diagonal - no radio button -->
|
||||
<span class="diagonal-block">—</span>
|
||||
@@ -129,15 +137,6 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="top-items-legend">
|
||||
<h4>Kolumnalternativ:</h4>
|
||||
{% for top_item in question.matching_data.top_items %}
|
||||
<div class="top-item-label">
|
||||
<strong>{{ forloop.counter }}.</strong> {{ top_item }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
@@ -146,6 +145,26 @@
|
||||
const quizContent = document.getElementById('quiz-content');
|
||||
if (!quizContent) return;
|
||||
|
||||
// Handle clicks on table cells to select radio buttons
|
||||
quizContent.addEventListener('click', (e) => {
|
||||
const cell = e.target.closest('.radio-cell');
|
||||
if (!cell) return;
|
||||
|
||||
// Don't do anything for diagonal cells
|
||||
if (cell.querySelector('.diagonal-block')) return;
|
||||
|
||||
const leftIdx = cell.dataset.left;
|
||||
const topIdx = cell.dataset.top;
|
||||
|
||||
if (leftIdx !== undefined && topIdx !== undefined) {
|
||||
const radio = document.getElementById('radio-' + leftIdx + '-' + topIdx);
|
||||
if (radio) {
|
||||
radio.checked = true;
|
||||
saveMatchingAnswer();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
quizContent.addEventListener('change', (e) => {
|
||||
if (e.target.type === 'radio' && e.target.dataset.left) {
|
||||
saveMatchingAnswer();
|
||||
|
||||
@@ -10,12 +10,12 @@
|
||||
|
||||
<div class="options-container">
|
||||
{% for option in question.options.all %}
|
||||
<div class="option-item" id="option-{{ option.letter }}" data-letter="{{ option.letter }}">
|
||||
<div class="option-item" id="option-{{ option.letter }}" data-letter="{{ option.letter }}" style="cursor: pointer;">
|
||||
<input type="checkbox" id="checkbox-{{ option.letter }}" value="{{ option.letter }}"
|
||||
data-letter="{{ option.letter }}"
|
||||
style="margin-right: 0.5rem; width: 1.2rem; height: 1.2rem; cursor: pointer;">
|
||||
<span class="option-letter">{{ option.letter }}</span>
|
||||
<span>{{ option.text }}</span>
|
||||
style="margin-right: 0.5rem; width: 1.2rem; height: 1.2rem; cursor: pointer; pointer-events: auto;">
|
||||
<span class="option-letter" style="pointer-events: none;">{{ option.letter }}</span>
|
||||
<span style="pointer-events: none;">{{ option.text }}</span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
@@ -39,7 +39,7 @@
|
||||
// Handle checkbox changes (direct checkbox clicks or programmatic changes)
|
||||
container?.addEventListener('change', (e) => {
|
||||
if (e.target.type === 'checkbox') {
|
||||
const letter = e.target.dataset.letter;
|
||||
const { letter } = e.target.dataset;
|
||||
if (letter) updateSelection(letter);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user