1.9 KiB
About
As I've started learning Latin from Lingua Latina Per Se Illustrata I've encourtered the urge for Duolingo-like interface allowing me to:
- check given words in the wiktionairy, so I could see IPA, meaning, declinations etc. next to the text,
- perform the Pensa so that I could see the mistakes I've made.
So far I've managed to create cloze tasks for Pensa and Exercitia for the first 10 chapters. User can input the answers with or without macrons.
Parsers
Text to Cloze
text2pensum_cloze.py
takes text file as an input and generates HTML from it. Marking is as follows:
- all vowel-dash-vowel combinations (
i-i
) are transformed into a long vowel marked with macron (ī
) - underscore-string-underscore combinations (
_us_
) are transformed into requiered html text input field with string between underscores as a value ofdata-expected
atribute (<input type="text" data-expected="us">
).
text2exercitium_cloze.py
takes text file as an input and generates HTML from it according to the rules described above. Additionaly, the first line of the text file contains expresions separated with |
based on which user should fill the input fields (sometimes declination of conjugation is necessary). Text files contains the lines (separated with \n
), which are processed into a list.
TODO
- text to html parser to swiftly migrate the cloze Pensa
- dictionairy interface
- sync performing Pensa with doneth.at
Development
To run the app on your own machine run pipenv install
to install requested packages based on the Pipfile and then run pipenv shell 'gunicorn --bind 0.0.0.0:5000 app:app'
or flask run
.
Docker-compose
When in directory with Dockerfile
run docker run -p 3200:5000 latin .
.
To update docker image:
- Go to
/etc/docker-compose/latin
and rundocker-compose build
. - Run
systemctl restart docker-compose@latin
.