pyodide-mkdocs-theme 5.5.4__tar.gz → 5.5.6__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.
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/PKG-INFO +1 -1
- pyodide_mkdocs_theme-5.5.6/pyodide_mkdocs_theme/__version__.py +1 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin/maestro_base.py +1 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin/maestro_contracts.py +35 -36
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/definitions/plugin_config.py +14 -6
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/plugin_config_src.py +2 -2
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-libs/0-config.js +0 -3
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-libs/functoolsStorage.js +1 -1
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-libs/functoolsUi.js +8 -3
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-libs/functoolsUiBuilder.js +8 -6
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-per-pages/4-0-idesManager-ide.js +2 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-per-pages/4-ideRunner-ide.js +19 -19
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-scripts/subscriptions.js +2 -2
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/pyodide-css/0-generic.css +8 -2
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/pyodide-css/history.css +7 -3
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyproject.toml +1 -1
- pyodide_mkdocs_theme-5.5.4/pyodide_mkdocs_theme/__version__.py +0 -1
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/LICENSE +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/README.md +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/PMT_tools/p5/__init__.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/PMT_tools/p5/cdns.txt +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/PMT_tools/p5v2/__init__.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/PMT_tools/p5v2/cdns.txt +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/PMT_tools/vis/__init__.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/PMT_tools/vis/cdns.txt +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/PMT_tools/vis_network/__init__.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/PMT_tools/vis_network/cdns.txt +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/__init__.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/__main__.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/basthon_p5_to_pmt.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/__init__.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/exceptions.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/files_extractors/__init__.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/files_extractors/_inclusions_tools.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/files_extractors/base0_extractors.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/files_extractors/base1_contents_extractor.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/files_extractors/base2_inclusions.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/files_extractors/base3_generic_extractors.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/files_extractors/concrete_extractors.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/html_builder/__init__.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/html_builder/_html_builder.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/html_dependencies/__init__.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/html_dependencies/deps.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/html_dependencies/deps_class.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/indent_parser.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/macros/__init__.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/macros/figure.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/macros/ide_ide.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/macros/ide_manager.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/macros/ide_playground.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/macros/ide_py_btn.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/macros/ide_run_macro.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/macros/ide_term_ide.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/macros/ide_terminal.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/macros/ide_tester.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/macros/py_script.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/macros/qcm.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/macros/runners_macros.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/messages/__init__.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/messages/classes.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/messages/de_lang.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/messages/en_lang.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/messages/fr_lang.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/messages/proxy.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/parsing.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/paths_utils.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin/__init__.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin/config.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin/maestro_files.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin/maestro_indent.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin/maestro_macros.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin/maestro_meta.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin/maestro_templates.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin/pyodide_macros_plugin.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/__init__.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/_string_tools_and_constants.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/common_tree_src.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/config_option_src.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/definitions/__init__.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/definitions/docs_dirs_config.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/definitions/macros_configs.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/definitions/sub_configs.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/dumpers.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/lang_src.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/macro_config_src.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin_config/sub_config_src.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin_tools/__init__.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin_tools/macros_data.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin_tools/maestro_tools.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin_tools/options_alterations.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin_tools/pages_and_macros_py_configs.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/plugin_tools/test_cases.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/pyodide_logger.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/pyodide_macros/tools_and_constants.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/scripts/de/docs/exo.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/scripts/de/docs/index.md +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/scripts/de/mkdocs.yml +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/scripts/en/docs/exo.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/scripts/en/docs/index.md +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/scripts/en/mkdocs.yml +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/scripts/fr/docs/exo.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/scripts/fr/docs/index.md +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/scripts/fr/mkdocs.yml +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/scripts/models/.gitignore +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/scripts/models/main.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/scripts/models/mkdocs.yml +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/scripts/models/pyodide_plot.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/scripts/models/requirements.txt +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/scripts/models/toolbox.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/README.md +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/__init__.py +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/assets/images/.qcm-circle.svg +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/assets/images/icons8-check-64.png +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/assets/images/icons8-download-64.png +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/assets/images/icons8-play-64.png +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/assets/images/icons8-restart-64.png +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/assets/images/icons8-save-64.png +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/assets/images/icons8-step-64.png +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/assets/images/icons8-stop-64.png +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/assets/images/icons8-upload-64.png +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/assets/images/icons8-zip-64.png +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/base_pmt.html +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-libs/0-legacy-subscriber.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-libs/functools.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-libs/functoolsTxt.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-libs/jsLogger.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-libs/mathjax-libs.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-libs/process_and_gui.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-per-pages/0-generic-python-snippets-pyodide.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-per-pages/1-error_logs-pyodide.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-per-pages/1-packagesInstaller-install-pyodide.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-per-pages/1-runtimeManager-runtime-pyodide.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-per-pages/2-0-runnersManager-runners.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-per-pages/2-pyodideSectionsRunner-runner-pyodide.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-per-pages/3-btnRunner-py_btn.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-per-pages/3-terminalRunner-term.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-per-pages/4-ideLogistic-ide.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-per-pages/5-ideTester-ides_test.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-per-pages/6-2-init-playground.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-per-pages/6-idePlayground-playground.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-per-pages/qcms-qcm.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-per-pages/start-pyodide.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/js-scripts/overlord.js +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/main.html +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/mkdocs_theme.yml +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/partials/content.html +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/partials/copyright.html +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/partials/footer.html +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/partials/header.html +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/partials/social.html +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/pyodide-css/btns-header.css +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/pyodide-css/hourglass.css +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/pyodide-css/ide.css +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/pyodide-css/qcm.css +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/pyodide-css/terminal.css +0 -0
- {pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/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.5.
|
|
3
|
+
Version: 5.5.6
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "5.5.6"
|
|
@@ -289,6 +289,7 @@ class BaseMaestro(BasePlugin[PyodideMacrosConfig]):
|
|
|
289
289
|
testing_page: str = ConfigExtractor('config.testing', prop='page')
|
|
290
290
|
|
|
291
291
|
_dev_mode: bool = ConfigExtractor('config')
|
|
292
|
+
allow_theme_extension: bool = ConfigExtractor('config')
|
|
292
293
|
force_render_paths: str = ConfigExtractor('config')
|
|
293
294
|
include_dir: str = ConfigExtractor('config')
|
|
294
295
|
include_yaml: List[str] = ConfigExtractor('config')
|
|
@@ -33,19 +33,21 @@ from collections import defaultdict
|
|
|
33
33
|
from mkdocs.config.defaults import MkDocsConfig
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
|
|
37
36
|
from ...__version__ import __version__
|
|
38
37
|
from ..exceptions import PmtMacrosContractError
|
|
39
38
|
from ..paths_utils import get_local_projects_data_tracking_file_location
|
|
40
39
|
from ..tools_and_constants import HashPathMode, MultiProjectFeedbackLevel, MyEnum, PmtCte
|
|
41
40
|
from ..pyodide_logger import logger
|
|
42
41
|
from .config import PLUGIN_CONFIG_SRC, GIT_LAB_PAGES
|
|
42
|
+
from ..files_extractors.concrete_extractors import FileExtractor
|
|
43
43
|
from .maestro_base import BaseMaestro
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
|
|
49
|
+
|
|
50
|
+
|
|
49
51
|
@dataclass
|
|
50
52
|
class Props:
|
|
51
53
|
""" (helper, to centralize all values/names) """
|
|
@@ -339,24 +341,25 @@ class MaestroContracts(MaestroContractsMultiProjects):
|
|
|
339
341
|
# Validation is done on the individual/current segments of the paths, so that an invalid
|
|
340
342
|
# directory name is not affecting the validation of its children:
|
|
341
343
|
for path,dirs,files in os.walk(self.docs_dir):
|
|
342
|
-
|
|
343
|
-
|
|
344
|
+
extensions = '|'.join(FileExtractor.EXTENSION_TO_EXTRACTOR_CLASS).replace('.', '')
|
|
345
|
+
file_pattern = re.compile(fr"\.({ extensions }|md)$")
|
|
346
|
+
files_to_check = [ file for file in files if file_pattern.search(file)]
|
|
344
347
|
|
|
345
348
|
for segment in dirs + files_to_check:
|
|
346
|
-
invalids = frozenset(invalid_chars.findall(segment))
|
|
349
|
+
invalids = frozenset(''.join(invalid_chars.findall(segment)))
|
|
347
350
|
if invalids:
|
|
348
351
|
wrongs[invalids].append( os.path.join(path,segment) )
|
|
349
352
|
|
|
350
353
|
if wrongs:
|
|
351
354
|
msg = ''.join(
|
|
352
|
-
f"\nInvalid characters {
|
|
355
|
+
f"\nInvalid characters {''.join(sorted(invalids))!r} found in these filepaths:"
|
|
353
356
|
+ "".join(f"\n\t{ path }" for path in sorted(lst))
|
|
354
357
|
for invalids,lst in wrongs.items()
|
|
355
358
|
)
|
|
356
359
|
raise PmtMacrosContractError(
|
|
357
|
-
f"{ msg }\
|
|
360
|
+
f"{ msg }\nCodes and markdown files, as well as their parent directories' names "
|
|
358
361
|
'should only contain alphanumerical characters (no accents or special chars), '
|
|
359
|
-
"dots, underscores
|
|
362
|
+
"dots, underscores or hyphens."
|
|
360
363
|
)
|
|
361
364
|
|
|
362
365
|
|
|
@@ -404,39 +407,36 @@ class MaestroContracts(MaestroContractsMultiProjects):
|
|
|
404
407
|
* `{theme.name}/search` <- `mkdocs.yml:plugins: - search`
|
|
405
408
|
* `{some}/search` <- `mkdocs.yml:plugins: - {some}/search`
|
|
406
409
|
"""
|
|
407
|
-
errors
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
is_extension = theme and theme not in (material, pmt, None)
|
|
412
|
-
registered = RegisteredPlugin.convert(config.plugins)
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
if not theme or theme==material:
|
|
416
|
-
errors.append(
|
|
417
|
-
f"The { pmt }'s plugin is registered, so `theme.name` should be set "
|
|
418
|
-
f"to `{ pmt }` instead of `{ theme }`."
|
|
419
|
-
)
|
|
410
|
+
errors = []
|
|
411
|
+
pmt = 'pyodide-mkdocs-theme'
|
|
412
|
+
theme = config.theme.name
|
|
413
|
+
material_plugins = RegisteredPlugin.get_material_plugins(config.plugins)
|
|
420
414
|
|
|
421
415
|
features = config.theme.get('features', ())
|
|
422
416
|
if 'navigation.instant' in features:
|
|
423
417
|
errors.append(
|
|
424
|
-
"
|
|
425
|
-
"
|
|
418
|
+
f"`mkdocs.yml:theme.features.navigation.instant` is not compatible with { pmt } "
|
|
419
|
+
"and should be removed."
|
|
426
420
|
)
|
|
427
421
|
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
422
|
+
if theme != pmt and not self.allow_theme_extension:
|
|
423
|
+
errors.append(
|
|
424
|
+
f"The { pmt }'s plugin is activated, so `mkdocs.yml:theme.name` should be set "
|
|
425
|
+
f"to `{ pmt }` instead of `{ theme }`. If you are extending {pmt}, you also "
|
|
426
|
+
f"need do set {PLUGIN_CONFIG_SRC.get_plugin_path('allow_theme_extension')} to "
|
|
427
|
+
"`true` to deactivate this security check."
|
|
428
|
+
)
|
|
429
|
+
errors.extend(
|
|
430
|
+
f"The `{ plugin.qualname }` plugin should be registered as " + (
|
|
431
|
+
f"`{ pmt }/{ plugin.name }`."
|
|
432
|
+
if theme!=pmt else
|
|
433
|
+
f"`{ plugin.name }` only (PMT >= 2.2.0)."
|
|
434
|
+
)
|
|
435
|
+
for plugin in material_plugins if plugin.prefix != pmt
|
|
436
|
+
)
|
|
437
437
|
|
|
438
438
|
if errors:
|
|
439
|
-
str_errors = ''.join(map( '\n {}'.format, errors ))
|
|
439
|
+
str_errors = ''.join(map( '\n\n {}'.format, errors ))
|
|
440
440
|
raise PmtMacrosContractError(
|
|
441
441
|
f"Invalid theme or material's plugins configuration(s):{ str_errors }"
|
|
442
442
|
)
|
|
@@ -457,7 +457,7 @@ class MaestroContracts(MaestroContractsMultiProjects):
|
|
|
457
457
|
@dataclass
|
|
458
458
|
class RegisteredPlugin:
|
|
459
459
|
"""
|
|
460
|
-
Represents
|
|
460
|
+
Represents a material plugin name, with information about how it's built.
|
|
461
461
|
"""
|
|
462
462
|
|
|
463
463
|
qualname: str
|
|
@@ -481,13 +481,12 @@ class RegisteredPlugin:
|
|
|
481
481
|
|
|
482
482
|
|
|
483
483
|
@classmethod
|
|
484
|
-
def
|
|
484
|
+
def get_material_plugins(cls, plugins:Iterable[str]) -> List['RegisteredPlugin'] :
|
|
485
485
|
pattern = re.compile(
|
|
486
486
|
f"(?:(?P<prefix>\\w*)/)?(?P<name>{ '|'.join(cls.MATERIAL_PLUGINS) })"
|
|
487
487
|
)
|
|
488
488
|
registered = [
|
|
489
489
|
RegisteredPlugin(m[0], m['name'], m['prefix'])
|
|
490
|
-
|
|
491
|
-
if m
|
|
490
|
+
for m in filter(bool, map(pattern.fullmatch, plugins))
|
|
492
491
|
]
|
|
493
492
|
return registered
|
|
@@ -61,13 +61,13 @@ CommonTreeSrc.DEFAULT_DOCS_URL_TEMPLATE = to_page(DOCS_CONFIG) / '{get_md_link}'
|
|
|
61
61
|
|
|
62
62
|
PLUGIN_CONFIG_SRC = PluginConfigSrc(
|
|
63
63
|
extra_docs = """
|
|
64
|
-
|
|
65
|
-
plugin original `MacrosPlugin`, ce qui permet d'en
|
|
66
|
-
|
|
64
|
+
Outre l'option `allow_theme_extension`, la configuration du plugin, `PyodideMacrosConfig`,
|
|
65
|
+
reprend également toutes les options du plugin original `MacrosPlugin`, ce qui permet d'en
|
|
66
|
+
réutiliser toutes les fonctionnalités.<br>
|
|
67
|
+
Ces options, décrites succinctement ci-dessous, sont disponibles à la racine de la
|
|
67
68
|
configuration du plugin, dans `mkdocs.yml:plugins.pyodide_macros` (voir [en haut de cette
|
|
68
|
-
page](--global-architecture)).
|
|
69
|
-
|
|
70
|
-
Pour plus d'informations à leur sujet ou concernant le fonctionnement general des macros :
|
|
69
|
+
page](--global-architecture)). Pour plus d'informations à leur sujet ou concernant le
|
|
70
|
+
fonctionnement général des macros :
|
|
71
71
|
|
|
72
72
|
- [GitHub repository][mkdocs-macros]{: target=_blank }
|
|
73
73
|
- [Help page](https://mkdocs-macros-plugin.readthedocs.io/en/latest/){: target=_blank }
|
|
@@ -95,6 +95,14 @@ PLUGIN_CONFIG_SRC = PluginConfigSrc(
|
|
|
95
95
|
yaml_desc="Run the plugin in development mode (...don't use that).",
|
|
96
96
|
),
|
|
97
97
|
|
|
98
|
+
ConfigOptionSrc(
|
|
99
|
+
'allow_theme_extension', bool, default=False,
|
|
100
|
+
extra_docs = """
|
|
101
|
+
Si `true`, la plupart des validation de `mkdocs.yml:theme`sont désactivées.
|
|
102
|
+
""",
|
|
103
|
+
yaml_desc="Bypass some theme configuration validations, allowing PMT's extension.",
|
|
104
|
+
),
|
|
105
|
+
|
|
98
106
|
|
|
99
107
|
# ---------------------------------------------------------------------------------------
|
|
100
108
|
# Replication of MacrosPlugin options (merging the config_scheme properties programmatically
|
|
@@ -135,10 +135,10 @@ class PluginConfigSrc(SubConfigSrc):
|
|
|
135
135
|
Verify that the config of the MacroPlugin class is still the expected one.
|
|
136
136
|
"""
|
|
137
137
|
logger.debug("Check that the original MacrosPlugin implementation didn't change.")
|
|
138
|
-
|
|
138
|
+
excluded_options = '_dev_mode', 'allow_theme_extension'
|
|
139
139
|
current_props = {
|
|
140
140
|
prop for prop,obj in self.subs_dct.items()
|
|
141
|
-
if isinstance(obj, ConfigOptionSrc) and prop
|
|
141
|
+
if isinstance(obj, ConfigOptionSrc) and prop not in excluded_options
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
src_macros_props = set(SRC_MACROS_CONF)
|
|
@@ -37,9 +37,6 @@ const SqBs = {
|
|
|
37
37
|
|
|
38
38
|
const CONFIG = {
|
|
39
39
|
|
|
40
|
-
/**Number of entries kept in validations history. */
|
|
41
|
-
N_IDE_VALIDATIONS: 10,
|
|
42
|
-
|
|
43
40
|
/* The following values are passed from python to JS through the main.html,
|
|
44
41
|
once this script got loaded */
|
|
45
42
|
//JS_CONFIG_DUMP
|
|
@@ -78,7 +78,7 @@ export const showIdCollisionsIfAny=()=>{
|
|
|
78
78
|
* 1) Redactors might store extra fields in the LocalStorage, so DO NOT cleanup the thing...
|
|
79
79
|
* 2) This function is used in CodEx.
|
|
80
80
|
* */
|
|
81
|
-
export function getIdeDataFromStorage(editorId, ide=null){ // CodCap
|
|
81
|
+
export function getIdeDataFromStorage(editorId, ide=null){ // CodCap override
|
|
82
82
|
|
|
83
83
|
// Originally, the storage value was just the user's code, so keep extracting as this:
|
|
84
84
|
let codeOrStorageAsStr = localStorage.getItem(editorId) || ""
|
|
@@ -253,6 +253,11 @@ export const aceEditorsDayNightReactivity=()=>{
|
|
|
253
253
|
*/
|
|
254
254
|
|
|
255
255
|
|
|
256
|
+
export const resetFloatingTip=()=>{
|
|
257
|
+
$("#floating-tip").css({display: 'none', width: "unset"}).find("span.tooltiptext").text("")
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
const DEBUG_TOOLTIP = false
|
|
256
261
|
|
|
257
262
|
|
|
258
263
|
/**Logistic for PMT "bare tooltips": They are automatically put in place when an element holds at
|
|
@@ -363,9 +368,9 @@ export const handlePmtTooltips=()=>{
|
|
|
363
368
|
|
|
364
369
|
// Add the event listener to all tool tips, and mark them as handled (in case several
|
|
365
370
|
// applications are done-> see MCQ):
|
|
366
|
-
tips.on('mouseleave', function(
|
|
367
|
-
|
|
368
|
-
|
|
371
|
+
tips.on('mouseleave', function(){
|
|
372
|
+
if(DEBUG_TOOLTIP) return
|
|
373
|
+
resetFloatingTip()
|
|
369
374
|
|
|
370
375
|
}).on('mouseenter', function(e){
|
|
371
376
|
if(this.dataset.tipFloat){
|
|
@@ -17,6 +17,8 @@ along with this program.
|
|
|
17
17
|
If not, see <https://www.gnu.org/licenses/>.
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
|
+
import { resetFloatingTip } from "functoolsUi"
|
|
21
|
+
|
|
20
22
|
|
|
21
23
|
|
|
22
24
|
/**Build bare divs from the given strings.
|
|
@@ -114,7 +116,7 @@ const stuffWithTooltip = (tag, options, content) =>{
|
|
|
114
116
|
|
|
115
117
|
/**Create a button with tooltip, just like the python _html_builder one (no event attached).
|
|
116
118
|
* */
|
|
117
|
-
export function buttonWithTooltip(options, content){ // CodCap
|
|
119
|
+
export function buttonWithTooltip(options, content){ // CodCap override
|
|
118
120
|
options = defaultOptions(options)
|
|
119
121
|
options.noLabel = true
|
|
120
122
|
return stuffWithTooltip('button', options, content)
|
|
@@ -125,7 +127,7 @@ export function buttonWithTooltip(options, content){ // CodCap
|
|
|
125
127
|
/**Create a jQuery button WITHOUT bound event, holding the svg of one of the IDE's buttons.
|
|
126
128
|
* No event attached.
|
|
127
129
|
* */
|
|
128
|
-
export const makeIdeJqButton = (kind, options) => { // CodCap
|
|
130
|
+
export const makeIdeJqButton = (kind, options) => { // CodCap override
|
|
129
131
|
const img = `<img src="${ CONFIG.buttonIconsDirectory }/icons8-${ kind }-64.png" />`
|
|
130
132
|
return buttonWithTooltip(options, img)
|
|
131
133
|
}
|
|
@@ -252,7 +254,7 @@ export const cancelEvent=(e)=>{
|
|
|
252
254
|
|
|
253
255
|
|
|
254
256
|
|
|
255
|
-
export function buildJqHistoryBtn( // CodCap
|
|
257
|
+
export function buildJqHistoryBtn( // CodCap override
|
|
256
258
|
jHolder, // jQuery element holding the contextmenu
|
|
257
259
|
historyId, // Id if the "contextmenu" element
|
|
258
260
|
historyArr, // [data]
|
|
@@ -261,13 +263,13 @@ export function buildJqHistoryBtn( // CodCap
|
|
|
261
263
|
){
|
|
262
264
|
|
|
263
265
|
const appendHistory=()=>{
|
|
266
|
+
resetFloatingTip()
|
|
267
|
+
|
|
264
268
|
if(!historyArr.length || $('#'+historyId).length) return;
|
|
265
269
|
|
|
266
|
-
// Use button instead of div, so that focusout and co' are actually working...
|
|
267
270
|
const jHist = $(
|
|
268
|
-
`<
|
|
271
|
+
`<div id="${ historyId }" class="history-box" tabindex="0"></div>`
|
|
269
272
|
)
|
|
270
|
-
|
|
271
273
|
jHist.append(
|
|
272
274
|
historyArr.map(data=>{
|
|
273
275
|
const btn = $(`<button class="history-btn">${ itemSetupCbk?"":data }</button>`)
|
|
@@ -33,6 +33,8 @@ export { RUNNERS_MANAGER }
|
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
class GlobalZipExportIdesManager extends CONFIG.CLASSES_POOL.GlobalRunnersManager {
|
|
36
|
+
// Extension done this way to avoid the need to export the partent class...
|
|
37
|
+
// (a bit dirty, but helps a bit to actually encapsulate the actual Manager object)
|
|
36
38
|
|
|
37
39
|
exportIdesAsZip(){
|
|
38
40
|
|
|
@@ -174,20 +174,15 @@ class IdeHistoryManager extends IdeAceManager {
|
|
|
174
174
|
}
|
|
175
175
|
|
|
176
176
|
|
|
177
|
-
getTime(){
|
|
177
|
+
getTime(){ // CodCap override
|
|
178
178
|
return (Date()+'').split(' GMT')[0].slice(-8)
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
/**Store the data of the current run/validation to this.validations.
|
|
182
182
|
* */
|
|
183
|
-
pushValidation(code, done){ // CodCap
|
|
183
|
+
pushValidation(code, done){ // CodCap override
|
|
184
184
|
const time = this.getTime()
|
|
185
185
|
this.validations.push([done, time, code])
|
|
186
|
-
|
|
187
|
-
// Suppress entries that are too old:
|
|
188
|
-
if(this.validations.length > CONFIG.N_IDE_VALIDATIONS){
|
|
189
|
-
this.validations.splice(0, this.validations.length-CONFIG.N_IDE_VALIDATIONS)
|
|
190
|
-
}
|
|
191
186
|
}
|
|
192
187
|
|
|
193
188
|
|
|
@@ -209,7 +204,7 @@ class IdeHistoryManager extends IdeAceManager {
|
|
|
209
204
|
}
|
|
210
205
|
|
|
211
206
|
|
|
212
|
-
getIdeStateColor(done){ // CodCap
|
|
207
|
+
getIdeStateColor(done){ // CodCap override
|
|
213
208
|
return !done ? "unset" : done<0 ? 'red' : 'green'
|
|
214
209
|
}
|
|
215
210
|
|
|
@@ -403,7 +398,7 @@ class IdeFeedbackManager extends IdeHistoryManager {
|
|
|
403
398
|
* .show (=false):
|
|
404
399
|
* If true, deploy the admonition.
|
|
405
400
|
* */
|
|
406
|
-
revealSolutionAndRems(options={}){ // CodCap
|
|
401
|
+
revealSolutionAndRems(options={}){ // CodCap override
|
|
407
402
|
LOGGER_CONFIG.ACTIVATE && jsLogger("[CheckPoint] - Enter revealSolutionAndRems")
|
|
408
403
|
|
|
409
404
|
const {waitForMathJax, show} = {
|
|
@@ -609,7 +604,7 @@ class IdeRunnerLogic extends IdeFeedbackManager {
|
|
|
609
604
|
|
|
610
605
|
|
|
611
606
|
|
|
612
|
-
async playThroughRunner(runtime){ // CodCap
|
|
607
|
+
async playThroughRunner(runtime){ // CodCap override
|
|
613
608
|
const code = this.getCodeToTest()
|
|
614
609
|
await this.runPythonCodeWithOptionsIfNoStdErr(code, runtime, CONFIG.section.editor)
|
|
615
610
|
}
|
|
@@ -1006,7 +1001,7 @@ export class IdeRunner extends IdeRunnerLogic {
|
|
|
1006
1001
|
|
|
1007
1002
|
|
|
1008
1003
|
// Doesn't work to catch the Esc applying "exit full screen"... :/
|
|
1009
|
-
respondToKeyDown(_event){ // CodCap
|
|
1004
|
+
respondToKeyDown(_event){ // CodCap override
|
|
1010
1005
|
this.activateIde()
|
|
1011
1006
|
}
|
|
1012
1007
|
|
|
@@ -1084,7 +1079,7 @@ export class IdeRunner extends IdeRunnerLogic {
|
|
|
1084
1079
|
}
|
|
1085
1080
|
|
|
1086
1081
|
|
|
1087
|
-
upload(){ // CodCap
|
|
1082
|
+
upload(){ // CodCap override
|
|
1088
1083
|
uploader( txt=>{
|
|
1089
1084
|
this.applyCodeToEditorAndSave(txt)
|
|
1090
1085
|
this.makeDirty()
|
|
@@ -1094,7 +1089,7 @@ export class IdeRunner extends IdeRunnerLogic {
|
|
|
1094
1089
|
|
|
1095
1090
|
/**Download the current content of the editor to the download folder of the user.
|
|
1096
1091
|
* */
|
|
1097
|
-
download(content=null){ LOGGER_CONFIG.ACTIVATE && jsLogger("[Download]") // CodCap
|
|
1092
|
+
download(content=null){ LOGGER_CONFIG.ACTIVATE && jsLogger("[Download]") // CodCap override
|
|
1098
1093
|
|
|
1099
1094
|
let ideContent = content ?? this.getCodeToTest() + "" // enforce stringification in any case
|
|
1100
1095
|
downloader(ideContent, this.pyName)
|
|
@@ -1114,7 +1109,7 @@ export class IdeRunner extends IdeRunnerLogic {
|
|
|
1114
1109
|
*
|
|
1115
1110
|
* @returns; true if the user confirmed the reset.
|
|
1116
1111
|
* */
|
|
1117
|
-
restart(){
|
|
1112
|
+
restart(){
|
|
1118
1113
|
LOGGER_CONFIG.ACTIVATE && jsLogger("[Restart]")
|
|
1119
1114
|
|
|
1120
1115
|
const doReset = window.confirm(CONFIG.lang.restartConfirm.msg)
|
|
@@ -1124,8 +1119,13 @@ export class IdeRunner extends IdeRunnerLogic {
|
|
|
1124
1119
|
return doReset
|
|
1125
1120
|
}
|
|
1126
1121
|
|
|
1127
|
-
|
|
1128
|
-
|
|
1122
|
+
|
|
1123
|
+
/**Actually apply the logic to reset/restart an IDE.
|
|
1124
|
+
* @doFocus can be seen as "triggered by the user?", hence, when it is false, some extra
|
|
1125
|
+
* steps should be avoided, like autofocus of the element.
|
|
1126
|
+
* */
|
|
1127
|
+
resetElement(doFocus=true){ // CodCap override: if @doFocus is true, send notifications to Capytale).
|
|
1128
|
+
super.resetElement() // This marks the runner as dirty
|
|
1129
1129
|
// Cancel the orange box on resets (coming with this.makeDirty() in the super call)
|
|
1130
1130
|
this.setOrangeBox(false)
|
|
1131
1131
|
this.setStartingCode({extractFromLocalStorage: false, saveOnceApplied: false})
|
|
@@ -1137,9 +1137,9 @@ export class IdeRunner extends IdeRunnerLogic {
|
|
|
1137
1137
|
$("#solution_" + this.id).addClass('py_mk_hidden')
|
|
1138
1138
|
this.hiddenDivContent = true
|
|
1139
1139
|
if(doFocus) this.focusEditor()
|
|
1140
|
-
// clearPyodideScope()
|
|
1141
|
-
this.takesGroupPriority()
|
|
1142
|
-
|
|
1140
|
+
// clearPyodideScope() // PMT 4.2.0+: no scope cleaning anymore.
|
|
1141
|
+
this.takesGroupPriority() // Keep this one because the method may be triggered from some code
|
|
1142
|
+
// during the tests, without clicking on the IDE
|
|
1143
1143
|
}
|
|
1144
1144
|
}
|
|
1145
1145
|
|
|
@@ -132,7 +132,7 @@ export const chaining=0 // To control imports orders when using overrides (u
|
|
|
132
132
|
handlePmtTooltips()
|
|
133
133
|
|
|
134
134
|
|
|
135
|
-
subscribeWhenReady("QCM", function(){
|
|
135
|
+
subscribeWhenReady("QCM", function(){ // Will always update CONFIG.subscriptionDone.QCM
|
|
136
136
|
if(CONFIG.CLASSES_POOL.Qcm){ // Building qcms only if the class is defined in the page
|
|
137
137
|
LOGGER_CONFIG.ACTIVATE && jsLogger('[QCM]')
|
|
138
138
|
CONFIG.CLASSES_POOL.Qcm.buildQcms()
|
|
@@ -144,7 +144,7 @@ export const chaining=0 // To control imports orders when using overrides (u
|
|
|
144
144
|
// Done _LATE_ because of chrome troubles in Capytale: subscribing after everything has been
|
|
145
145
|
// set/updated will avoid useless calls/reactions to DOM mutations (IDEs & co).
|
|
146
146
|
LOGGER_CONFIG.ACTIVATE && jsLogger('[MathJax] - subscribe to document$ after pyodide started')
|
|
147
|
-
subscribeWhenReady(
|
|
147
|
+
subscribeWhenReady( // Will always update CONFIG.subscriptionDone.MathJax
|
|
148
148
|
'MathJax',
|
|
149
149
|
perennialMathJaxUpdate,
|
|
150
150
|
{
|
|
@@ -282,8 +282,14 @@ mais sans lien dessus */
|
|
|
282
282
|
.tooltip.p5-btn > img { width: 24px; }
|
|
283
283
|
|
|
284
284
|
|
|
285
|
-
#floating-tip {
|
|
286
|
-
|
|
285
|
+
#floating-tip {
|
|
286
|
+
position: absolute;
|
|
287
|
+
z-index: 10;
|
|
288
|
+
}
|
|
289
|
+
#floating-tip > span {
|
|
290
|
+
visibility: unset;
|
|
291
|
+
box-shadow: 2px 3px 5px var(--hover-fg-color,#555);
|
|
292
|
+
}
|
|
287
293
|
|
|
288
294
|
|
|
289
295
|
input#playground-url {
|
|
@@ -22,18 +22,22 @@ If not, see <https://www.gnu.org/licenses/>.
|
|
|
22
22
|
position: absolute;
|
|
23
23
|
left: 50%;
|
|
24
24
|
bottom: 50%;
|
|
25
|
-
z-index:
|
|
25
|
+
z-index: 4;
|
|
26
26
|
background: var(--main-theme);
|
|
27
27
|
border-radius: 10px;
|
|
28
28
|
padding: var(--hist-size);
|
|
29
29
|
display: grid;
|
|
30
|
-
grid-auto-rows: 1fr;
|
|
30
|
+
/* grid-auto-rows: 1fr; */
|
|
31
31
|
gap: calc(var(--hist-size) / 1.6);
|
|
32
32
|
cursor: auto;
|
|
33
33
|
font-size: 90%;
|
|
34
|
+
max-height: 400px;
|
|
35
|
+
width: max-content;
|
|
36
|
+
overflow-y: auto;
|
|
37
|
+
overscroll-behavior: contain;
|
|
34
38
|
}
|
|
35
39
|
.history-btn {
|
|
36
|
-
width:
|
|
40
|
+
width: 100%;
|
|
37
41
|
padding: 2px 8px;
|
|
38
42
|
cursor: pointer;
|
|
39
43
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "pyodide-mkdocs-theme"
|
|
3
|
-
version = "5.5.
|
|
3
|
+
version = "5.5.6"
|
|
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.5.4"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/PMT_tools/p5/cdns.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/basthon_p5_to_pmt.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/scripts/de/mkdocs.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/scripts/en/mkdocs.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/scripts/fr/mkdocs.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/README.md
RENAMED
|
File without changes
|
{pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyodide_mkdocs_theme-5.5.4 → pyodide_mkdocs_theme-5.5.6}/pyodide_mkdocs_theme/templates/main.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|