latin/README.md
2021-10-17 13:48:42 +02:00

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:

  1. check given words in the wiktionairy, so I could see IPA, meaning, declinations etc. next to the text,
  2. 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 of data-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

You may want to know docker run -p 3200:5000 latin ..

To update docker image:

  1. Go to /etc/docker-compose/latin and run docker-compose build.
  2. Run systemctl restart docker-compose@latin.