Skip to content

feat: Implement coding exercises category and utilize Codemirror as the code editor#141

Open
mgiannopoulos24 wants to merge 8 commits intogunet:masterfrom
mgiannopoulos24:feat/coding-exercises
Open

feat: Implement coding exercises category and utilize Codemirror as the code editor#141
mgiannopoulos24 wants to merge 8 commits intogunet:masterfrom
mgiannopoulos24:feat/coding-exercises

Conversation

@mgiannopoulos24
Copy link
Copy Markdown
Contributor

@mgiannopoulos24 mgiannopoulos24 commented Feb 12, 2026

Περιγραφή

Το PR προσθέτει την επιλογή μια άσκηση ελεύθερου κειμένου να γίνει πλέον και άσκηση κώδικα, κάτι που σημαίνει ότι αντί για τον TinyMCE, θα φορτώνεται ο Codemirror editor. Επίσης έγινε μια μικρή διόρθωση στο styling του LaTeX plugin ώστε να είναι μεγαλύτερα τα εικονίδια και να υπάρχουν 8 σύμβολα ανά σειρά.


Issues

Closes #139.


Αλλαγές σε αρχεία

Plugin LaTeX helper

  • dialog.css: Διόρθωση στο grid template
  • latex_codes.js: Διόρθωση προβληματικών συμβόλων

JS

  • js/build/build.php: Προσθήκη build instruction για το πακέτο του codemirror.

Include

  • include/main_lib.php: Φόρτωση του codemirror.

Lang

  • lang/*/messages.inc.php (el, en): Νέες μεταφράσεις για τις 2 συμβολοσειρές που προστέθηκαν.

Modules

  • FreeTextAnswer.php: Προσθήκη συνθήκης για να γίνει render το codemirror textarea.
  • code_exercise_languages.inc.php: Ένα αρχείο το οποίο αντιστοιχίζει την επιλεγμένη γλώσσα της προγραμματιστικής άσκησης, με το αντίστοιχο codemirror mode αρχείο της γλώσσας. Αυτά τα αρχεία είναι υπεύθυνα για τον χρωματισμό των keywords.
  • statement_admin.inc.php: Κάνει render το checkbox ώστε ο εκπαιδευτής να κάνει την άσκηση μια προγραμματιστική άσκηση.
  • exercise_submit.php: HTML για τον codemirror. (Στο μέλλον θα μπορούσε να μπει και κάποιο customization από τους χρήστες, π.χ. font size, tab indent).

Showcase

  • Παλιό και νέο LaTeX plugin grid:

image

image

  • Checkbox για προγραμματιστική άσκηση, στην δημιουργία ερώτησης:

image

  • Αφού το ενεργοποιήσουμε, εμφανίζεται το dropdown με τις διαθέσιμες γλώσσες που υπάρχουν στο code_exercise_languages.inc.php.

image

  • Αφού κάποιος εκτελέσει την άσκηση, ο μαθητής θα δει το παρακάτω:

image


Σημείωση: Τα παραπάνω υλοποιήθηκαν με την έκδοση 5 του Codemirror.

@mgiannopoulos24
Copy link
Copy Markdown
Contributor Author

mgiannopoulos24 commented Feb 12, 2026

Μια ερώτηση. Χρειάζεται να ανεβάσω όλα τα αρχεία των mathjax και codemirror packages; Δεδομένου του ότι όλα τα υπόλοιπα υπάρχουν.

EDIT: Είδα πως στο .hgignore γίνονται ignore τα mathjax, videojs και κάποια άλλα πακέτα, άρα ίσως δεν χρειάζονται. Μπορώ να τα προσθέσω στο .gitignore δεδομένου ότι δουλεύω μέσω git.

@adia adia force-pushed the master branch 2 times, most recently from 84c9068 to f967968 Compare March 17, 2026 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Option «Άσκηση κώδικα» για ερωτήσεις ελεύθερου κειμένου

1 participant