Skip to content

Rework JS runtime...

Frederic Zinelli a demandé de fusionner js-runtime-rework vers main

Closes #55 (closed)


Python:

  • documentation ici et là
  • Amélioration de l'interface de Ide.create_button(...)
  • Déplacement de la déclaration des HtmlClass dans le fichier des constantes (c'est spécifique au projet!) + ajout d'une classe Prefix + définition de toutes les classes et id utilisées dans le projet via ces deux classes (HtmlClass+Prefix), afin de trouver en un seul endroit toutes les définitions utilisées à travers le projet.
  • passage en python 3.8
  • MAJ de la macro de recherche, pour une meilleur gestion de la compatibilité linux/windows (Path.match au lieu de chunk in str)
  • Ajout d'un argument terminal(SIZE=n_lines) + modif de macro_IDE pour utiliser la même logique
  • FIX: suppression des leading et trailing new lines dans les codes des éditeurs
  • réintroduction + FIX de la macro IDEv. Pour l'instant, le formatage en hauteur n'est pas idéal... Comme l'outil n'est jamais utilisé, je me suis contenté de forcer la hauteur de l'éditeur et du terminal à toujours prendre la hauteur maximale autorisée. ça permet d'avoir le contenu de la console et du terminal qui ne débordent jamais:
    image

JS:

  • Le lancement de l’environnement pyodide a été déplacé de manière à ce que les pages qui n’en ont pas besoin ne bloquent pas pour rien pdt 10s (accueuil / recherche…)
  • Ajout de lodash (via cdn) dans la partie JS (pour _.debounce)
  • Sépare le code des terminaux du reste du runtime (js + css)
  • active tous les terminaux isolés dès le lancement de la page, en évitant les problèmes de focus
  • Le runtime ne redimensionne plus les terminaux après leur création (ils ont une taille fixe, pour le moment)
  • Réorganisation complète des fichiers du thème, pour commencer à faire apparaître les éléments indépendamment les uns des autres (IDE / runtime / qcm / ...).
  • refonte de la structure+présentation des éléments des IDEs (bouton de commentaires, alignements/groupement des éléments au niveau du html)
  • Modification des règles pour les tailles de caractères dans les <code> (avec em. Cette fois ça semble bon...)
  • Ajout d'un légère bordure autour des éléments code, de manière à les rendre plus lisibles (light+dark modes). A voir si la règle n'est pas trop générale (mkdocs_theme_pyodide/pyodide-mkdocs/z_insertLast_pyoditeur-extrahead.css -> .md-typeset code, .md-typeset pre code, .md-typeset .linenos)
    image
  • Dans les éditeurs:
    • activation des "soft tabs" => tab n'insère plus des tabulations, mais 4 espaces à la place
    • désactivation des suggestions automatique à la frappe (autocomplétion). Les suggestions restent accessibles avec ctrl/cmd+espace
    • MAJ ace v1.12.1 -> v1.32.7
    • homogénéisation des tailles de caractères dans la page (textes, codes blocks, code spans, ace editor, terminal).
      Nota: on a un problème de présentation entre les blocs de code et l'éditeur (couleurs):
      image
      (ne pas tenir compte du formatage des <code> au milieu (outdated))
Modification effectuée par Frederic Zinelli

Rapports de requête de fusion