pyodide-mkdocs-theme 5.4.1__tar.gz → 5.4.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/PKG-INFO +1 -1
  2. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/PMT_tools/p5/__init__.py +1 -1
  3. pyodide_mkdocs_theme-5.4.2/pyodide_mkdocs_theme/__version__.py +1 -0
  4. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/files_extractors/_inclusions_tools.py +1 -1
  5. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/files_extractors/base0_extractors.py +32 -34
  6. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/files_extractors/base1_contents_extractor.py +1 -2
  7. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/files_extractors/base2_inclusions.py +5 -2
  8. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/macros/qcm.py +26 -0
  9. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin/maestro_base.py +1 -0
  10. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin/maestro_macros.py +4 -2
  11. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/definitions/macros_configs.py +7 -0
  12. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin_tools/macros_data.py +1 -0
  13. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyproject.toml +1 -1
  14. pyodide_mkdocs_theme-5.4.1/pyodide_mkdocs_theme/__version__.py +0 -1
  15. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/LICENSE +0 -0
  16. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/README.md +0 -0
  17. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/PMT_tools/vis/__init__.py +0 -0
  18. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/PMT_tools/vis_network/__init__.py +0 -0
  19. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/__init__.py +0 -0
  20. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/__main__.py +0 -0
  21. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/basthon_p5_to_pmt.py +0 -0
  22. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/__init__.py +0 -0
  23. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/exceptions.py +0 -0
  24. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/files_extractors/__init__.py +0 -0
  25. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/files_extractors/base3_generic_extractors.py +0 -0
  26. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/files_extractors/concrete_extractors.py +0 -0
  27. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/html_builder/__init__.py +0 -0
  28. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/html_builder/_html_builder.py +0 -0
  29. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/html_dependencies/__init__.py +0 -0
  30. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/html_dependencies/deps.py +0 -0
  31. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/html_dependencies/deps_class.py +0 -0
  32. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/indent_parser.py +0 -0
  33. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/macros/IDEs.py +0 -0
  34. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/macros/__init__.py +0 -0
  35. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/macros/figure.py +0 -0
  36. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/macros/ide_ide.py +0 -0
  37. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/macros/ide_manager.py +0 -0
  38. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/macros/ide_playground.py +0 -0
  39. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/macros/ide_py_btn.py +0 -0
  40. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/macros/ide_run_macro.py +0 -0
  41. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/macros/ide_term_ide.py +0 -0
  42. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/macros/ide_terminal.py +0 -0
  43. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/macros/ide_tester.py +0 -0
  44. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/macros/py_script.py +0 -0
  45. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/messages/__init__.py +0 -0
  46. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/messages/classes.py +0 -0
  47. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/messages/de_lang.py +0 -0
  48. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/messages/en_lang.py +0 -0
  49. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/messages/fr_lang.py +0 -0
  50. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/messages/proxy.py +0 -0
  51. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/parsing.py +0 -0
  52. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/paths_utils.py +0 -0
  53. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin/__init__.py +0 -0
  54. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin/config.py +0 -0
  55. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin/maestro_contracts.py +0 -0
  56. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin/maestro_files.py +0 -0
  57. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin/maestro_indent.py +0 -0
  58. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin/maestro_meta.py +0 -0
  59. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin/maestro_templates.py +0 -0
  60. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin/pyodide_macros_plugin.py +0 -0
  61. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/__init__.py +0 -0
  62. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/_string_tools_and_constants.py +0 -0
  63. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/common_tree_src.py +0 -0
  64. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/config_option_src.py +0 -0
  65. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/definitions/__init__.py +0 -0
  66. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/definitions/docs_dirs_config.py +0 -0
  67. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/definitions/plugin_config.py +0 -0
  68. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/definitions/sub_configs.py +0 -0
  69. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/dumpers.py +0 -0
  70. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/lang_src.py +0 -0
  71. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/macro_config_src.py +0 -0
  72. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/plugin_config_src.py +0 -0
  73. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/sub_config_src.py +0 -0
  74. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin_tools/__init__.py +0 -0
  75. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin_tools/maestro_tools.py +0 -0
  76. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin_tools/options_alterations.py +0 -0
  77. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin_tools/pages_and_macros_py_configs.py +0 -0
  78. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/plugin_tools/test_cases.py +0 -0
  79. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/pyodide_logger.py +0 -0
  80. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/pyodide_macros/tools_and_constants.py +0 -0
  81. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/scripts/de/docs/exo.py +0 -0
  82. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/scripts/de/docs/index.md +0 -0
  83. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/scripts/de/mkdocs.yml +0 -0
  84. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/scripts/en/docs/exo.py +0 -0
  85. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/scripts/en/docs/index.md +0 -0
  86. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/scripts/en/mkdocs.yml +0 -0
  87. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/scripts/fr/docs/exo.py +0 -0
  88. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/scripts/fr/docs/index.md +0 -0
  89. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/scripts/fr/mkdocs.yml +0 -0
  90. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/scripts/models/.gitignore +0 -0
  91. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/scripts/models/main.py +0 -0
  92. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/scripts/models/mkdocs.yml +0 -0
  93. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/scripts/models/pyodide_plot.py +0 -0
  94. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/scripts/models/requirements.txt +0 -0
  95. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/scripts/models/toolbox.py +0 -0
  96. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/README.md +0 -0
  97. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/__init__.py +0 -0
  98. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/assets/images/.qcm-circle.svg +0 -0
  99. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/assets/images/icons8-check-64.png +0 -0
  100. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/assets/images/icons8-download-64.png +0 -0
  101. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/assets/images/icons8-play-64.png +0 -0
  102. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/assets/images/icons8-restart-64.png +0 -0
  103. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/assets/images/icons8-save-64.png +0 -0
  104. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/assets/images/icons8-step-64.png +0 -0
  105. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/assets/images/icons8-stop-64.png +0 -0
  106. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/assets/images/icons8-upload-64.png +0 -0
  107. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/assets/images/icons8-zip-64.png +0 -0
  108. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/base_pmt.html +0 -0
  109. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-libs/0-config.js +0 -0
  110. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-libs/0-legacy-subscriber.js +0 -0
  111. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-libs/functools.js +0 -0
  112. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-libs/jsLogger.js +0 -0
  113. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-libs/mathjax-libs.js +0 -0
  114. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-libs/process_and_gui.js +0 -0
  115. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-per-pages/0-generic-python-snippets-pyodide.js +0 -0
  116. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-per-pages/1-error_logs-pyodide.js +0 -0
  117. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-per-pages/1-packagesInstaller-install-pyodide.js +0 -0
  118. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-per-pages/1-runtimeManager-runtime-pyodide.js +0 -0
  119. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-per-pages/2-0-runnersManager-runners.js +0 -0
  120. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-per-pages/2-pyodideSectionsRunner-runner-pyodide.js +0 -0
  121. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-per-pages/3-btnRunner-py_btn.js +0 -0
  122. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-per-pages/3-terminalRunner-term.js +0 -0
  123. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-per-pages/4-0-idesManager-ide.js +0 -0
  124. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-per-pages/4-ideLogistic-ide.js +0 -0
  125. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-per-pages/4-ideRunner-ide.js +0 -0
  126. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-per-pages/5-ideTester-ides_test.js +0 -0
  127. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-per-pages/6-2-init-playground.js +0 -0
  128. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-per-pages/6-idePlayground-playground.js +0 -0
  129. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-per-pages/qcms-qcm.js +0 -0
  130. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-per-pages/start-pyodide.js +0 -0
  131. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-scripts/overlord.js +0 -0
  132. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/js-scripts/subscriptions.js +0 -0
  133. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/main.html +0 -0
  134. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/mkdocs_theme.yml +0 -0
  135. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/partials/content.html +0 -0
  136. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/partials/copyright.html +0 -0
  137. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/partials/footer.html +0 -0
  138. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/partials/header.html +0 -0
  139. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/partials/social.html +0 -0
  140. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/pyodide-css/0-generic.css +0 -0
  141. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/pyodide-css/btns-header.css +0 -0
  142. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/pyodide-css/history.css +0 -0
  143. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/pyodide-css/hourglass.css +0 -0
  144. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/pyodide-css/ide.css +0 -0
  145. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/pyodide-css/qcm.css +0 -0
  146. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/pyodide-css/terminal.css +0 -0
  147. {pyodide_mkdocs_theme-5.4.1 → pyodide_mkdocs_theme-5.4.2}/pyodide_mkdocs_theme/templates/pyodide-css/testing.css +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pyodide-mkdocs-theme
3
- Version: 5.4.1
3
+ Version: 5.4.2
4
4
  Summary: Package embedding the necessary tools to host pyodide, ACE editors, jQuery terminals in mkdocs documentations
5
5
  License: GPL-3.0-or-later
6
6
  Keywords: mkdocs,mkdocs-plugin,pyodide,IDE,terminal
@@ -4,7 +4,7 @@ p5.js wrapper for Pyodide-MkDocs-Theme, by Frédéric Zinelli.
4
4
  Basic use:
5
5
 
6
6
  1. Import p5 as a namespace (no wildcard imports!):
7
- 2. Define the setup and draw callbacks, using calls to the original p6 JS functions,
7
+ 2. Define the setup and draw callbacks, using calls to the original p5 JS functions,
8
8
  using`p5.functionName()` syntax.
9
9
  3. Call `p5.run(setup, draw, preload, target="div_id")` at the end of the code (`preload`
10
10
  is optional / `target` is also optional and defaults to the current PMT option value
@@ -0,0 +1 @@
1
+ __version__ = "5.4.2"
@@ -136,7 +136,7 @@ Replacements:{ replacements }"""
136
136
  self.err_stack_closing()
137
137
  j = self.i
138
138
  str_repr = ''.join(self.tokens[i:j])
139
- return eval(str_repr)
139
+ return eval(str_repr) # Using eval to automatically handle escaped chars
140
140
 
141
141
 
142
142
  INCLUSION_PARSER = InclusionParser()
@@ -17,45 +17,42 @@ along with this program.
17
17
  If not, see <https://www.gnu.org/licenses/>.
18
18
  """
19
19
 
20
+
21
+
22
+
20
23
  """
21
24
  # Extractor general contracts/logic:
22
25
  ------------------------------------
23
26
 
24
27
 
25
- Represent all the files associated to a runner (IDE, terminal, ...), holding the logic/tools
26
- to build the various sections contents.
28
+ Represent all the files associated to a runner (IDE, terminal, sqlide, ...), holding the
29
+ logic/tools to build the various sections contents.
27
30
 
28
31
  Context/Contracts/Goals:
29
32
 
30
33
  * An Extractor is linked to a single PMT file, with its potential "direct" dependencies
31
- (aka REMs, or tests/corr files par for the PM source project's format).
32
-
33
- * The PMT file can actually not exist at all! (in that case, exo_py is None)
34
-
35
- * A PMT file, if it exists, contains sections, delimited by tokens in the form:
36
- `{something} (PMT|PYODIDE):{section} {something}`
37
- `something` being different depending on what is the file to extract (python, sql, ...).
38
- .
39
- * An Extractor instance is cached based on the absolute/resolved path to the main file
40
- (self.exo_py).
41
-
42
- * The cache is automatically refreshed when a local file has been modified (based on the
43
- stats of the file). NOTE: this update is done at the on_config step, to avoid checking on
44
- each extractor use/call.
45
-
46
- * The contents of the files are stored in the instance, avoiding multiple HDD reads operations.
47
-
48
- * Inclusions instructions are gathered after the file content has been read, WITHOUT recursively
49
- triggering extraction of successors: these will be resolved on demand, when building contents.
50
- NOTE: this is to allow .snippets.py file containing multiple sections, some of them not being
51
- used in the "parent" file. These .snippets.py files often using [py] redirections, forcing the
52
- resolution of the children might cause crashes if some sections of the .snippets.py file would
53
- require specific content in the parent file while they aren't actually needed for this file.
54
-
55
- * The final/actual contents are never stored in the object: sections (inclusions) are rebuilt
56
- on the fly each time they are needed (relying on the fact reading a file is longer than string
57
- concatenations, and that the simplification this allows in the implementation compensate for
58
- the extra computation time).
34
+ (aka REMs, or tests/corr files with the PM source project's setup).
35
+
36
+ * The PMT file can actually not exist at all! (in that case, exo_file is None)
37
+
38
+ * A PMT file, if it exists, contains sections delimited by tokens (comments) in the form:
39
+
40
+ {head} (PMT|PYODIDE):{section} {tail}
41
+
42
+ Where `head` and `tail` depend on the type of the file, to build a valide comment (python, sql, ...).
43
+
44
+ * An Extractor instance is cached based on the absolute/resolved path to the targeted
45
+ file (aka `self.exo_file`).
46
+
47
+ * The file is automatically refreshed when a local file has been modified.
48
+
49
+ * The concrete contents of the files are stored in the instance, avoiding multiple HDD
50
+ reads operations. Note that the content is stored "as is", meaning the inclusions are not
51
+ resolved yet, but the code is analyzed so that the inclusions are known upfront.
52
+
53
+ * The final/actual contents are never stored in the object: the concrete contents are
54
+ always built on the fly/on demand, so that all inclusions redirections can apply where
55
+ needed.
59
56
  """
60
57
  # pylint: disable=multiple-statements, missing-function-docstring
61
58
 
@@ -121,14 +118,15 @@ class BaseFilesExtractor:
121
118
  Path to the master main file (if any).
122
119
  Also used as key cache to retrieve an Extractor instance.
123
120
 
124
- WARNING: This path is absolute AND normalized, while an exo_py for an IDE actually needs the
125
- absolute UNnormalized path when generating its html id (for backward compatibility,
126
- when checking their uniqueness).
121
+ WARNING: This path is absolute + resolved, whereas the runner_file for an IDE actually is
122
+ absolute but NOT normalized (to reduce the needs of ID arugments in macros calls,
123
+ when generating the html ids of the resulting elements).
127
124
  """
128
125
 
129
126
  docs_file: Optional[Path] = None
130
127
  """
131
- Same as self.exo_file, but relative to the CWD (logging and error messages purpose).
128
+ Same as self.exo_file, but relative to the CWD (logging and error messages purpose / NOTE:
129
+ also used to identify an inclusion location, when resolving them).
132
130
  """
133
131
 
134
132
  in_pages: Set[str] = field(default_factory=set)
@@ -546,8 +546,7 @@ class BasePmtSectionsExtractor(BasePmtSectionsTools):
546
546
  Extraction of a bare file, supposedly containing only one section (implicitly / consider
547
547
  it's a `code` section).
548
548
  """
549
- log_exo = self.exo_file and Path(self.exo_file).relative_to(CWD)
550
- self.env.outdated_PM_files.append( (log_exo, self.env.file_location()) )
549
+ self.env.outdated_PM_files.append( (self.docs_file, self.env.file_location()) )
551
550
 
552
551
  sections_and_contents = (
553
552
  (ScriptData.code, script_content),
@@ -49,13 +49,16 @@ class FileExtractorWithInclusions(BasePmtSectionsExtractor):
49
49
  """
50
50
  Manage inclusions in the python files, following this kind of syntaxes:
51
51
 
52
+ ## {{ [cwd]py_name:section:section }}
52
53
  ## {{ [md]py_name:section:section }}
53
54
  ## {{ [py]py_name:section:section }}
54
55
  ## {{ py_name:section:section }}
55
56
 
56
- Relative paths usable:
57
+ Relative paths are usable:
57
58
  ## {{ ../bal/py_name:section }}
58
- ## {{ :section }} (= "in the current py file")
59
+
60
+ If no `py_name` element, extract from the current python file:
61
+ ## {{ :section }}
59
62
 
60
63
  Possible to change the file extractor type on the fly by giving the extension file in py_name.
61
64
  """
@@ -19,6 +19,8 @@ If not, see <https://www.gnu.org/licenses/>.
19
19
  # pylint: disable=unused-argument
20
20
 
21
21
  from functools import wraps
22
+ import json
23
+ from pathlib import Path
22
24
  from textwrap import dedent
23
25
  from typing import Any, Dict, List, Tuple
24
26
 
@@ -75,6 +77,7 @@ def multi_qcm(env:MaestroMacros):
75
77
  qcm_title: str = None,
76
78
  tag_list_of_qs: str = None,
77
79
  DEBUG: bool = None,
80
+ DUMP: bool = None,
78
81
  SHOW: str = None, # sink (not needed here!)
79
82
  ID=None, # sink (deprecated)
80
83
  ):
@@ -280,6 +283,29 @@ def multi_qcm(env:MaestroMacros):
280
283
 
281
284
  qcm_close()
282
285
 
286
+ if DUMP:
287
+ json_data = {
288
+ 'questions': questions,
289
+ 'description': description,
290
+ 'hide': hide,
291
+ 'multi': multi,
292
+ 'shuffle': shuffle,
293
+ 'shuffle_questions': shuffle_questions,
294
+ 'shuffle_items': shuffle_items,
295
+ 'admo_kind': admo_kind,
296
+ 'admo_class': admo_class,
297
+ 'qcm_title': qcm_title,
298
+ 'tag_list_of_qs': tag_list_of_qs,
299
+ 'DEBUG': DEBUG,
300
+ }
301
+
302
+ name = env.page.url.strip('/').split('/')[-1]
303
+ loc = Path(env.page.file.abs_src_path).with_name(f"qcm_{ name }_{ env.compteur_qcms }.json")
304
+ content = json.dumps(json_data, indent=2)
305
+ loc.touch(exist_ok=True)
306
+ loc.write_text(content, encoding='utf-8')
307
+
308
+
283
309
 
284
310
  output = '\n'.join(admonition_lst)
285
311
  output = f'\n\n{ output }\n\n' # Enforce empty spaces around in the markdown admonition
@@ -148,6 +148,7 @@ class BaseMaestro(BasePlugin[PyodideMacrosConfig]):
148
148
  args_figure_p5_buttons: str = ConfigExtractor('config.args.figure', prop='p5_buttons')
149
149
 
150
150
  args_multi_qcm_DEBUG: bool = ConfigExtractor('config.args.multi_qcm', prop='DEBUG')
151
+ args_multi_qcm_DUMP: bool = ConfigExtractor('config.args.multi_qcm', prop='DUMP')
151
152
  args_multi_qcm_SHOW: str = ConfigExtractor('config.args.multi_qcm', prop='SHOW')
152
153
  args_multi_qcm_admo_class: str = ConfigExtractor('config.args.multi_qcm', prop='admo_class')
153
154
  args_multi_qcm_admo_kind: str = ConfigExtractor('config.args.multi_qcm', prop='admo_kind')
@@ -76,7 +76,7 @@ class MaestroMacroManager(MaestroIndent):
76
76
  """
77
77
 
78
78
 
79
- compteur_qcms: int = AutoCounter()
79
+ compteur_qcms: int = 0
80
80
  """ Number of qcm or qcs in the docs """
81
81
 
82
82
  _editors_ids: Set[str]
@@ -102,7 +102,9 @@ class MaestroMacroManager(MaestroIndent):
102
102
 
103
103
 
104
104
  def get_qcm_id(self):
105
- return f"{ Prefix.py_mk_qcm_id_ }{ self.compteur_qcms :0>5}"
105
+ id = f"{ Prefix.py_mk_qcm_id_ }{ self.compteur_qcms :0>5}"
106
+ self.compteur_qcms += 1
107
+ return id
106
108
 
107
109
 
108
110
  def is_unique_then_register(self, id_ide:str, no_id_path:str, ID:Optional[str]) -> bool :
@@ -1300,6 +1300,13 @@ MULTI_QCM = MultiQcmConfigSrc.with_default_docs(
1300
1300
  """,
1301
1301
  yaml_desc="Display macro related infos in the terminal.",
1302
1302
  ),
1303
+ ConfigOptionSrc(
1304
+ 'DUMP', bool, default=False,
1305
+ docs="""
1306
+ Crée un fichier json avec les données du qcm en cours dans le dossier de la page en cours.
1307
+ """,
1308
+ yaml_desc="Dump the MCQ content as json.",
1309
+ ),
1303
1310
  ))
1304
1311
 
1305
1312
 
@@ -533,6 +533,7 @@ class MacroArgsDataMulti_qcm(ObjectWithDataGetters):
533
533
  tag_list_of_qs: str = DataGetter()
534
534
  DEBUG: bool = DataGetter()
535
535
  SHOW: str = DataGetter()
536
+ DUMP: bool = DataGetter()
536
537
 
537
538
  class MacroDataMulti_qcm(MacroData):
538
539
  """ Runtime data object for the multi_qcm macro. """
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pyodide-mkdocs-theme"
3
- version = "5.4.1"
3
+ version = "5.4.2"
4
4
  requires-python = ">=3.9, <4.0"
5
5
  license = { text = "GPL-3.0-or-later" }
6
6
  description = "Package embedding the necessary tools to host pyodide, ACE editors, jQuery terminals in mkdocs documentations"
@@ -1 +0,0 @@
1
- __version__ = "5.4.1"