diff --git a/app/routes.py b/app/routes.py index b189151..f2fa784 100644 --- a/app/routes.py +++ b/app/routes.py @@ -17,9 +17,9 @@ def llpsi(): @app.route('/latin/llpsi/') def pensum(pensum_id): - filename = 'templates/Pensa/' + pensum_id + '.html' + filename = 'app/templates/Pensa/' + pensum_id + '.html' with open(filename, 'r') as file: - return render_template('LLPSI/Pensum_cloze.html', pensum_content=file.read()) + return render_template('LLPSI/Pensum_cloze.html', pensum_title=pensum_id.replace('_', ' '), pensum_content=file.read()) @app.route('/latin/coniugationes') def coniugationes(): diff --git a/app/templates/LLPSI/LLPSI.html b/app/templates/LLPSI/LLPSI.html index 6f6660b..6ab824c 100644 --- a/app/templates/LLPSI/LLPSI.html +++ b/app/templates/LLPSI/LLPSI.html @@ -3,12 +3,41 @@ Lingua Latina Per Se Illustrata + -

Lingua Latina Per Se Illustrata


-

Imperium Romanum


- Pensum A -

Dominus et servi


- Pensum A +

Lingua Latina Per Se Illustrata

+ \ No newline at end of file diff --git a/app/templates/LLPSI/Pensum_cloze.html b/app/templates/LLPSI/Pensum_cloze.html index 45d3613..81f1d97 100644 --- a/app/templates/LLPSI/Pensum_cloze.html +++ b/app/templates/LLPSI/Pensum_cloze.html @@ -11,7 +11,8 @@ console.log('dupa'); Array.from(form.elements).forEach((input) => { if (input.type=="text") { - input.setAttribute("size", input.dataset.expected.length + 1); + console.log(input.dataset.expected.length) + input.setAttribute("style", input.getAttribute("style") + "; width: " + input.dataset.expected.length + "em"); } }); } @@ -43,11 +44,11 @@ is_double_ok = (input_to_macron(input.value) == input.dataset.expected); is_macron_ok = (input.value == input.dataset.expected); if (input.type=="text" && !(is_double_ok || is_macron_ok)) { - input.setAttribute("style", "border-color:red"); + input.setAttribute("style", input.getAttribute("style") + "; border-color:red"); console.log('expected: ' + input.dataset.expected); console.log('input: ' + input_to_macron(input.value)); } else if (input.type=="text") { - input.setAttribute("style", "border-color:green"); + input.setAttribute("style", input.getAttribute("style") + "; border-color:green"); } }); @@ -56,10 +57,12 @@ +

Lingua Latina Per Se Illustrata

+

{{pensum_title}}

{{pensum_content|safe}}
- +
diff --git a/app/templates/Pensa/01_Imperium_Romanum_Pensum_A.html b/app/templates/Pensa/01_Imperium_Romanum_Pensum_A.html index f6e4fb4..103e332 100644 --- a/app/templates/Pensa/01_Imperium_Romanum_Pensum_A.html +++ b/app/templates/Pensa/01_Imperium_Romanum_Pensum_A.html @@ -1 +1,4 @@ -Nīlus fluvi est. Nīlus et Rhēnus fluvi . Crēta īnsul . Crēta et Rhodus īnsul sunt. Brundisium oppid . Brundisium et Tūsculum oppid sunt. \ No newline at end of file +Nīlus fluvi est. Nīlus et Rhēnus fluvi . Crēta īnsul . Crēta et Rhodus īnsul sunt. Brundisium oppid . Brundisium et Tūsculum oppid .
+Rhenus fluvi magn est. Tiberis est fluvi parv. Rhenus et Danuvius non fluvi parv, sed fluvi magn sunt. Sardinia insul magn est. Melita insul parv est. Sardinia et Sicilia non insul parv, sed insul magn sunt. Brundisium non oppid parv, sed oppid magn est. Tusculum et Delphi non oppid magn, sed oppid parv sunt.
+Creta insul Graec est. Lesbos et Chios et Naxus sunt insul Graec. In Graecia mult insul sunt. In Gallia sunt mult fluvi. In Italia mult oppid sunt. In Arabia sunt pauc fluvi et pauc oppid.
+A et B litter Latin sunt. C quoque litter Latin est. Multi et pauci vocabul Latin sunt. Ubi quoque vocabul Latin est. I et II numer Roman sunt. III quoque numer Roman est. \ No newline at end of file diff --git a/app/templates/Pensa/01_Imperium_Romanum_Pensum_B.html b/app/templates/Pensa/01_Imperium_Romanum_Pensum_B.html new file mode 100644 index 0000000..82d0fe6 --- /dev/null +++ b/app/templates/Pensa/01_Imperium_Romanum_Pensum_B.html @@ -0,0 +1,2 @@ +Sicilia est. Italia insula est. Rhenus est. Brundisium est. Sicilia et Sardinia magnae sunt. Melita insula est. Britannia non parva, sed est. Brundisium non , sed magnum est. Est Brundisium in Graecia? Brundisium est in Graecia, in Italia. est Sparta? Sparta est in Graecia. Sparta oppidum est. Delphi oppidum Graecum est. Euboea, Naxus, Lesbos, Chios Graecae sunt. In Graecia sunt insulae. +Quid est III? III est. Quid est A? A littera est. A, B, C Latinae sunt. Γ littera Latina est? Γ littera , sed littera est. Insula Latinum est. \ No newline at end of file diff --git a/app/templates/Pensa/02_Familia_Romana_Pensum_A.html b/app/templates/Pensa/02_Familia_Romana_Pensum_A.html new file mode 100644 index 0000000..bc9593f --- /dev/null +++ b/app/templates/Pensa/02_Familia_Romana_Pensum_A.html @@ -0,0 +1,3 @@ +Marcus fili Iulii est. Iulia fili Iulii est. Iulius est vir Roman. Aemilia femin Roman est. Iulius domin, Aemilia domin est. Medus serv Graec est, Delia est ancill Graec. Sparta oppid Graec est. +Iulius pater Marc est. Marcus est filius Iuli et Aemili. Medus servus Iuli est: Iulius est dominus serv. Iulius dominus Med et Dav est: Iulius dominus serv est. Numerus serv magnus est. Delia est ancilla Aemili: Aemilia domina ancill est. Aemilia domina Deli et Syr est: Aemilia domina ancill est. In familia Iuli est magnus numerus serv et ancill. Aemilia mater Marc et Quint et Iuli est. Marcus, Quintus Iuliaque sunt liberi Iuli et Aemili. Numerus liber est tres. Numerus serv est centum. +In pagina prima capitul secund multa vocabula nova sunt. Numerus capitul non parvus est. \ No newline at end of file diff --git a/app/templates/Pensa/02_Familia_Romana_Pensum_B.html b/app/templates/Pensa/02_Familia_Romana_Pensum_B.html new file mode 100644 index 0000000..c22b9a2 --- /dev/null +++ b/app/templates/Pensa/02_Familia_Romana_Pensum_B.html @@ -0,0 +1,4 @@ +Marcus Romanus est. Iulius Romanus est. Aemilia est Romana. Iulius est Marci et Quinti et Iuliae. In Iulii sunt tres : duo et una . liberorum est Aemilia.
+ est Davus? Davus est Iulii. Iulius Davi est. est Syra? Syra Aemiliae est. Aemilia est Syrae.
+Cornelius: “ servi sunt in familia tua?” Iulius: “In familia sunt [C] servi.” Cornelius: “Familia magna est!”
+‘LINGVA LATINA’ est titulus tui Latini. \ No newline at end of file diff --git a/app/templates/Pensa/03_Puer_Improbus_Pensum_A.html b/app/templates/Pensa/03_Puer_Improbus_Pensum_A.html new file mode 100644 index 0000000..2fbd855 --- /dev/null +++ b/app/templates/Pensa/03_Puer_Improbus_Pensum_A.html @@ -0,0 +1,2 @@ +Cur Marc Iuliam pulsat? Marcus Iuli pulsat, quia Iuli cantat. Iuli plor, quia Marcus e pulsat. Iulia: “Mamma! Marcus pulsat.” Aemilia puell aud et ven. Mater Quint videt et e interrog: “Quis me voc?” Quint respond: “Iulia vocat.”
+Iulius dorm. Quintus Iuli voc: “Pater!” Marcus rid, quia Iuli non venit. Aemilia Marc verber. Iulius ven, quia Marc plorat. Iulius Aemili et Marc et Quint et Iuli videt. Iulius: “Puer qui parv puell pulsat improbus est.” Iulius puer improb verberat. Quem Iuli verberat? Puer qu Iulius verberat est Marcus. Marcus plor. Puer qu plorat laet non est. Puella qu cantat laet est. \ No newline at end of file diff --git a/app/templates/Pensa/03_Puer_Improbus_Pensum_B.html b/app/templates/Pensa/03_Puer_Improbus_Pensum_B.html new file mode 100644 index 0000000..0496cb3 --- /dev/null +++ b/app/templates/Pensa/03_Puer_Improbus_Pensum_B.html @@ -0,0 +1 @@ +Puella : “Lalla.” Puella cantat est Iulia. Iulia est. Puer improbus puellam . Puella : “Uhuhu!” Puer : “Hahahae!” Puer ridet est Marcus. Iulia Aemiliam : “Mamma!” Aemilia , et Quintum : “Cur Iulia plorat?” Quintus : “Iulia plorat, Marcus eam pulsat.” Aemilia: “Marcus puer non est, puer est! Ubi est pater?” Aemilia Iulium non . Quintus: “Pater non est.” Quintus Iulium : “Pater!” Iulius Quintum non . Iulius Quintum non audit? Iulius eum non audit, quia . Marcus plorat, Aemilia eum verberat. Iulius Marcum audit; Iulius non dormit. Aemilia verberat? Aemilia Marcum . Puer Aemilia verberat improbus est. Iulia laeta non est ridet. \ No newline at end of file diff --git a/app/templates/Pensa/04_Dominus_et_Servi_Pensum_A.html b/app/templates/Pensa/04_Dominus_et_Servi_Pensum_A.html index b31929b..b7e06ce 100644 --- a/app/templates/Pensa/04_Dominus_et_Servi_Pensum_A.html +++ b/app/templates/Pensa/04_Dominus_et_Servi_Pensum_A.html @@ -1 +1 @@ -Mēdus ad. Dāvus ab. Iūlius imper: "Voc Dāvum, Mēd!" Mēdus Dāvum voc: "Dāv! Ven!" Dāvus ven neque Iūlium vid. Mēdus: "Salūt dominum!" Dāvus dominum salūt: "Salvē, dominē! Quid est?" Dominus: "Tac, serv! Nummī meī ubi sunt?" Servus tac neque respond. Iūlius: "Respond!" Dāvus: "Interrog Mēdum!" Iūlius Mēdum interrog: "Ubi est " \ No newline at end of file +Mēdus ad. Dāvus ab. Iūlius imper: "Voc Dāvum, Mēd!" Mēdus Dāvum voc: "Dāv! Ven!" Dāvus ven neque Iūlium vid. Mēdus: "Salūt dominum!" Dāvus dominum salūt: "Salvē, dominē! Quid est?" Dominus: "Tac, serv! Nummī meī ubi sunt?" Servus tac neque respond. Iūlius: "Respond!" Dāvus: "Interrog Mēdum!" Iūlius Mēdum interrog: "Ubi est pecūnia mea, Mēd?" Mēdus: "Dāvus pecūniam tuam hab." Iūlius: "Pōn sacculum tuum in mēnsā, Dāv!" Dāvus pār: sacculum suum in mēnsā pōn. Dāvus: "Vid, domin: sacculus meus vacuus est." Iūlius: "Sūm sacculum tuum et discēd, bon serv!" Dāvus sacculum suum sūm et discēd. \ No newline at end of file diff --git a/app/templates/Pensa/04_Dominus_et_Servi_Pensum_B.html b/app/templates/Pensa/04_Dominus_et_Servi_Pensum_B.html new file mode 100644 index 0000000..52aa3ca --- /dev/null +++ b/app/templates/Pensa/04_Dominus_et_Servi_Pensum_B.html @@ -0,0 +1,4 @@ +In sacculō Iūliī est. Iūlius pecūniam : "Ūnus, duo, trēs, , , sex, , , , ." In nōn centum, sed decem nummī sunt.
+Dāvus dominum : "Salvē, domine!" Iūlius : "Pōne sacculum tuum in !" Dāvus sacculum in mēnsā . Sacculus Davi est, in sacculo [: Davi] pecunia est. Davus sacculum suum et discedit. +Iulius: “Mede! Veni!” Medus non venit, quia [: Medus] pecuniam Iulii . Iulius baculum, in mensa est, sumit et . +Dominus imperat, bonus servus . \ No newline at end of file diff --git a/app/templates/Pensa/05_Villa_et_Hortus_Pensum_A.html b/app/templates/Pensa/05_Villa_et_Hortus_Pensum_A.html new file mode 100644 index 0000000..1205da7 --- /dev/null +++ b/app/templates/Pensa/05_Villa_et_Hortus_Pensum_A.html @@ -0,0 +1,2 @@ +Iulius et Aemilia in vill habit cum liber et serv. Dominus mult serv et mult ancill habet.
+Aemilia in peristÿl est cum Marc et Quint et Iuli. Iulia mult ros in hort vid et ab Aemili disced. Iam Aemilia puell non vid, neque pueri eam vid. Aemilia: “Marce et Quinte! Voc Iuliam!” Pueri Iuli voc: “Iulia! Ven!” et Iulia puer voc: “Marce et Quinte! Ven!” Iulia pueros non aud, sed pueri Iuli aud. Iulia: “Cur pueri non ven?” Iulia ex hort venit cum V ros pulchr. Iulia: “Vid ros meas, mater! Vid, pueri!” Marcus: “Rosae pulchrae sunt, puella sine ros pulchra non est!” Iulia cum un ros disced. Pueri rid. Aemilia: “Tac, pueri! Sum ros et disced!” Pueri ros sum et disced; in atri aqu sum ex impluvi et ros in aqu pon. \ No newline at end of file diff --git a/app/templates/Pensa/05_Villa_et_Hortus_Pensum_B.html b/app/templates/Pensa/05_Villa_et_Hortus_Pensum_B.html new file mode 100644 index 0000000..41e604a --- /dev/null +++ b/app/templates/Pensa/05_Villa_et_Hortus_Pensum_B.html @@ -0,0 +1,3 @@ +Iulius in magna . Aemilia cum [:Iulio] habitat. Iulius Aemiliam , quia [: Aemilia] bona et femina est. +Aemilia in peristÿlo est liberis suis, sed viro suo. Iulia Aemilia discedit; iam puella in est. Iulia rosas et horto venit cum V . Puella laeta est: rosae eam . +Ubi est impluvium? [: impluvium] est in . In impluvio est. In atrio nullae sunt. \ No newline at end of file diff --git a/text2pensum.py b/text2pensum.py index b387ae7..a7c58a4 100644 --- a/text2pensum.py +++ b/text2pensum.py @@ -7,7 +7,8 @@ for filename in sys.argv[1:]: # Replace _string_ with html html_head = '' + # html_tail = '" required/>' + html_tail = '" style="border: none; border-bottom: 1px solid black" />' content = re.sub(r'_([a-zA-Z\-]+)_', html_head+r'\1'+html_tail, content) # Replace vowel-dash-vowel with vowels with macrons