pymdown-extensions 12.2__tar.gz → 13.0__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.
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/PKG-INFO +2 -3
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/about/changelog.md +52 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/arithmatex.md +39 -61
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/betterem.md +8 -2
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/emoji.md +1 -1
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/magiclink.md +15 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/mark.md +0 -4
- pymdown_extensions-12.2/docs/theme/assets/pymdownx-extras/extra-loader-BSCOcbUK.js → pymdown_extensions-13.0/docs/theme/assets/pymdownx-extras/extra-loader-DGSk4yI3.js +1 -1
- pymdown_extensions-12.2/docs/theme/assets/pymdownx-extras/extra-loader-BSCOcbUK.js.map → pymdown_extensions-13.0/docs/theme/assets/pymdownx-extras/extra-loader-DGSk4yI3.js.map +1 -1
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/hatch_build.py +0 -1
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/__meta__.py +1 -1
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/arithmatex.py +8 -8
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/b64.py +1 -1
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/betterem.py +5 -3
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/blocks/admonition.py +1 -1
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/blocks/block.py +1 -1
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/blocks/caption.py +1 -1
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/blocks/html.py +12 -9
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/bracketspan.py +7 -19
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/critic.py +117 -55
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/delimiterprocessor.py +162 -69
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/details.py +1 -1
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/fancylists.py +8 -2
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/inlinehilite.py +9 -13
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/magiclink.py +60 -13
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/pathconverter.py +1 -1
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/progressbar.py +1 -1
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/quotes.py +1 -1
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/saneheaders.py +1 -1
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/snippets.py +2 -2
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/striphtml.py +1 -1
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pyproject.toml +4 -4
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/arithmatex/arithmatex (no-preview).html +2 -2
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/arithmatex/arithmatex.html +2 -2
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/magiclink/magiclink.html +2 -2
- pymdown_extensions-13.0/tests/test_extensions/_snippets/section_escaped_end_first.txt +4 -0
- pymdown_extensions-13.0/tests/test_extensions/_snippets/section_escaped_start_first.txt +5 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_arithmatex.py +40 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_b64.py +9 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_betterem.py +165 -2
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_blocks/test_captions.py +25 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_bracketspan.py +35 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_caret.py +1 -1
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_critic.py +93 -1
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_fancylists.py +44 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_inlinehilite.py +17 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_magiclink.py +219 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_pathconverter.py +24 -0
- pymdown_extensions-13.0/tests/test_extensions/test_progressbar.py +18 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_quotes.py +17 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_snippets.py +26 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_striphmtl.py +28 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_tilde.py +60 -1
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/zensical.yml +1 -1
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/.coveragerc +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/.gitignore +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/.pyspelling.yml +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/LICENSE.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/README.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/.snippets/abbr.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/.snippets/links.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/.snippets/refs.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/.snippets/uml.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/about/contributing.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/about/development.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/about/license.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/about/releases/6.0.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/about/releases/7.0.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/about/releases/8.0.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/about/releases/9.0.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/about/security.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/b64.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/blocks/api.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/blocks/index.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/blocks/plugins/admonition.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/blocks/plugins/caption.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/blocks/plugins/definition.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/blocks/plugins/details.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/blocks/plugins/html.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/blocks/plugins/tab.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/bracketspan.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/caret.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/critic.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/details.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/escapeall.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/extra.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/fancylists.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/highlight.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/inlinehilite.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/keys.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/pathconverter.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/progressbar.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/quotes.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/saneheaders.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/smartsymbols.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/snippets.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/striphtml.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/superfences.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/tabbed.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/tasklist.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/tilde.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extras/mermaid.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extras/slugs.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/faq.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/images/mermaid-diagram.png +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/images/progress.png +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/images/tabbed-alternate.png +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/images/tabbed-default-narrow.png +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/images/tabbed-default.png +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/index.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/installation.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/usage_notes.md +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/theme/announce.html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/theme/assets/pymdownx-extras/extra-b4375c8180.css +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/theme/assets/pymdownx-extras/extra-b4375c8180.css.map +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/theme/main.html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/__init__.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/_bypassnorm.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/blocks/__init__.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/blocks/definition.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/blocks/details.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/blocks/tab.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/caret.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/emoji.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/emoji1_db.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/escapeall.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/extra.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/gemoji_db.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/highlight.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/keymap_db.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/keys.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/mark.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/slugs.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/smartsymbols.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/superfences.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/tabbed.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/tasklist.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/tilde.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/twemoji_db.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/pymdownx/util.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/run_tests.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/__init__.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/_assets/bg.png +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/_assets/headeranchor.css +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/_assets/progressbar.css +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/_assets/tabs.css +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/_assets/tasklist.css +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/_assets/tasklist_custom.css +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/arithmatex/arithmatex (disable).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/arithmatex/arithmatex (disable).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/arithmatex/arithmatex (dumb dollar).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/arithmatex/arithmatex (dumb dollar).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/arithmatex/arithmatex (generic).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/arithmatex/arithmatex (generic).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/arithmatex/arithmatex (no-preview).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/arithmatex/arithmatex.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/arithmatex/tests.yml +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/emoji1 (entities).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/emoji1 (entities).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/emoji1 (escaped).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/emoji1 (escaped).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/emoji1 (long title).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/emoji1 (long title).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/emoji1 (no title).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/emoji1 (no title).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/emoji1 (png sprite).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/emoji1 (png sprite).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/emoji1 (png).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/emoji1 (png).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/emoji1 (svg sprite).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/emoji1 (svg sprite).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/emoji1 (svg).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/emoji1 (svg).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/gemoji (entities).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/gemoji (entities).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/gemoji (png).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/gemoji (png).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/tests.yml +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/twemoji (entities).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/twemoji (entities).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/twemoji (png).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/twemoji (png).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/twemoji (svg).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/emoji/twemoji (svg).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/escapeall/escapeall (ws normal).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/escapeall/escapeall (ws normal).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/escapeall/escapeall.html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/escapeall/escapeall.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/escapeall/tests.yml +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/extra/extra (config).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/extra/extra (config).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/extra/extra.html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/extra/extra.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/extra/tests.yml +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/keys/keys (camel).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/keys/keys (camel).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/keys/keys.html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/keys/keys.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/keys/tests.yml +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/magiclink/magiclink (bitbucket).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/magiclink/magiclink (bitbucket).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/magiclink/magiclink (extensions).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/magiclink/magiclink (extensions).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/magiclink/magiclink (gitlab).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/magiclink/magiclink (gitlab).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/magiclink/magiclink (invalid).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/magiclink/magiclink (invalid).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/magiclink/magiclink (shorthand).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/magiclink/magiclink (shorthand).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/magiclink/magiclink (shorthand-social).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/magiclink/magiclink (shorthand-social).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/magiclink/magiclink.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/magiclink/magiclink_hide_protocol.html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/magiclink/magiclink_hide_protocol.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/magiclink/tests.yml +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/progressbar/progressbar.html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/progressbar/progressbar.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/progressbar/tests.yml +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/striphtml/striphtml (no attr strip).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/striphtml/striphtml (no attr strip).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/striphtml/striphtml.html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/striphtml/striphtml.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/striphtml/tests.yml +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/superfences/superfences (custom).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/superfences/superfences (custom).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/superfences/superfences (failures).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/superfences/superfences (failures).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/superfences/superfences (no indent blocks).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/superfences/superfences (no indent blocks).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/superfences/superfences (no pygments).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/superfences/superfences (no pygments).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/superfences/superfences (normal).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/superfences/superfences (normal).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/superfences/superfences (preserve tabs).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/superfences/superfences (preserve tabs).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/superfences/tests.yml +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/tasklist/tasklist (checkable).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/tasklist/tasklist (checkable).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/tasklist/tasklist (custom checkable).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/tasklist/tasklist (custom checkable).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/tasklist/tasklist (custom).html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/tasklist/tasklist (custom).txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/tasklist/tasklist.html +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/tasklist/tasklist.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/extensions/tasklist/tests.yml +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/__init__.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/_assets/bg.png +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/_snippets/a.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/_snippets/b.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/_snippets/c.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/_snippets/d.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/_snippets/indented.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/_snippets/lines.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/_snippets/loop.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/_snippets/loop_block.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/_snippets/missing.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/_snippets/nested/nested.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/_snippets/nested_b.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/_snippets/section.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/_snippets/section_nested.txt +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_blocks/__init__.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_blocks/test_admonitions.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_blocks/test_definition.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_blocks/test_details.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_blocks/test_general_blocks.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_blocks/test_html.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_blocks/test_legacy_tab.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_blocks/test_tab.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_details.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_emoji.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_escapeall.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_highlight.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_keys.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_mark.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_saneheaders.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_slugs.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_smartsymbols.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_superfences.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_tabbed.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_extensions/test_tabbed_alternate.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_syntax.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_targeted.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/test_versions.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tests/util.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tools/__init__.py +0 -0
- {pymdown_extensions-12.2 → pymdown_extensions-13.0}/tools/pymdownx_md_render.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: pymdown-extensions
|
|
3
|
-
Version:
|
|
3
|
+
Version: 13.0
|
|
4
4
|
Summary: Extension pack for Python Markdown.
|
|
5
5
|
Project-URL: Homepage, https://github.com/facelessuser/pymdown-extensions
|
|
6
6
|
Author-email: Isaac Muse <Isaac.Muse@gmail.com>
|
|
@@ -13,7 +13,6 @@ Classifier: Intended Audience :: Developers
|
|
|
13
13
|
Classifier: License :: OSI Approved :: MIT License
|
|
14
14
|
Classifier: Operating System :: OS Independent
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
17
16
|
Classifier: Programming Language :: Python :: 3.11
|
|
18
17
|
Classifier: Programming Language :: Python :: 3.12
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.13
|
|
@@ -23,7 +22,7 @@ Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
|
|
23
22
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
24
23
|
Classifier: Topic :: Text Processing :: Filters
|
|
25
24
|
Classifier: Topic :: Text Processing :: Markup :: HTML
|
|
26
|
-
Requires-Python: >=3.
|
|
25
|
+
Requires-Python: >=3.11.5
|
|
27
26
|
Requires-Dist: markdown>=3.6
|
|
28
27
|
Requires-Dist: pyyaml
|
|
29
28
|
Provides-Extra: extra
|
|
@@ -3,6 +3,58 @@ icon: lucide/scroll-text
|
|
|
3
3
|
---
|
|
4
4
|
# Changelog
|
|
5
5
|
|
|
6
|
+
## 13.0
|
|
7
|
+
|
|
8
|
+
- **BREAK**: Arithmatex: Generic mode is now the default mode as the old MathJax script approach has not been
|
|
9
|
+
supported in MathJax for a long time now. We still provide script approach and have updated configuration to get it
|
|
10
|
+
properly working in recent MathJax versions.
|
|
11
|
+
- **BREAK**: Arithmatex: Non-generic mode now escapes content in script to prevent closing `</script>` from causing
|
|
12
|
+
unintended behavior. Guidance on configuration for non-generic mode has been updated in the documentation.
|
|
13
|
+
- **NEW**: Require at least Python Markdown 3.10.3 for performance improvements.
|
|
14
|
+
- **NEW**: Drop Python 3.10 and require Python >= 3.11.5 as possessive quantifiers are broken on lower versions.
|
|
15
|
+
- **NEW**: MagicLink: Bare `http://`, `https://`, and `www.` links now follow GFM's extended autolink rules for what
|
|
16
|
+
is considered the end of a link (trailing punctuation, entities, unbalanced `)` and `]`) and what a link can follow.
|
|
17
|
+
Links no longer start after arbitrary punctuation (quotes are still allowed), and `http://host` style links with a
|
|
18
|
+
short host are allowed.
|
|
19
|
+
- **FIX**: Critic: Fix quadratic (and cubic for substitutions) time complexity when parsing a large number of unclosed
|
|
20
|
+
CriticMarkup openers by replacing the regular expression with a linear time scanner.
|
|
21
|
+
- **FIX**: PathConverter, B64: Handle elements with unquoted attributes.
|
|
22
|
+
- **FIX**: Arithmatex: Fix `generic` mode output when `tex_inline_wrap` or `tex_block_wrap` contain braces.
|
|
23
|
+
- **FIX**: InlineHilite: Fix regression related to unmatched opening and closing.
|
|
24
|
+
- **FIX**: FancyLists: Keep `i` and `I` in alphabetical lists after a blank line.
|
|
25
|
+
- **FIX**: BracketSpan: Fix unwanted colon attributes with `{: ...}` syntax.
|
|
26
|
+
- **FIX**: Snippets: Fix escaped section markers starting or ending a section before its start.
|
|
27
|
+
- **FIX**: StripHTML: Fix crash when `strip_comments` is disabled.
|
|
28
|
+
- **FIX**: Quotes: Fix callouts in indented blockquotes.
|
|
29
|
+
- **FIX**: Details, Admonitions, SaneHeaders: Improve performance of header patterns.
|
|
30
|
+
- **FIX**: Blocks.HTML: Improve performance of HTML patterns.
|
|
31
|
+
- **FIX**: MagicLink: Fix URLs with balanced parentheses or brackets losing their closing character.
|
|
32
|
+
- **FIX**: MagicLink: Improve performance of link and email patterns by removing excessive backtracking.
|
|
33
|
+
- **FIX**: ProgressBar: Fix crash on malformed `100` percent values like `[=100,0%]`.
|
|
34
|
+
- **FIX**: BracketSpan: Fix text being dropped or misplaced when an unpaired `[` precedes a span that is returned from
|
|
35
|
+
the cache, e.g. `[[]{#a}[b[]{#c}`.
|
|
36
|
+
- **FIX**: BetterEm, Tilde, Caret, Mark: Apply the CommonMark "rule of 3" so an ambiguous closing delimiter can skip
|
|
37
|
+
an incompatible opener and pair with an earlier one, e.g. `__[A](u){target="_blank"}__: x`.
|
|
38
|
+
- **FIX**: BetterEm, Tilde, Caret, Mark: Better handling of Python Markdown placeholders when when evaluating
|
|
39
|
+
CommonMark punctuation rules.
|
|
40
|
+
- **FIX**: Blocks.Caption: Fix crash when a numbered caption is nested inside a figure not created by the caption
|
|
41
|
+
block.
|
|
42
|
+
- **FIX**: BetterEm, Tilde, Caret, Mark: Fix text being dropped when a stray delimiter that cannot open or close
|
|
43
|
+
appears between delimiter pairs parsed together, e.g. `***l* * **e**`.
|
|
44
|
+
- **FIX**: BetterEm, Tilde, Caret, Mark: Fix text being dropped or misplaced when unused delimiters inside a
|
|
45
|
+
parsed span were reprocessed against delimiter pairs found later in the same text.
|
|
46
|
+
- **FIX**: Tilde, Caret: Fix a crash when a subscript or superscript with no space allowed starts inside emphasis,
|
|
47
|
+
e.g. `*a ~b~*` with `delete` disabled.
|
|
48
|
+
- **FIX**: BetterEm, Tilde, Caret, Mark: Unusable delimiters dropped by another delimiter's region no longer leave
|
|
49
|
+
stale space tracking that can reject valid pairs later.
|
|
50
|
+
- **FIX**: Blocks.Caption: Fix crash when a numbered caption is nested inside a figure not created by the caption
|
|
51
|
+
block.
|
|
52
|
+
|
|
53
|
+
## 12.3
|
|
54
|
+
|
|
55
|
+
- **NEW**: BetterEm: Expose a way to disable CommonMark punctuation rules in BetterEm if desired via a new
|
|
56
|
+
`punctuation` option.
|
|
57
|
+
|
|
6
58
|
## 12.2
|
|
7
59
|
|
|
8
60
|
- **NEW**: Add official support for Python 3.15.
|
{pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/arithmatex.md
RENAMED
|
@@ -41,8 +41,8 @@ $p(x|y) = \frac{p(y|x)p(x)}{p(y)}$, \(p(x|y) = \frac{p(y|x)p(x)}{p(y)}\).
|
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
/// tip | Inline Configuration
|
|
44
|
-
When using MathJax, for best results, it is advised to
|
|
45
|
-
|
|
44
|
+
When using MathJax, for best results, it is advised to use the [`generic`](#options) mode, and configure MathJax
|
|
45
|
+
with the `text2jax` extension.
|
|
46
46
|
|
|
47
47
|
If using generic mode (for libraries like KaTeX), Arithmatex will convert dollars to the form `#!tex \(...\)` in the
|
|
48
48
|
HTML output. This is because `#!tex $...$` is extremely problematic to scan for, which is why MathJax and KaTeX
|
|
@@ -84,15 +84,24 @@ $$
|
|
|
84
84
|
\end{align}
|
|
85
85
|
///
|
|
86
86
|
|
|
87
|
+
## Generic Output Format
|
|
88
|
+
|
|
89
|
+
If [`generic`](#options) is enabled (which it is by default), the extension will escape necessary symbols and normalize
|
|
90
|
+
all output to be wrapped in the more reliable `#!tex \(...\)` for inline math and `#!tex \[...\]` for display math
|
|
91
|
+
(unless changed via `tex_inline_wrap` and `tex_block_wrap` in the [options](#options)). Lastly, everything is inserted
|
|
92
|
+
into a `#!html <span>` or `#!html <div>` for inline and display math respectively.
|
|
93
|
+
|
|
94
|
+
With the default settings, if in your Markdown you used `#!tex $...$` for inline math, it would be converted to
|
|
95
|
+
`#!html <span class="arithmatex">\(...\)</span>` in the HTML. Blocks would be normalized from `#!tex $$...$$` to
|
|
96
|
+
`#!html <div class="arithmatex">\[...\]</div>`. In the case of `#!tex \begin{}...\end{}`, begins and ends will not be
|
|
97
|
+
replaced, only wrapped: `#!html <div class="arithmatex">\[\begin{}...\end{}\]</div>`.
|
|
98
|
+
|
|
87
99
|
## MathJax Output Format
|
|
88
100
|
|
|
89
101
|
/// note | Format Dropped in MathJax 3
|
|
90
102
|
The title is a bit misleading. Yes, MathJax 3 dropped supporting the format as a default recognized form, but you
|
|
91
|
-
can still use the form with MathJax 3, you just have to add a little more configuration.
|
|
92
|
-
|
|
93
|
-
This used to be a supported format for MathJax 2. It appears this form was dropped in MathJax 3. While it is the
|
|
94
|
-
current default for Arithmatex, it may be relegated to a secondary option in the future. If this output is preferred
|
|
95
|
-
method, setting `generic` to `#!py False` will prevent any surprises in the future if/when the default changes.
|
|
103
|
+
can still use the form with MathJax 3, you just have to add a little more configuration. It is also not the default
|
|
104
|
+
mode anymore as of Pymdown Extensions 13.0.
|
|
96
105
|
///
|
|
97
106
|
|
|
98
107
|
The math equations will be wrapped in a special MathJax script tag and embedded into the HTML. This format does not
|
|
@@ -104,20 +113,8 @@ By default, Arithmatex will also generate a preview span with the class `MathJax
|
|
|
104
113
|
the math content is actually loaded. If you do not want to generate the preview, simply set `preview` to
|
|
105
114
|
`#!py3 False`.
|
|
106
115
|
|
|
107
|
-
All elements are additionally wrapped in a `#!html <div class="arithmatex"></div>` container by default (`span` if
|
|
108
|
-
inline math).
|
|
109
|
-
|
|
110
|
-
## Generic Output Format
|
|
111
|
-
|
|
112
|
-
If [`generic`](#options) is enabled, the extension will escape necessary symbols and normalize all output to be wrapped
|
|
113
|
-
in the more reliable `#!tex \(...\)` for inline math and `#!tex \[...\]` for display math (unless changed via
|
|
114
|
-
`tex_inline_wrap` and `tex_block_wrap` in the [options](#options)). Lastly, everything is inserted into a
|
|
115
|
-
`#!html <span>` or `#!html <div>` for inline and display math respectively.
|
|
116
|
-
|
|
117
|
-
With the default settings, if in your Markdown you used `#!tex $...$` for inline math, it would be converted to
|
|
118
|
-
`#!html <span class="arithmatex">\(...\)</span>` in the HTML. Blocks would be normalized from `#!tex $$...$$` to
|
|
119
|
-
`#!html <div class="arithmatex">\[...\]</div>`. In the case of `#!tex \begin{}...\end{}`, begins and ends will not be
|
|
120
|
-
replaced, only wrapped: `#!html <div class="arithmatex">\[\begin{}...\end{}\]</div>`.
|
|
116
|
+
All elements are additionally wrapped in a `#!html <div class="arithmatex"></div>` container by default (`span` if
|
|
117
|
+
outputting inline math).
|
|
121
118
|
|
|
122
119
|
## Loading MathJax
|
|
123
120
|
|
|
@@ -130,12 +127,6 @@ of including MathJax is to use the CDN. Latest version at time of writing this i
|
|
|
130
127
|
```
|
|
131
128
|
///
|
|
132
129
|
|
|
133
|
-
/// tab | Legacy: MathJax 2
|
|
134
|
-
```html
|
|
135
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js"></script>
|
|
136
|
-
```
|
|
137
|
-
///
|
|
138
|
-
|
|
139
130
|
Generally, it is best to add your own configuration to get exactly what you want. Here we show some simple examples of
|
|
140
131
|
configurations done in JavaScript. We've provided two basic configurations below: one that is configured for
|
|
141
132
|
Arithmatex's [MathJax Output Format](#mathjax-output-format), and one that works with the
|
|
@@ -166,19 +157,34 @@ window.MathJax = {
|
|
|
166
157
|
/// tab | Script - MathJax 3
|
|
167
158
|
```js
|
|
168
159
|
window.MathJax = {
|
|
160
|
+
tex: {
|
|
161
|
+
inlineMath: [],
|
|
162
|
+
displayMath: []
|
|
163
|
+
},
|
|
169
164
|
options: {
|
|
170
|
-
ignoreHtmlClass: '
|
|
171
|
-
processHtmlClass: 'tex2jax_process',
|
|
165
|
+
ignoreHtmlClass: '.*',
|
|
172
166
|
renderActions: {
|
|
173
|
-
|
|
167
|
+
findMath: [10, function(doc) {
|
|
168
|
+
// Used to decode script content
|
|
169
|
+
const temp = document.createElement('textarea');
|
|
174
170
|
for (const node of document.querySelectorAll('script[type^="math/tex"]')) {
|
|
175
171
|
const display = !!node.type.match(/; *mode=display/);
|
|
176
|
-
|
|
172
|
+
temp.innerHTML = node.textContent;
|
|
173
|
+
const math = new doc.options.MathItem(
|
|
174
|
+
temp.textContent, doc.inputJax[0], display
|
|
175
|
+
);
|
|
176
|
+
|
|
177
|
+
// Create a <pre> with an empty text node inside
|
|
177
178
|
const text = document.createTextNode('');
|
|
178
179
|
const sibling = node.previousElementSibling;
|
|
180
|
+
|
|
181
|
+
// Replace the <script> with the text node
|
|
179
182
|
node.parentNode.replaceChild(text, node);
|
|
183
|
+
|
|
184
|
+
// Point the MathItem at the text node inside <pre>
|
|
180
185
|
math.start = {node: text, delim: '', n: 0};
|
|
181
|
-
math.end
|
|
186
|
+
math.end = {node: text, delim: '', n: 0};
|
|
187
|
+
|
|
182
188
|
doc.math.push(math);
|
|
183
189
|
if (sibling && sibling.matches('.MathJax_Preview')) {
|
|
184
190
|
sibling.parentNode.removeChild(sibling);
|
|
@@ -191,34 +197,6 @@ window.MathJax = {
|
|
|
191
197
|
```
|
|
192
198
|
///
|
|
193
199
|
|
|
194
|
-
/// tab | Legacy: Generic - MathJax 2
|
|
195
|
-
```js
|
|
196
|
-
MathJax.Hub.Config({
|
|
197
|
-
config: ["MMLorHTML.js"],
|
|
198
|
-
extensions: ["tex2jax.js"],
|
|
199
|
-
jax: ["input/TeX", "output/HTML-CSS", "output/NativeMML"],
|
|
200
|
-
tex2jax: {
|
|
201
|
-
inlineMath: [ ["\\(","\\)"] ],
|
|
202
|
-
displayMath: [ ["\\[","\\]"] ],
|
|
203
|
-
processEscapes: true,
|
|
204
|
-
processEnvironments: true,
|
|
205
|
-
ignoreClass: ".*|",
|
|
206
|
-
processClass: "arithmatex"
|
|
207
|
-
},
|
|
208
|
-
});
|
|
209
|
-
```
|
|
210
|
-
///
|
|
211
|
-
|
|
212
|
-
/// tab | Legacy: Script - MathJax 2
|
|
213
|
-
```js
|
|
214
|
-
MathJax.Hub.Config({
|
|
215
|
-
config: ["MMLorHTML.js"],
|
|
216
|
-
jax: ["input/TeX", "output/HTML-CSS", "output/NativeMML"],
|
|
217
|
-
extensions: ["MathMenu.js", "MathZoom.js"]
|
|
218
|
-
});
|
|
219
|
-
```
|
|
220
|
-
///
|
|
221
|
-
|
|
222
200
|
Notice that in our generic configuration, we set up `tex2jax` to only load `arithmatex` classes by excluding all
|
|
223
201
|
elements and adding an exception for the `arithmatex` class. We also don't bother adding `#!tex $...$` and
|
|
224
202
|
`#!tex $$...$$` to the `inlineMath` and `displayMath` options as Arithmatex converts them respectively to
|
|
@@ -395,7 +373,7 @@ Option | Type | Default | Descripti
|
|
|
395
373
|
----------------- | -------- | ------------------------------------- |------------
|
|
396
374
|
`inline_syntax` | [string] | `#!py3 ['dollar', 'round']` | Syntax to search for: dollar=`#!tex $...$` and round=`#!tex \(...\)`.
|
|
397
375
|
`block_syntax` | [string] | `#!py3 ['dollar', 'square', 'begin']` | Syntax to search for: dollar=`#!tex $...$`, square=`#!tex \[...\]`, and `#!tex \begin{}...\end{}`.
|
|
398
|
-
`generic` | bool | `#!py3
|
|
376
|
+
`generic` | bool | `#!py3 True` | Output in a generic format suitable for non MathJax libraries.
|
|
399
377
|
`tex_inline_wrap` | [string] | `#!py3 ['\\(', '\\)']` | An array containing the opening and closing portion of the `generic` wrap.
|
|
400
378
|
`tex_block_wrap` | [string] | `#!py3 ['\\[', '\\]']` | An array containing the opening and closing portion of the `generic` wrap.
|
|
401
379
|
`smart_dollar` | bool | `#!py3 True` | Enable Arithmatex's smart dollar logic to minimize math detection issues with `#!tex $`.
|
{pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/betterem.md
RENAMED
|
@@ -82,8 +82,14 @@ BetterEm will try to prioritize the more sane option when nesting bold (`**`) be
|
|
|
82
82
|
**I'm bold. *I'm bold and italic.* I'm also just bold.**
|
|
83
83
|
///
|
|
84
84
|
|
|
85
|
+
> [!new] 12.3 CommonMark Punctuation Control
|
|
86
|
+
> 12.0 introduced a rewrite of emphasis handling which brought emphasis handling into alignment with CommonMark rules.
|
|
87
|
+
> Because there may be some languages or some users that may prefer the previous punctuation rules, the ability to
|
|
88
|
+
> disable CommonMark punctuation rules has been exposed via the [`punctuation`](#options) option.
|
|
89
|
+
|
|
85
90
|
## Options
|
|
86
91
|
|
|
87
|
-
Option | Type | Default
|
|
88
|
-
-------------- | ------ |
|
|
92
|
+
Option | Type | Default | Description
|
|
93
|
+
-------------- | ------ | -------------------- | -----------
|
|
89
94
|
`smart_enable` | string | `#!py3 'underscore'` | A string that specifies whether smart should be enabled for `all`, `asterisk`, `underscore`, or `none`.
|
|
95
|
+
`punctuation` | bool | `#!py3 True` | Enable/Disable CommonMark punctuation rules. Enabled by default.
|
|
@@ -58,7 +58,7 @@ behind, we may wait for JoyPixels to catch up.
|
|
|
58
58
|
///
|
|
59
59
|
|
|
60
60
|
/// tab | Gemoji
|
|
61
|
-
[Gemoji][gemoji] (<img align="absmiddle" alt=":smile:" class="gemoji" src="https://github.githubassets.com/images/icons/emoji/unicode/1f604.png" title=":smile:"/> <img align="absmiddle" alt=":heart:" class="gemoji"src="https://github.githubassets.com/images/icons/emoji/unicode/2764.png" title=":heart:"/> <img align="absmiddle" alt=":+1:" class="gemoji" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44d.png" title=":+1:" />):
|
|
61
|
+
[Gemoji][gemoji] (<img align="absmiddle" alt=":smile:" class="gemoji" src="https://github.githubassets.com/images/icons/emoji/unicode/1f604.png" title=":smile:"/> <img align="absmiddle" alt=":heart:" class="gemoji" src="https://github.githubassets.com/images/icons/emoji/unicode/2764.png" title=":heart:"/> <img align="absmiddle" alt=":+1:" class="gemoji" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44d.png" title=":+1:" />):
|
|
62
62
|
Gemoji is GitHub's open source emoji solution. It contains a lot of common emoji and a couple special, non Unicode
|
|
63
63
|
emoji (like Gemoji's `:octocat:` <img align="absmiddle" alt=":octocat:" class="gemoji" src="https://github.githubassets.com/images/icons/emoji/octocat.png" title=":octocat:" />).
|
|
64
64
|
If you are a GitHub user, you are probably familiar with some of the short names associated with it. Their
|
{pymdown_extensions-12.2 → pymdown_extensions-13.0}/docs/src/markdown/extensions/magiclink.md
RENAMED
|
@@ -42,6 +42,21 @@ auto-linked. There are some limitations placed on MagicLink to keep it from aggr
|
|
|
42
42
|
part of links. If you have a link that cannot be detected, you can always use the old style angle bracketed link format:
|
|
43
43
|
`#!md <https://www.link.com>`.
|
|
44
44
|
|
|
45
|
+
Bare links follow the rules of [GitHub Flavored Markdown's extended autolinks][gfm-autolinks]:
|
|
46
|
+
|
|
47
|
+
- Links must start with `http://`, `https://`, or `www.` (`ftp://` and `ftps://` are supported as well), and must be
|
|
48
|
+
at the start of a line, or follow whitespace or one of `*`, `_`, `~`, `(`. As MagicLink runs before other inline
|
|
49
|
+
syntax is resolved, quotes, `[` and `^` are also allowed so that quoted links and links in Markdown links and Caret
|
|
50
|
+
syntax work.
|
|
51
|
+
- A link ends at whitespace or `<`.
|
|
52
|
+
- The following trailing characters are not considered part of the link: `?`, `!`, `.`, `,`, `:`, `*`, `_`, `~`, `^`,
|
|
53
|
+
`'`, `"`.
|
|
54
|
+
- A trailing `)` is only part of the link if it closes a `(` in the link. The same is applied to `]`.
|
|
55
|
+
- A trailing entity like reference, such as `&`, is not part of the link.
|
|
56
|
+
- Domains cannot have underscores in the last two segments.
|
|
57
|
+
|
|
58
|
+
[gfm-autolinks]: https://github.github.com/gfm/#autolinks-extension-
|
|
59
|
+
|
|
45
60
|
```text title="Auto-Linking"
|
|
46
61
|
- Just paste links directly in the document like this: https://google.com.
|
|
47
62
|
- Or even an email address: fake.email@email.com.
|
|
@@ -20,14 +20,10 @@ To Mark some text, simply surround the text with double `=`.
|
|
|
20
20
|
|
|
21
21
|
```text title="Marking"
|
|
22
22
|
==mark me==
|
|
23
|
-
|
|
24
|
-
==smart==mark==
|
|
25
23
|
```
|
|
26
24
|
|
|
27
25
|
/// html | div.result
|
|
28
26
|
==mark me==
|
|
29
|
-
|
|
30
|
-
==smart==mark==
|
|
31
27
|
///
|
|
32
28
|
|
|
33
29
|
The Mark extension can be included in Python Markdown by using the following:
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
!function(){"use strict";var e=async e=>{class t extends HTMLElement{constructor(){super();const e=this.attachShadow({mode:"open"}),t=document.createElement("style");t.textContent="\n :host {\n display: block;\n line-height: initial;\n font-size: 16px;\n }\n div.diagram {\n margin: 0;\n overflow: visible;\n }",e.appendChild(t)}}void 0===customElements.get("diagram-div")&&customElements.define("diagram-div",t);const a=e=>{let t="";for(let a=0;a<e.childNodes.length;a++){const r=e.childNodes[a];if("code"===r.tagName.toLowerCase())for(let e=0;e<r.childNodes.length;e++){const a=r.childNodes[e],o=/^\s*$/;if("#text"===a.nodeName&&!o.test(a.nodeValue)){t=a.nodeValue;break}}}return t},r={startOnLoad:!1,theme:"default",flowchart:{useMaxWidth:!1},er:{useMaxWidth:!1},sequence:{useMaxWidth:!1,noteFontWeight:"14px",actorFontSize:"14px",messageFontSize:"16px"}};mermaid.mermaidAPI.globalReset();let o=null;try{o=document.querySelector("[data-md-color-scheme]").getAttribute("data-md-color-scheme")}catch(e){o="slate"}const i="undefined"==typeof mermaidConfig?r:mermaidConfig[o]||mermaidConfig.default||r;mermaid.initialize(i);const l=document.querySelectorAll(`pre.${e}, diagram-div`),d=document.querySelector("html body");for(let t=0;t<l.length;t++){const r=l[t],o="diagram-div"===r.tagName.toLowerCase()?r.shadowRoot.querySelector(`pre.${e}`):r,i=document.createElement("div");i.style.visibility="hidden",i.style.display="display",i.style.padding="0",i.style.margin="0",i.style.lineHeight="initial",i.style.fontSize="16px",d.appendChild(i);try{const l=await mermaid.render(`_diagram_${t}`,a(o),i),d=l.svg,n=l.bindFunctions,c=document.createElement("div");c.className=e,c.innerHTML=d,n&&n(c);const s=document.createElement("diagram-div");s.shadowRoot.appendChild(c),r.parentNode.insertBefore(s,r),o.style.display="none",s.shadowRoot.appendChild(o),o!==r&&r.parentNode.removeChild(r)}catch(e){}d.contains(i)&&d.removeChild(i)}},t=(e,t)=>{if("katex"===t){const t=document.querySelectorAll(`.${e}`);for(let e=0;e<t.length;e++){const a=t[e].textContent||t[e].innerText;a.startsWith("\\(")&&a.endsWith("\\)")?katex.render(a.slice(2,-2),t[e],{displayMode:!1}):a.startsWith("\\[")&&a.endsWith("\\]")&&katex.render(a.slice(2,-2),t[e],{displayMode:!0})}}else"mathjax"===t&&(void 0!==MathJax.startup.output.clearCache&&MathJax.startup.output.clearCache(),MathJax.typesetClear(),MathJax.texReset(),MathJax.typesetPromise())};"mathjaxConfig"in window||(window.MathJax={tex:{inlineMath:[["\\(","\\)"]],displayMath:[["\\[","\\]"]],processEscapes:!0,processEnvironments:!0,tagSide:"right",tagIndent:".8em",multlineWidth:"85%",tags:"ams"},options:{ignoreHtmlClass:".*",processHtmlClass:"arithmatex"}}),"mermaidConfig"in window||(window.mermaidConfig={slate:{startOnLoad:!1,theme:"base",themeCSS:" * { --drac-page-bg: hsl(233, 15%, 23%); --drac-white-fg: hsl(60, 30%, 96%); --drac-purple-fg: hsl(265, 89%, 78%); --drac-purple-bg: hsl(265, 25%, 39%); --drac-yellow-fg: hsl(65, 92%, 76%); --drac-blue-fg: hsl(225, 27%, 51%); } /* General */ [id^='_diagram'] { background-color: var(--drac-page-bg); } /* Entity Relationship */ rect.relationshipLabelBox { opacity: 0.75 !important; fill: var(--drac-purple-bg) !important; } defs marker#ZERO_OR_MORE_END circle { fill: var(--drac-page-bg) !important; stroke: var(--drac-purple-fg) !important; } defs marker#ZERO_OR_MORE_END path { stroke: var(--drac-purple-fg) !important; } defs marker#ZERO_OR_MORE_START circle{ fill: var(--drac-page-bg) !important; stroke: var(--drac-purple-fg) !important; } defs marker#ZERO_OR_MORE_START path { stroke: var(--drac-purple-fg) !important; } defs marker#ONLY_ONE_START path { stroke: var(--drac-purple-fg) !important; } defs marker#ONLY_ONE_END path { stroke: var(--drac-purple-fg) !important; } defs marker#ZERO_OR_ONE_START path { stroke: var(--drac-purple-fg) !important; } defs marker#ZERO_OR_ONE_END path { stroke: var(--drac-purple-fg) !important; } defs marker#ONE_OR_MORE_START path { stroke: var(--drac-purple-fg) !important; } defs marker#ONE_OR_MORE_END path { stroke: var(--drac-purple-fg) !important; } /* Flowchart */ .labelText, :not(.branchLabel) > .label text { fill: var(--drac-purple-fg); } .edgeLabel text { fill: var(--drac-purple-fg) !important; } .edgeLabel rect { opacity: 0.75 !important; fill: var(--drac-purple-bg) !important; } .grey rect.label-container { fill: var(--drac-purple-bg) !important; stroke: var(--drac-purple-fg) !important; } /* Sequence */ line[id^='actor'] { stroke: var(--drac-blue-fg); } .noteText { fill: var(--drac-yellow-fg); } /* Gantt */ .sectionTitle { fill: var(--drac-purple-fg) !important; } .grid .tick line { stroke: var(--drac-blue-fg) !important; } .grid .tick text { fill: var(--drac-purple-fg); } /* Class Diagram */ .statediagram-state rect.divider { fill: transparent !important; } /* State Diagram */ .stateGroup circle[style$=\"fill: black;\"] { fill: var(--drac-purple-bg) !important; stroke: var(--drac-purple-bg) !important; } .stateGroup circle[style$=\"fill: white;\"] { fill: var(--drac-purple-bg) !important; stroke: var(--drac-purple-fg) !important; } .stateGroup .composit { fill: var(--drac-page-bg); } /* Pie */ text.slice { fill: var(--drac-white-fg) !important; } /* Git Graph */ .commit-bullets .commit-reverse, .commit-bullets .commit-merge, .commit-bullets .commit-highlight-inner { fill: var(--drac-page-bg) !important; stroke: var(--drac-page-bg) !important; } ",themeVariables:{darkMode:!0,background:"#323443",mainBkg:"#604b7d",textColor:"#bf95f9",lineColor:"#bf95f9",errorBkgColor:"#802c2c",errorTextColor:"#ff5757",primaryColor:"#604b7d",primaryTextColor:"#bf95f9",primaryBorderColor:"#bf95f9",secondaryColor:"#297d3e",secondaryTextColor:"#52fa7c",secondaryBorderColor:"#52fa7c",tertiaryColor:"#303952",tertiaryTextColor:"#6071a4",tertiaryBorderColor:"#6071a4",noteBkgColor:"#797d45",noteTextColor:"#f1fa89",noteBorderColor:"#f1fa89",edgeLabelBackground:"#604b7d",edgeLabelText:"#604b7d",actorLineColor:"#6071a4",activeTaskBkgColor:"#803d63",activeTaskBorderColor:"#ff7ac6",doneTaskBkgColor:"#297d3e",doneTaskBorderColor:"#52fa7c",critBkgColor:"#802c2c",critBorderColor:"#ff5757",taskTextColor:"#bf95f9",taskTextOutsideColor:"#bf95f9",taskTextLightColor:"#bf95f9",sectionBkgColor:"#bf95f9b3",sectionBkgColor2:"#bf95f966",altSectionBkgColor:"#323443",todayLineColor:"#ff7ac6",gridColor:"#6071a4",defaultLinkColor:"#8be8fd",altBackground:"#bf95f9",classText:"#bf95f9",fillType0:"#406080",fillType1:"#46747f",fillType2:"#297d3e",fillType3:"#805c36",fillType4:"#803d63",fillType5:"#604b7d",fillType6:"#802c2c",fillType7:"#797d45",fillType8:"#7c7c79",git0:"#ff5555",git1:"#ffb86c",git2:"#f1fa8c",git3:"#50fa7b",git4:"#8be9fd",git5:"#809fff",git6:"#ff79c6",git7:"#bd93f9",gitInv0:"#ff5555",gitInv1:"#ffb86c",gitInv2:"#f1fa8c",gitInv3:"#50fa7b",gitInv4:"#8be9fd",gitInv5:"#809fff",gitInv6:"#ff79c6",gitInv7:"#bd93f9",gitBranchLabel0:"#323443",gitBranchLabel1:"#323443",gitBranchLabel2:"#323443",gitBranchLabel3:"#323443",gitBranchLabel4:"#323443",gitBranchLabel5:"#323443",gitBranchLabel6:"#323443",gitBranchLabel7:"#323443",commitLabelColor:"#52fa7c",commitLabelBackground:"#297d3e"},flowchart:{useMaxWidth:!1},er:{useMaxWidth:!1},sequence:{useMaxWidth:!1,noteFontWeight:"14px",actorFontSize:"14px",messageFontSize:"16px"},journey:{useMaxWidth:!1},pie:{useMaxWidth:!1},gantt:{useMaxWidth:!1},gitGraph:{useMaxWidth:!1}},default:{startOnLoad:!1,theme:"default",flowchart:{useMaxWidth:!1},er:{useMaxWidth:!1},sequence:{useMaxWidth:!1,noteFontWeight:"14px",actorFontSize:"14px",messageFontSize:"16px"},journey:{useMaxWidth:!1},pie:{useMaxWidth:!1},gantt:{useMaxWidth:!1},gitGraph:{useMaxWidth:!1}}}),(()=>{let a=Promise.resolve(),r=Promise.resolve();const o=new MutationObserver(t=>{t.forEach(t=>{"attributes"===t.type&&(t.target.getAttribute("data-md-color-scheme"),"undefined"!=typeof mermaid&&e("diagram"))})});window.document$.subscribe(()=>{o.observe(document.querySelector("body"),{attributeFilter:["data-md-color-scheme"]}),"undefined"!=typeof mermaid&&(a=a.then(()=>{e("diagram")}).catch(e=>{console.log(`UML loading failed...${e}`)})),"undefined"!=typeof katex?r=r.then(()=>{t("arithmatex","katex")}).catch(e=>{console.log(`Math loading failed...${e}`)}):"undefined"!=typeof MathJax&&"typesetPromise"in MathJax&&(r=r.then(()=>{t("arithmatex","mathjax")}).catch(e=>{console.log(`Math loading failed...${e}`)}))})})()}();
|
|
2
|
-
//# sourceMappingURL=extra-loader-
|
|
2
|
+
//# sourceMappingURL=extra-loader-DGSk4yI3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extra-loader-BSCOcbUK.js","sources":["uml.js","arithmatex.js","material-extra-3rdparty.js","extra-loader.js"],"sourcesContent":["/* Notes (as of Mermaid 8.7.0):\n * - Gantt: width is always relative to the parent, if you have a small parent, the chart will be squashed.\n * Can't help it.\n * - Journey: Suffers from the same issues that Gantt does.\n * - Pie: These charts have no default height or width. Good luck pinning them down to a reasonable size.\n * - Git: The render portion is agnostic to the size of the parent element. But padding of the SVG is relative\n * to the parent element. You will never find a happy size.\n */\n\n/**\n * Targets special code or div blocks and converts them to UML.\n * @param {string} className is the name of the class to target.\n * @return {void}\n */\nexport default async className => {\n\n // Custom element to encapsulate Mermaid content.\n class MermaidDiv extends HTMLElement {\n\n /**\n * Creates a special Mermaid div shadow DOM.\n * Works around issues of shared IDs.\n * @return {void}\n */\n constructor() {\n super()\n\n // Create the Shadow DOM and attach style\n const shadow = this.attachShadow({mode: \"open\"})\n const style = document.createElement(\"style\")\n style.textContent = `\n :host {\n display: block;\n line-height: initial;\n font-size: 16px;\n }\n div.diagram {\n margin: 0;\n overflow: visible;\n }`\n shadow.appendChild(style)\n }\n }\n\n if (typeof customElements.get(\"diagram-div\") === \"undefined\") {\n customElements.define(\"diagram-div\", MermaidDiv)\n }\n\n const getFromCode = parent => {\n // Handles <pre><code> text extraction.\n let text = \"\"\n for (let j = 0; j < parent.childNodes.length; j++) {\n const subEl = parent.childNodes[j]\n if (subEl.tagName.toLowerCase() === \"code\") {\n for (let k = 0; k < subEl.childNodes.length; k++) {\n const child = subEl.childNodes[k]\n const whitespace = /^\\s*$/\n if (child.nodeName === \"#text\" && !(whitespace.test(child.nodeValue))) {\n text = child.nodeValue\n break\n }\n }\n }\n }\n return text\n }\n\n // We use this to determine if we want the dark or light theme.\n // This is specific for our MkDocs Material environment.\n // You should load your configs based on your own environment's needs.\n const defaultConfig = {\n startOnLoad: false,\n theme: \"default\",\n flowchart: {\n useMaxWidth: false\n },\n er: {\n useMaxWidth: false\n },\n sequence: {\n useMaxWidth: false,\n noteFontWeight: \"14px\",\n actorFontSize: \"14px\",\n messageFontSize: \"16px\"\n }\n }\n mermaid.mermaidAPI.globalReset()\n // Non Material themes should just use \"default\"\n let scheme = null\n try {\n scheme = document.querySelector(\"[data-md-color-scheme]\").getAttribute(\"data-md-color-scheme\")\n } catch (err) {\n scheme = \"slate\"\n }\n const config = (typeof mermaidConfig === \"undefined\") ?\n defaultConfig :\n mermaidConfig[scheme] || (mermaidConfig.default || defaultConfig)\n mermaid.initialize(config)\n\n // Find all of our Mermaid sources and render them.\n const blocks = document.querySelectorAll(`pre.${className}, diagram-div`)\n const surrogate = document.querySelector(\"html body\")\n for (let i = 0; i < blocks.length; i++) {\n const block = blocks[i]\n const parentEl = (block.tagName.toLowerCase() === \"diagram-div\") ?\n block.shadowRoot.querySelector(`pre.${className}`) :\n block\n\n // Create a temporary element with the typeset and size we desire.\n // Insert it at the end of our parent to render the SVG.\n const temp = document.createElement(\"div\")\n temp.style.visibility = \"hidden\"\n temp.style.display = \"display\"\n temp.style.padding = \"0\"\n temp.style.margin = \"0\"\n temp.style.lineHeight = \"initial\"\n temp.style.fontSize = \"16px\"\n surrogate.appendChild(temp)\n\n try {\n const res = await mermaid.render(`_diagram_${i}`, getFromCode(parentEl), temp)\n const content = res.svg\n const fn = res.bindFunctions\n const el = document.createElement(\"div\")\n el.className = className\n el.innerHTML = content\n if (fn) {\n fn(el)\n }\n\n // Insert the render where we want it and remove the original text source.\n // Mermaid will clean up the temporary element.\n const shadow = document.createElement(\"diagram-div\")\n shadow.shadowRoot.appendChild(el)\n block.parentNode.insertBefore(shadow, block)\n parentEl.style.display = \"none\"\n shadow.shadowRoot.appendChild(parentEl)\n if (parentEl !== block) {\n block.parentNode.removeChild(block)\n }\n } catch (err) {} // eslint-disable-line no-empty\n\n if (surrogate.contains(temp)) {\n surrogate.removeChild(temp)\n }\n }\n}\n","export default (className, mode) => {\n if (mode === 'katex') {\n const maths = document.querySelectorAll(`.${className}`)\n\n for (let i = 0; i < maths.length; i++) {\n const tex = maths[i].textContent || maths[i].innerText\n\n if (tex.startsWith('\\\\(') && tex.endsWith('\\\\)')) {\n katex.render(tex.slice(2, -2), maths[i], {'displayMode': false})\n } else if (tex.startsWith('\\\\[') && tex.endsWith('\\\\]')) {\n katex.render(tex.slice(2, -2), maths[i], {'displayMode': true})\n }\n }\n } else if (mode === 'mathjax') {\n if (typeof MathJax.startup.output.clearCache !== \"undefined\") {\n MathJax.startup.output.clearCache()\n }\n MathJax.typesetClear()\n MathJax.texReset()\n MathJax.typesetPromise()\n }\n}\n","// MathJax configuration\n\nif (!('mathjaxConfig' in window)) {\n window.MathJax = {\n tex: {\n inlineMath: [[\"\\\\(\", \"\\\\)\"]],\n displayMath: [[\"\\\\[\", \"\\\\]\"]],\n processEscapes: true,\n processEnvironments: true,\n tagSide: \"right\",\n tagIndent: \".8em\",\n multlineWidth: \"85%\",\n tags: \"ams\"\n },\n options: {\n ignoreHtmlClass: \".*\",\n processHtmlClass: \"arithmatex\"\n }\n }\n}\n\nif (!('mermaidConfig' in window)) {\n // Our loader looks for `mermaidConfig` and will load the the appropriate\n // configuration based on our current scheme: light, dark, etc.\n window.mermaidConfig = {\n slate: {\n startOnLoad: false,\n theme: \"base\",\n themeCSS: \"\\\n * {\\\n --drac-page-bg: hsl(233, 15%, 23%);\\\n --drac-white-fg: hsl(60, 30%, 96%);\\\n --drac-purple-fg: hsl(265, 89%, 78%);\\\n --drac-purple-bg: hsl(265, 25%, 39%);\\\n --drac-yellow-fg: hsl(65, 92%, 76%);\\\n --drac-blue-fg: hsl(225, 27%, 51%);\\\n }\\\n \\\n /* General */\\\n [id^='_diagram'] {\\\n background-color: var(--drac-page-bg);\\\n }\\\n \\\n /* Entity Relationship */\\\n rect.relationshipLabelBox {\\\n opacity: 0.75 !important;\\\n fill: var(--drac-purple-bg) !important;\\\n }\\\n defs marker#ZERO_OR_MORE_END circle {\\\n fill: var(--drac-page-bg) !important;\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ZERO_OR_MORE_END path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ZERO_OR_MORE_START circle{\\\n fill: var(--drac-page-bg) !important;\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ZERO_OR_MORE_START path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ONLY_ONE_START path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ONLY_ONE_END path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ZERO_OR_ONE_START path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ZERO_OR_ONE_END path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ONE_OR_MORE_START path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ONE_OR_MORE_END path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n \\\n /* Flowchart */\\\n .labelText,\\\n :not(.branchLabel) > .label text {\\\n fill: var(--drac-purple-fg);\\\n }\\\n .edgeLabel text {\\\n fill: var(--drac-purple-fg) !important;\\\n }\\\n .edgeLabel rect {\\\n opacity: 0.75 !important;\\\n fill: var(--drac-purple-bg) !important;\\\n }\\\n \\\n .grey rect.label-container { \\\n fill: var(--drac-purple-bg) !important;\\\n stroke: var(--drac-purple-fg) !important;\\\n } \\\n /* Sequence */\\\n line[id^='actor'] {\\\n stroke: var(--drac-blue-fg);\\\n }\\\n .noteText {\\\n fill: var(--drac-yellow-fg);\\\n }\\\n \\\n /* Gantt */\\\n .sectionTitle {\\\n fill: var(--drac-purple-fg) !important;\\\n }\\\n \\\n .grid .tick line {\\\n stroke: var(--drac-blue-fg) !important;\\\n }\\\n \\\n .grid .tick text {\\\n fill: var(--drac-purple-fg);\\\n }\\\n \\\n /* Class Diagram */\\\n .statediagram-state rect.divider {\\\n fill: transparent !important;\\\n }\\\n \\\n /* State Diagram */\\\n .stateGroup circle[style$=\\\"fill: black;\\\"] {\\\n fill: var(--drac-purple-bg) !important;\\\n stroke: var(--drac-purple-bg) !important;\\\n }\\\n \\\n .stateGroup circle[style$=\\\"fill: white;\\\"] {\\\n fill: var(--drac-purple-bg) !important;\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n \\\n .stateGroup .composit {\\\n fill: var(--drac-page-bg);\\\n }\\\n /* Pie */\\\n text.slice {\\\n fill: var(--drac-white-fg) !important;\\\n }\\\n /* Git Graph */\\\n .commit-bullets .commit-reverse,\\\n .commit-bullets .commit-merge, \\\n .commit-bullets .commit-highlight-inner {\\\n fill: var(--drac-page-bg) !important;\\\n stroke: var(--drac-page-bg) !important;\\\n }\\\n \",\n themeVariables: {\n darkMode: true,\n background: \"#323443\",\n mainBkg: \"#604b7d\",\n textColor: \"#bf95f9\",\n lineColor: \"#bf95f9\",\n errorBkgColor: \"#802c2c\",\n errorTextColor: \"#ff5757\",\n primaryColor: \"#604b7d\",\n primaryTextColor: \"#bf95f9\",\n primaryBorderColor: \"#bf95f9\",\n secondaryColor: \"#297d3e\",\n secondaryTextColor: \"#52fa7c\",\n secondaryBorderColor: \"#52fa7c\",\n tertiaryColor: \"#303952\",\n tertiaryTextColor: \"#6071a4\",\n tertiaryBorderColor: \"#6071a4\",\n noteBkgColor: \"#797d45\",\n noteTextColor: \"#f1fa89\",\n noteBorderColor: \"#f1fa89\",\n edgeLabelBackground: \"#604b7d\",\n edgeLabelText: \"#604b7d\",\n\n actorLineColor: \"#6071a4\",\n\n activeTaskBkgColor: \"#803d63\",\n activeTaskBorderColor: \"#ff7ac6\",\n doneTaskBkgColor: \"#297d3e\",\n doneTaskBorderColor: \"#52fa7c\",\n critBkgColor: \"#802c2c\",\n critBorderColor: \"#ff5757\",\n taskTextColor: \"#bf95f9\",\n taskTextOutsideColor: \"#bf95f9\",\n taskTextLightColor: \"#bf95f9\",\n sectionBkgColor: \"#bf95f9b3\",\n sectionBkgColor2: \"#bf95f966\",\n altSectionBkgColor: \"#323443\",\n todayLineColor: \"#ff7ac6\",\n gridColor: \"#6071a4\",\n defaultLinkColor: \"#8be8fd\",\n\n altBackground: \"#bf95f9\",\n\n classText: \"#bf95f9\",\n\n fillType0: \"#406080\",\n fillType1: \"#46747f\",\n fillType2: \"#297d3e\",\n fillType3: \"#805c36\",\n fillType4: \"#803d63\",\n fillType5: \"#604b7d\",\n fillType6: \"#802c2c\",\n fillType7: \"#797d45\",\n fillType8: \"#7c7c79\",\n\n git0: \"#ff5555\",\n git1: \"#ffb86c\",\n git2: \"#f1fa8c\",\n git3: \"#50fa7b\",\n git4: \"#8be9fd\",\n git5: \"#809fff\",\n git6: \"#ff79c6\",\n git7: \"#bd93f9\",\n\n gitInv0: \"#ff5555\",\n gitInv1: \"#ffb86c\",\n gitInv2: \"#f1fa8c\",\n gitInv3: \"#50fa7b\",\n gitInv4: \"#8be9fd\",\n gitInv5: \"#809fff\",\n gitInv6: \"#ff79c6\",\n gitInv7: \"#bd93f9\",\n\n gitBranchLabel0: \"#323443\",\n gitBranchLabel1: \"#323443\",\n gitBranchLabel2: \"#323443\",\n gitBranchLabel3: \"#323443\",\n gitBranchLabel4: \"#323443\",\n gitBranchLabel5: \"#323443\",\n gitBranchLabel6: \"#323443\",\n gitBranchLabel7: \"#323443\",\n\n commitLabelColor: '#52fa7c',\n commitLabelBackground: '#297d3e'\n },\n flowchart: {\n useMaxWidth: false\n },\n er: {\n useMaxWidth: false\n },\n sequence: {\n useMaxWidth: false,\n // Mermaid handles Firefox a little different.\n // For some reason, it doesn't attach font sizes to the labels in Firefox.\n // If we specify the documented defaults, font sizes are written to the labels in Firefox.\n noteFontWeight: \"14px\",\n actorFontSize: \"14px\",\n messageFontSize: \"16px\"\n },\n journey: {\n useMaxWidth: false\n },\n pie: {\n useMaxWidth: false\n },\n gantt: {\n useMaxWidth: false\n },\n gitGraph: {\n useMaxWidth: false\n }\n },\n\n default: {\n startOnLoad: false,\n theme: \"default\",\n flowchart: {\n useMaxWidth: false\n },\n er: {\n useMaxWidth: false\n },\n sequence: {\n useMaxWidth: false,\n noteFontWeight: \"14px\",\n actorFontSize: \"14px\",\n messageFontSize: \"16px\"\n },\n journey: {\n useMaxWidth: false\n },\n pie: {\n useMaxWidth: false\n },\n gantt: {\n useMaxWidth: false\n },\n gitGraph: {\n useMaxWidth: false\n }\n }\n }\n}\n","import uml from \"./uml\"\nimport arithmatex from \"./arithmatex\"\nimport \"./material-extra-3rdparty\"\n\n// Main function\n(() => {\n let umlPromise = Promise.resolve()\n let mathPromise = Promise.resolve()\n\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.type === \"attributes\") {\n let scheme = mutation.target.getAttribute(\"data-md-color-scheme\")\n if (!scheme) {\n scheme = \"slate\"\n }\n if (typeof mermaid !== \"undefined\") {\n uml(\"diagram\")\n }\n }\n })\n })\n\n const main = () => {\n observer.observe(document.querySelector(\"body\"), {attributeFilter: [\"data-md-color-scheme\"]})\n\n if (typeof mermaid !== \"undefined\") {\n umlPromise = umlPromise.then(() => {\n uml(\"diagram\")\n }).catch(err => {\n console.log(`UML loading failed...${err}`) // eslint-disable-line no-console\n })\n }\n\n if (typeof katex !== \"undefined\") {\n mathPromise = mathPromise.then(() => {\n arithmatex(\"arithmatex\", \"katex\")\n }).catch(err => {\n console.log(`Math loading failed...${err}`) // eslint-disable-line no-console\n })\n } else if (typeof MathJax !== \"undefined\" && 'typesetPromise' in MathJax) {\n mathPromise = mathPromise.then(() => {\n arithmatex(\"arithmatex\", \"mathjax\")\n }).catch(err => {\n console.log(`Math loading failed...${err}`) // eslint-disable-line no-console\n })\n }\n }\n\n window.document$.subscribe(main)\n})()\n"],"names":["uml","async","MermaidDiv","HTMLElement","constructor","super","shadow","this","attachShadow","mode","style","document","createElement","textContent","appendChild","customElements","get","define","getFromCode","parent","text","j","childNodes","length","subEl","tagName","toLowerCase","k","child","whitespace","nodeName","test","nodeValue","defaultConfig","startOnLoad","theme","flowchart","useMaxWidth","er","sequence","noteFontWeight","actorFontSize","messageFontSize","mermaid","mermaidAPI","globalReset","scheme","querySelector","getAttribute","err","config","mermaidConfig","default","initialize","blocks","querySelectorAll","className","surrogate","i","block","parentEl","shadowRoot","temp","visibility","display","padding","margin","lineHeight","fontSize","res","render","content","svg","fn","bindFunctions","el","innerHTML","parentNode","insertBefore","removeChild","contains","arithmatex","maths","tex","innerText","startsWith","endsWith","katex","slice","displayMode","MathJax","startup","output","clearCache","typesetClear","texReset","typesetPromise","window","inlineMath","displayMath","processEscapes","processEnvironments","tagSide","tagIndent","multlineWidth","tags","options","ignoreHtmlClass","processHtmlClass","slate","themeCSS","themeVariables","darkMode","background","mainBkg","textColor","lineColor","errorBkgColor","errorTextColor","primaryColor","primaryTextColor","primaryBorderColor","secondaryColor","secondaryTextColor","secondaryBorderColor","tertiaryColor","tertiaryTextColor","tertiaryBorderColor","noteBkgColor","noteTextColor","noteBorderColor","edgeLabelBackground","edgeLabelText","actorLineColor","activeTaskBkgColor","activeTaskBorderColor","doneTaskBkgColor","doneTaskBorderColor","critBkgColor","critBorderColor","taskTextColor","taskTextOutsideColor","taskTextLightColor","sectionBkgColor","sectionBkgColor2","altSectionBkgColor","todayLineColor","gridColor","defaultLinkColor","altBackground","classText","fillType0","fillType1","fillType2","fillType3","fillType4","fillType5","fillType6","fillType7","fillType8","git0","git1","git2","git3","git4","git5","git6","git7","gitInv0","gitInv1","gitInv2","gitInv3","gitInv4","gitInv5","gitInv6","gitInv7","gitBranchLabel0","gitBranchLabel1","gitBranchLabel2","gitBranchLabel3","gitBranchLabel4","gitBranchLabel5","gitBranchLabel6","gitBranchLabel7","commitLabelColor","commitLabelBackground","journey","pie","gantt","gitGraph","umlPromise","Promise","resolve","mathPromise","observer","MutationObserver","mutations","forEach","mutation","type","target","document$","subscribe","observe","attributeFilter","then","catch","console","log"],"mappings":"yBAcA,IAAAA,EAAeC,UAGb,MAAMC,UAAmBC,YAOvB,WAAAC,GACEC,QAGA,MAAMC,EAASC,KAAKC,aAAa,CAACC,KAAM,SAClCC,EAAQC,SAASC,cAAc,SACrCF,EAAMG,YAAc,2LAUpBP,EAAOQ,YAAYJ,EACrB,OAG+C,IAAtCK,eAAeC,IAAI,gBAC5BD,eAAeE,OAAO,cAAef,GAGvC,MAAMgB,EAAcC,IAElB,IAAIC,EAAO,GACX,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAOG,WAAWC,OAAQF,IAAK,CACjD,MAAMG,EAAQL,EAAOG,WAAWD,GAChC,GAAoC,SAAhCG,EAAMC,QAAQC,cAChB,IAAK,IAAIC,EAAI,EAAGA,EAAIH,EAAMF,WAAWC,OAAQI,IAAK,CAChD,MAAMC,EAAQJ,EAAMF,WAAWK,GACzBE,EAAa,QACnB,GAAuB,UAAnBD,EAAME,WAA0BD,EAAWE,KAAKH,EAAMI,WAAa,CACrEZ,EAAOQ,EAAMI,UACb,KACF,CACF,CAEJ,CACA,OAAOZ,GAMHa,EAAgB,CACpBC,aAAa,EACbC,MAAO,UACPC,UAAW,CACTC,aAAa,GAEfC,GAAI,CACFD,aAAa,GAEfE,SAAU,CACRF,aAAa,EACbG,eAAgB,OAChBC,cAAe,OACfC,gBAAiB,SAGrBC,QAAQC,WAAWC,cAEnB,IAAIC,EAAS,KACb,IACEA,EAASnC,SAASoC,cAAc,0BAA0BC,aAAa,uBACzE,CAAE,MAAOC,GACPH,EAAS,OACX,CACA,MAAMI,EAAmC,oBAAlBC,cACrBlB,EACAkB,cAAcL,IAAYK,cAAcC,SAAWnB,EACrDU,QAAQU,WAAWH,GAGnB,MAAMI,EAAS3C,SAAS4C,iBAAiB,OAAOC,kBAC1CC,EAAY9C,SAASoC,cAAc,aACzC,IAAK,IAAIW,EAAI,EAAGA,EAAIJ,EAAO/B,OAAQmC,IAAK,CACtC,MAAMC,EAAQL,EAAOI,GACfE,EAA4C,gBAAhCD,EAAMlC,QAAQC,cAC9BiC,EAAME,WAAWd,cAAc,OAAOS,KACtCG,EAIIG,EAAOnD,SAASC,cAAc,OACpCkD,EAAKpD,MAAMqD,WAAa,SACxBD,EAAKpD,MAAMsD,QAAU,UACrBF,EAAKpD,MAAMuD,QAAU,IACrBH,EAAKpD,MAAMwD,OAAS,IACpBJ,EAAKpD,MAAMyD,WAAa,UACxBL,EAAKpD,MAAM0D,SAAW,OACtBX,EAAU3C,YAAYgD,GAEtB,IACE,MAAMO,QAAY1B,QAAQ2B,OAAO,YAAYZ,IAAKxC,EAAY0C,GAAWE,GACnES,EAAUF,EAAIG,IACdC,EAAKJ,EAAIK,cACTC,EAAKhE,SAASC,cAAc,OAClC+D,EAAGnB,UAAYA,EACfmB,EAAGC,UAAYL,EACXE,GACFA,EAAGE,GAKL,MAAMrE,EAASK,SAASC,cAAc,eACtCN,EAAOuD,WAAW/C,YAAY6D,GAC9BhB,EAAMkB,WAAWC,aAAaxE,EAAQqD,GACtCC,EAASlD,MAAMsD,QAAU,OACzB1D,EAAOuD,WAAW/C,YAAY8C,GAC1BA,IAAaD,GACfA,EAAMkB,WAAWE,YAAYpB,EAEjC,CAAE,MAAOV,GAAM,CAEXQ,EAAUuB,SAASlB,IACrBL,EAAUsB,YAAYjB,EAE1B,GCjJFmB,EAAe,CAACzB,EAAW/C,KACzB,GAAa,UAATA,EAAkB,CACpB,MAAMyE,EAAQvE,SAAS4C,iBAAiB,IAAIC,KAE5C,IAAK,IAAIE,EAAI,EAAGA,EAAIwB,EAAM3D,OAAQmC,IAAK,CACrC,MAAMyB,EAAMD,EAAMxB,GAAG7C,aAAeqE,EAAMxB,GAAG0B,UAEzCD,EAAIE,WAAW,QAAUF,EAAIG,SAAS,OACxCC,MAAMjB,OAAOa,EAAIK,MAAM,MAAQN,EAAMxB,GAAI,CAAC+B,aAAe,IAChDN,EAAIE,WAAW,QAAUF,EAAIG,SAAS,QAC/CC,MAAMjB,OAAOa,EAAIK,MAAM,MAAQN,EAAMxB,GAAI,CAAC+B,aAAe,GAE7D,CACF,KAAoB,YAAThF,SACyC,IAAtCiF,QAAQC,QAAQC,OAAOC,YACjCH,QAAQC,QAAQC,OAAOC,aAEzBH,QAAQI,eACRJ,QAAQK,WACRL,QAAQM,mBCjBN,kBAAmBC,SACvBA,OAAOP,QAAU,CACfP,IAAK,CACHe,WAAY,CAAC,CAAC,MAAO,QACrBC,YAAa,CAAC,CAAC,MAAO,QACtBC,gBAAgB,EAChBC,qBAAqB,EACrBC,QAAS,QACTC,UAAW,OACXC,cAAe,MACfC,KAAM,OAERC,QAAS,CACPC,gBAAiB,KACjBC,iBAAkB,gBAKlB,kBAAmBX,SAGvBA,OAAO9C,cAAgB,CACrB0D,MAAO,CACL3E,aAAa,EACbC,MAAO,OACP2E,SAAU,w/GA0HVC,eAAgB,CACdC,UAAU,EACVC,WAAY,UACZC,QAAS,UACTC,UAAW,UACXC,UAAW,UACXC,cAAe,UACfC,eAAgB,UAChBC,aAAc,UACdC,iBAAkB,UAClBC,mBAAoB,UACpBC,eAAgB,UAChBC,mBAAoB,UACpBC,qBAAsB,UACtBC,cAAe,UACfC,kBAAmB,UACnBC,oBAAqB,UACrBC,aAAc,UACdC,cAAe,UACfC,gBAAiB,UACjBC,oBAAqB,UACrBC,cAAe,UAEfC,eAAgB,UAEhBC,mBAAoB,UACpBC,sBAAuB,UACvBC,iBAAkB,UAClBC,oBAAqB,UACrBC,aAAc,UACdC,gBAAiB,UACjBC,cAAe,UACfC,qBAAsB,UACtBC,mBAAoB,UACpBC,gBAAiB,YACjBC,iBAAkB,YAClBC,mBAAoB,UACpBC,eAAgB,UAChBC,UAAW,UACXC,iBAAkB,UAElBC,cAAe,UAEfC,UAAW,UAEXC,UAAW,UACXC,UAAW,UACXC,UAAW,UACXC,UAAW,UACXC,UAAW,UACXC,UAAW,UACXC,UAAW,UACXC,UAAW,UACXC,UAAW,UAEXC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UACNC,KAAM,UAENC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UAETC,gBAAiB,UACjBC,gBAAiB,UACjBC,gBAAiB,UACjBC,gBAAiB,UACjBC,gBAAiB,UACjBC,gBAAiB,UACjBC,gBAAiB,UACjBC,gBAAiB,UAEjBC,iBAAkB,UAClBC,sBAAuB,WAEzBrJ,UAAW,CACTC,aAAa,GAEfC,GAAI,CACFD,aAAa,GAEfE,SAAU,CACRF,aAAa,EAIbG,eAAgB,OAChBC,cAAe,OACfC,gBAAiB,QAEnBgJ,QAAS,CACPrJ,aAAa,GAEfsJ,IAAK,CACHtJ,aAAa,GAEfuJ,MAAO,CACLvJ,aAAa,GAEfwJ,SAAU,CACRxJ,aAAa,IAIjBe,QAAS,CACPlB,aAAa,EACbC,MAAO,UACPC,UAAW,CACTC,aAAa,GAEfC,GAAI,CACFD,aAAa,GAEfE,SAAU,CACRF,aAAa,EACbG,eAAgB,OAChBC,cAAe,OACfC,gBAAiB,QAEnBgJ,QAAS,CACPrJ,aAAa,GAEfsJ,IAAK,CACHtJ,aAAa,GAEfuJ,MAAO,CACLvJ,aAAa,GAEfwJ,SAAU,CACRxJ,aAAa,MC5RrB,MACE,IAAIyJ,EAAaC,QAAQC,UACrBC,EAAcF,QAAQC,UAE1B,MAAME,EAAW,IAAIC,iBAAiBC,IACpCA,EAAUC,QAAQC,IACM,eAAlBA,EAASC,OACED,EAASE,OAAOxJ,aAAa,wBAInB,oBAAZL,SACT3C,EAAI,gBAgCZiG,OAAOwG,UAAUC,UA1BJ,KACXR,EAASS,QAAQhM,SAASoC,cAAc,QAAS,CAAC6J,gBAAiB,CAAC,0BAE7C,oBAAZjK,UACTmJ,EAAaA,EAAWe,KAAK,KAC3B7M,EAAI,aACH8M,MAAM7J,IACP8J,QAAQC,IAAI,wBAAwB/J,QAInB,oBAAVsC,MACT0G,EAAcA,EAAYY,KAAK,KAC7B5H,EAAW,aAAc,WACxB6H,MAAM7J,IACP8J,QAAQC,IAAI,yBAAyB/J,OAEX,oBAAZyC,SAA2B,mBAAoBA,UAC/DuG,EAAcA,EAAYY,KAAK,KAC7B5H,EAAW,aAAc,aACxB6H,MAAM7J,IACP8J,QAAQC,IAAI,yBAAyB/J,SAM5C,EA7CD"}
|
|
1
|
+
{"version":3,"file":"extra-loader-DGSk4yI3.js","sources":["uml.js","arithmatex.js","material-extra-3rdparty.js","extra-loader.js"],"sourcesContent":["/* Notes (as of Mermaid 8.7.0):\n * - Gantt: width is always relative to the parent, if you have a small parent, the chart will be squashed.\n * Can't help it.\n * - Journey: Suffers from the same issues that Gantt does.\n * - Pie: These charts have no default height or width. Good luck pinning them down to a reasonable size.\n * - Git: The render portion is agnostic to the size of the parent element. But padding of the SVG is relative\n * to the parent element. You will never find a happy size.\n */\n\n/**\n * Targets special code or div blocks and converts them to UML.\n * @param {string} className is the name of the class to target.\n * @return {void}\n */\nexport default async className => {\n\n // Custom element to encapsulate Mermaid content.\n class MermaidDiv extends HTMLElement {\n\n /**\n * Creates a special Mermaid div shadow DOM.\n * Works around issues of shared IDs.\n * @return {void}\n */\n constructor() {\n super()\n\n // Create the Shadow DOM and attach style\n const shadow = this.attachShadow({mode: \"open\"})\n const style = document.createElement(\"style\")\n style.textContent = `\n :host {\n display: block;\n line-height: initial;\n font-size: 16px;\n }\n div.diagram {\n margin: 0;\n overflow: visible;\n }`\n shadow.appendChild(style)\n }\n }\n\n if (typeof customElements.get(\"diagram-div\") === \"undefined\") {\n customElements.define(\"diagram-div\", MermaidDiv)\n }\n\n const getFromCode = parent => {\n // Handles <pre><code> text extraction.\n let text = \"\"\n for (let j = 0; j < parent.childNodes.length; j++) {\n const subEl = parent.childNodes[j]\n if (subEl.tagName.toLowerCase() === \"code\") {\n for (let k = 0; k < subEl.childNodes.length; k++) {\n const child = subEl.childNodes[k]\n const whitespace = /^\\s*$/\n if (child.nodeName === \"#text\" && !(whitespace.test(child.nodeValue))) {\n text = child.nodeValue\n break\n }\n }\n }\n }\n return text\n }\n\n // We use this to determine if we want the dark or light theme.\n // This is specific for our MkDocs Material environment.\n // You should load your configs based on your own environment's needs.\n const defaultConfig = {\n startOnLoad: false,\n theme: \"default\",\n flowchart: {\n useMaxWidth: false\n },\n er: {\n useMaxWidth: false\n },\n sequence: {\n useMaxWidth: false,\n noteFontWeight: \"14px\",\n actorFontSize: \"14px\",\n messageFontSize: \"16px\"\n }\n }\n mermaid.mermaidAPI.globalReset()\n // Non Material themes should just use \"default\"\n let scheme = null\n try {\n scheme = document.querySelector(\"[data-md-color-scheme]\").getAttribute(\"data-md-color-scheme\")\n } catch (err) {\n scheme = \"slate\"\n }\n const config = (typeof mermaidConfig === \"undefined\") ?\n defaultConfig :\n mermaidConfig[scheme] || (mermaidConfig.default || defaultConfig)\n mermaid.initialize(config)\n\n // Find all of our Mermaid sources and render them.\n const blocks = document.querySelectorAll(`pre.${className}, diagram-div`)\n const surrogate = document.querySelector(\"html body\")\n for (let i = 0; i < blocks.length; i++) {\n const block = blocks[i]\n const parentEl = (block.tagName.toLowerCase() === \"diagram-div\") ?\n block.shadowRoot.querySelector(`pre.${className}`) :\n block\n\n // Create a temporary element with the typeset and size we desire.\n // Insert it at the end of our parent to render the SVG.\n const temp = document.createElement(\"div\")\n temp.style.visibility = \"hidden\"\n temp.style.display = \"display\"\n temp.style.padding = \"0\"\n temp.style.margin = \"0\"\n temp.style.lineHeight = \"initial\"\n temp.style.fontSize = \"16px\"\n surrogate.appendChild(temp)\n\n try {\n const res = await mermaid.render(`_diagram_${i}`, getFromCode(parentEl), temp)\n const content = res.svg\n const fn = res.bindFunctions\n const el = document.createElement(\"div\")\n el.className = className\n el.innerHTML = content\n if (fn) {\n fn(el)\n }\n\n // Insert the render where we want it and remove the original text source.\n // Mermaid will clean up the temporary element.\n const shadow = document.createElement(\"diagram-div\")\n shadow.shadowRoot.appendChild(el)\n block.parentNode.insertBefore(shadow, block)\n parentEl.style.display = \"none\"\n shadow.shadowRoot.appendChild(parentEl)\n if (parentEl !== block) {\n block.parentNode.removeChild(block)\n }\n } catch (err) {} // eslint-disable-line no-empty\n\n if (surrogate.contains(temp)) {\n surrogate.removeChild(temp)\n }\n }\n}\n","export default (className, mode) => {\n if (mode === 'katex') {\n const maths = document.querySelectorAll(`.${className}`)\n\n for (let i = 0; i < maths.length; i++) {\n const tex = maths[i].textContent || maths[i].innerText\n\n if (tex.startsWith('\\\\(') && tex.endsWith('\\\\)')) {\n katex.render(tex.slice(2, -2), maths[i], {'displayMode': false})\n } else if (tex.startsWith('\\\\[') && tex.endsWith('\\\\]')) {\n katex.render(tex.slice(2, -2), maths[i], {'displayMode': true})\n }\n }\n } else if (mode === 'mathjax') {\n if (typeof MathJax.startup.output.clearCache !== \"undefined\") {\n MathJax.startup.output.clearCache()\n }\n MathJax.typesetClear()\n MathJax.texReset()\n MathJax.typesetPromise()\n }\n}\n","// MathJax configuration\n\nif (!('mathjaxConfig' in window)) {\n window.MathJax = {\n tex: {\n inlineMath: [[\"\\\\(\", \"\\\\)\"]],\n displayMath: [[\"\\\\[\", \"\\\\]\"]],\n processEscapes: true,\n processEnvironments: true,\n tagSide: \"right\",\n tagIndent: \".8em\",\n multlineWidth: \"85%\",\n tags: \"ams\"\n },\n options: {\n ignoreHtmlClass: \".*\",\n processHtmlClass: \"arithmatex\"\n }\n }\n}\n\nif (!('mermaidConfig' in window)) {\n // Our loader looks for `mermaidConfig` and will load the the appropriate\n // configuration based on our current scheme: light, dark, etc.\n window.mermaidConfig = {\n slate: {\n startOnLoad: false,\n theme: \"base\",\n themeCSS: \"\\\n * {\\\n --drac-page-bg: hsl(233, 15%, 23%);\\\n --drac-white-fg: hsl(60, 30%, 96%);\\\n --drac-purple-fg: hsl(265, 89%, 78%);\\\n --drac-purple-bg: hsl(265, 25%, 39%);\\\n --drac-yellow-fg: hsl(65, 92%, 76%);\\\n --drac-blue-fg: hsl(225, 27%, 51%);\\\n }\\\n \\\n /* General */\\\n [id^='_diagram'] {\\\n background-color: var(--drac-page-bg);\\\n }\\\n \\\n /* Entity Relationship */\\\n rect.relationshipLabelBox {\\\n opacity: 0.75 !important;\\\n fill: var(--drac-purple-bg) !important;\\\n }\\\n defs marker#ZERO_OR_MORE_END circle {\\\n fill: var(--drac-page-bg) !important;\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ZERO_OR_MORE_END path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ZERO_OR_MORE_START circle{\\\n fill: var(--drac-page-bg) !important;\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ZERO_OR_MORE_START path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ONLY_ONE_START path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ONLY_ONE_END path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ZERO_OR_ONE_START path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ZERO_OR_ONE_END path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ONE_OR_MORE_START path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ONE_OR_MORE_END path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n \\\n /* Flowchart */\\\n .labelText,\\\n :not(.branchLabel) > .label text {\\\n fill: var(--drac-purple-fg);\\\n }\\\n .edgeLabel text {\\\n fill: var(--drac-purple-fg) !important;\\\n }\\\n .edgeLabel rect {\\\n opacity: 0.75 !important;\\\n fill: var(--drac-purple-bg) !important;\\\n }\\\n \\\n .grey rect.label-container { \\\n fill: var(--drac-purple-bg) !important;\\\n stroke: var(--drac-purple-fg) !important;\\\n } \\\n /* Sequence */\\\n line[id^='actor'] {\\\n stroke: var(--drac-blue-fg);\\\n }\\\n .noteText {\\\n fill: var(--drac-yellow-fg);\\\n }\\\n \\\n /* Gantt */\\\n .sectionTitle {\\\n fill: var(--drac-purple-fg) !important;\\\n }\\\n \\\n .grid .tick line {\\\n stroke: var(--drac-blue-fg) !important;\\\n }\\\n \\\n .grid .tick text {\\\n fill: var(--drac-purple-fg);\\\n }\\\n \\\n /* Class Diagram */\\\n .statediagram-state rect.divider {\\\n fill: transparent !important;\\\n }\\\n \\\n /* State Diagram */\\\n .stateGroup circle[style$=\\\"fill: black;\\\"] {\\\n fill: var(--drac-purple-bg) !important;\\\n stroke: var(--drac-purple-bg) !important;\\\n }\\\n \\\n .stateGroup circle[style$=\\\"fill: white;\\\"] {\\\n fill: var(--drac-purple-bg) !important;\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n \\\n .stateGroup .composit {\\\n fill: var(--drac-page-bg);\\\n }\\\n /* Pie */\\\n text.slice {\\\n fill: var(--drac-white-fg) !important;\\\n }\\\n /* Git Graph */\\\n .commit-bullets .commit-reverse,\\\n .commit-bullets .commit-merge, \\\n .commit-bullets .commit-highlight-inner {\\\n fill: var(--drac-page-bg) !important;\\\n stroke: var(--drac-page-bg) !important;\\\n }\\\n \",\n themeVariables: {\n darkMode: true,\n background: \"#323443\",\n mainBkg: \"#604b7d\",\n textColor: \"#bf95f9\",\n lineColor: \"#bf95f9\",\n errorBkgColor: \"#802c2c\",\n errorTextColor: \"#ff5757\",\n primaryColor: \"#604b7d\",\n primaryTextColor: \"#bf95f9\",\n primaryBorderColor: \"#bf95f9\",\n secondaryColor: \"#297d3e\",\n secondaryTextColor: \"#52fa7c\",\n secondaryBorderColor: \"#52fa7c\",\n tertiaryColor: \"#303952\",\n tertiaryTextColor: \"#6071a4\",\n tertiaryBorderColor: \"#6071a4\",\n noteBkgColor: \"#797d45\",\n noteTextColor: \"#f1fa89\",\n noteBorderColor: \"#f1fa89\",\n edgeLabelBackground: \"#604b7d\",\n edgeLabelText: \"#604b7d\",\n\n actorLineColor: \"#6071a4\",\n\n activeTaskBkgColor: \"#803d63\",\n activeTaskBorderColor: \"#ff7ac6\",\n doneTaskBkgColor: \"#297d3e\",\n doneTaskBorderColor: \"#52fa7c\",\n critBkgColor: \"#802c2c\",\n critBorderColor: \"#ff5757\",\n taskTextColor: \"#bf95f9\",\n taskTextOutsideColor: \"#bf95f9\",\n taskTextLightColor: \"#bf95f9\",\n sectionBkgColor: \"#bf95f9b3\",\n sectionBkgColor2: \"#bf95f966\",\n altSectionBkgColor: \"#323443\",\n todayLineColor: \"#ff7ac6\",\n gridColor: \"#6071a4\",\n defaultLinkColor: \"#8be8fd\",\n\n altBackground: \"#bf95f9\",\n\n classText: \"#bf95f9\",\n\n fillType0: \"#406080\",\n fillType1: \"#46747f\",\n fillType2: \"#297d3e\",\n fillType3: \"#805c36\",\n fillType4: \"#803d63\",\n fillType5: \"#604b7d\",\n fillType6: \"#802c2c\",\n fillType7: \"#797d45\",\n fillType8: \"#7c7c79\",\n\n git0: \"#ff5555\",\n git1: \"#ffb86c\",\n git2: \"#f1fa8c\",\n git3: \"#50fa7b\",\n git4: \"#8be9fd\",\n git5: \"#809fff\",\n git6: \"#ff79c6\",\n git7: \"#bd93f9\",\n\n gitInv0: \"#ff5555\",\n gitInv1: \"#ffb86c\",\n gitInv2: \"#f1fa8c\",\n gitInv3: \"#50fa7b\",\n gitInv4: \"#8be9fd\",\n gitInv5: \"#809fff\",\n gitInv6: \"#ff79c6\",\n gitInv7: \"#bd93f9\",\n\n gitBranchLabel0: \"#323443\",\n gitBranchLabel1: \"#323443\",\n gitBranchLabel2: \"#323443\",\n gitBranchLabel3: \"#323443\",\n gitBranchLabel4: \"#323443\",\n gitBranchLabel5: \"#323443\",\n gitBranchLabel6: \"#323443\",\n gitBranchLabel7: \"#323443\",\n\n commitLabelColor: '#52fa7c',\n commitLabelBackground: '#297d3e'\n },\n flowchart: {\n useMaxWidth: false\n },\n er: {\n useMaxWidth: false\n },\n sequence: {\n useMaxWidth: false,\n // Mermaid handles Firefox a little different.\n // For some reason, it doesn't attach font sizes to the labels in Firefox.\n // If we specify the documented defaults, font sizes are written to the labels in Firefox.\n noteFontWeight: \"14px\",\n actorFontSize: \"14px\",\n messageFontSize: \"16px\"\n },\n journey: {\n useMaxWidth: false\n },\n pie: {\n useMaxWidth: false\n },\n gantt: {\n useMaxWidth: false\n },\n gitGraph: {\n useMaxWidth: false\n }\n },\n\n default: {\n startOnLoad: false,\n theme: \"default\",\n flowchart: {\n useMaxWidth: false\n },\n er: {\n useMaxWidth: false\n },\n sequence: {\n useMaxWidth: false,\n noteFontWeight: \"14px\",\n actorFontSize: \"14px\",\n messageFontSize: \"16px\"\n },\n journey: {\n useMaxWidth: false\n },\n pie: {\n useMaxWidth: false\n },\n gantt: {\n useMaxWidth: false\n },\n gitGraph: {\n useMaxWidth: false\n }\n }\n }\n}\n","import uml from \"./uml\"\nimport arithmatex from \"./arithmatex\"\nimport \"./material-extra-3rdparty\"\n\n// Main function\n(() => {\n let umlPromise = Promise.resolve()\n let mathPromise = Promise.resolve()\n\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.type === \"attributes\") {\n let scheme = mutation.target.getAttribute(\"data-md-color-scheme\")\n if (!scheme) {\n scheme = \"slate\"\n }\n if (typeof mermaid !== \"undefined\") {\n uml(\"diagram\")\n }\n }\n })\n })\n\n const main = () => {\n observer.observe(document.querySelector(\"body\"), {attributeFilter: [\"data-md-color-scheme\"]})\n\n if (typeof mermaid !== \"undefined\") {\n umlPromise = umlPromise.then(() => {\n uml(\"diagram\")\n }).catch(err => {\n console.log(`UML loading failed...${err}`) // eslint-disable-line no-console\n })\n }\n\n if (typeof katex !== \"undefined\") {\n mathPromise = mathPromise.then(() => {\n arithmatex(\"arithmatex\", \"katex\")\n }).catch(err => {\n console.log(`Math loading failed...${err}`) // eslint-disable-line no-console\n })\n } else if (typeof MathJax !== \"undefined\" && 'typesetPromise' in MathJax) {\n mathPromise = mathPromise.then(() => {\n arithmatex(\"arithmatex\", \"mathjax\")\n }).catch(err => {\n console.log(`Math loading failed...${err}`) // eslint-disable-line no-console\n })\n }\n }\n\n window.document$.subscribe(main)\n})()\n"],"names":["uml","async","MermaidDiv","HTMLElement","constructor","super","shadow","this","attachShadow","mode","style","document","createElement","textContent","appendChild","customElements","get","define","getFromCode","parent","text","j","childNodes","length","subEl","tagName","toLowerCase","k","child","whitespace","nodeName","test","nodeValue","defaultConfig","startOnLoad","theme","flowchart","useMaxWidth","er","sequence","noteFontWeight","actorFontSize","messageFontSize","mermaid","mermaidAPI","globalReset","scheme","querySelector","getAttribute","err","config","mermaidConfig","default","initialize","blocks","querySelectorAll","className","surrogate","i","block","parentEl","shadowRoot","temp","visibility","display","padding","margin","lineHeight","fontSize","res","render","content","svg","fn","bindFunctions","el","innerHTML","parentNode","insertBefore","removeChild","contains","arithmatex","maths","tex","innerText","startsWith","endsWith","katex","slice","displayMode","MathJax","startup","output","clearCache","typesetClear","texReset","typesetPromise","window","inlineMath","displayMath","processEscapes","processEnvironments","tagSide","tagIndent","multlineWidth","tags","options","ignoreHtmlClass","processHtmlClass","slate","themeCSS","themeVariables","darkMode","background","mainBkg","textColor","lineColor","errorBkgColor","errorTextColor","primaryColor","primaryTextColor","primaryBorderColor","secondaryColor","secondaryTextColor","secondaryBorderColor","tertiaryColor","tertiaryTextColor","tertiaryBorderColor","noteBkgColor","noteTextColor","noteBorderColor","edgeLabelBackground","edgeLabelText","actorLineColor","activeTaskBkgColor","activeTaskBorderColor","doneTaskBkgColor","doneTaskBorderColor","critBkgColor","critBorderColor","taskTextColor","taskTextOutsideColor","taskTextLightColor","sectionBkgColor","sectionBkgColor2","altSectionBkgColor","todayLineColor","gridColor","defaultLinkColor","altBackground","classText","fillType0","fillType1","fillType2","fillType3","fillType4","fillType5","fillType6","fillType7","fillType8","git0","git1","git2","git3","git4","git5","git6","git7","gitInv0","gitInv1","gitInv2","gitInv3","gitInv4","gitInv5","gitInv6","gitInv7","gitBranchLabel0","gitBranchLabel1","gitBranchLabel2","gitBranchLabel3","gitBranchLabel4","gitBranchLabel5","gitBranchLabel6","gitBranchLabel7","commitLabelColor","commitLabelBackground","journey","pie","gantt","gitGraph","umlPromise","Promise","resolve","mathPromise","observer","MutationObserver","mutations","forEach","mutation","type","target","document$","subscribe","observe","attributeFilter","then","catch","console","log"],"mappings":"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"}
|
|
@@ -28,7 +28,6 @@ class CustomMetadataHook(MetadataHookInterface):
|
|
|
28
28
|
"License :: OSI Approved :: MIT License",
|
|
29
29
|
"Operating System :: OS Independent",
|
|
30
30
|
"Programming Language :: Python :: 3",
|
|
31
|
-
"Programming Language :: Python :: 3.10",
|
|
32
31
|
"Programming Language :: Python :: 3.11",
|
|
33
32
|
"Programming Language :: Python :: 3.12",
|
|
34
33
|
"Programming Language :: Python :: 3.13",
|
|
@@ -193,5 +193,5 @@ def parse_version(ver: str) -> Version:
|
|
|
193
193
|
return Version(major, minor, micro, release, pre, post, dev)
|
|
194
194
|
|
|
195
195
|
|
|
196
|
-
__version_info__ = Version(
|
|
196
|
+
__version_info__ = Version(13, 0, 0, "final")
|
|
197
197
|
__version__ = __version_info__._get_canonical()
|
|
@@ -76,9 +76,9 @@ def _inline_mathjax_format(math, language='math', class_name='arithmatex', md=No
|
|
|
76
76
|
el = etree.Element(tag, {'class': 'arithmatex'})
|
|
77
77
|
if preview:
|
|
78
78
|
pre = etree.SubElement(el, 'span', {'class': 'MathJax_Preview'})
|
|
79
|
-
pre.text = md_util.AtomicString(math)
|
|
79
|
+
pre.text = md_util.AtomicString(_escape(math))
|
|
80
80
|
script = etree.SubElement(el, 'script', {'type': 'math/tex'})
|
|
81
|
-
script.text = md_util.AtomicString(math)
|
|
81
|
+
script.text = md_util.AtomicString(_escape(math))
|
|
82
82
|
return el
|
|
83
83
|
|
|
84
84
|
|
|
@@ -118,7 +118,7 @@ def _fence_mathjax_format(
|
|
|
118
118
|
|
|
119
119
|
text += (
|
|
120
120
|
'<script type="math/tex; mode=display">\n' +
|
|
121
|
-
math +
|
|
121
|
+
_escape(math) +
|
|
122
122
|
'\n</script>\n'
|
|
123
123
|
)
|
|
124
124
|
text += '</div>'
|
|
@@ -141,7 +141,7 @@ def _fence_generic_format(
|
|
|
141
141
|
classes = ' class="{}"'.format(' '.join(classes))
|
|
142
142
|
attrs = ' ' + ' '.join(f'{k}="{v}"' for k, v in attrs.items()) if attrs else ''
|
|
143
143
|
|
|
144
|
-
return f'<{tag}{id_value}{classes}{attrs}>{wrap.format(math)}</{tag}>'
|
|
144
|
+
return f'<{tag}{id_value}{classes}{attrs}>{wrap.format(_escape(math))}</{tag}>'
|
|
145
145
|
|
|
146
146
|
|
|
147
147
|
def arithmatex_fenced_format(**kwargs):
|
|
@@ -169,7 +169,7 @@ class InlineArithmatexPattern(InlineProcessor):
|
|
|
169
169
|
self.generic = config.get('generic', False)
|
|
170
170
|
wrap = config.get('tex_inline_wrap', ["\\(", "\\)"])
|
|
171
171
|
self.wrap = (
|
|
172
|
-
wrap[0].replace('{', '
|
|
172
|
+
wrap[0].replace('{', '{{').replace('}', '}}') + '{}' + wrap[1].replace('{', '{{').replace('}', '}}')
|
|
173
173
|
)
|
|
174
174
|
self.inline_tag = config.get('inline_tag', 'span')
|
|
175
175
|
|
|
@@ -209,7 +209,7 @@ class BlockArithmatexProcessor(BlockProcessor):
|
|
|
209
209
|
self.generic = config.get('generic', False)
|
|
210
210
|
wrap = config.get('tex_block_wrap', ['\\[', '\\]'])
|
|
211
211
|
self.wrap = (
|
|
212
|
-
wrap[0].replace('{', '
|
|
212
|
+
wrap[0].replace('{', '{{').replace('}', '}}') + '{}' + wrap[1].replace('{', '{{').replace('}', '}}')
|
|
213
213
|
)
|
|
214
214
|
self.block_tag = config.get('block_tag', 'div')
|
|
215
215
|
|
|
@@ -236,13 +236,13 @@ class BlockArithmatexProcessor(BlockProcessor):
|
|
|
236
236
|
preview = etree.SubElement(parent, 'div', {'class': 'MathJax_Preview'})
|
|
237
237
|
preview.text = md_util.AtomicString(math)
|
|
238
238
|
el = etree.SubElement(parent, 'script', {'type': 'math/tex; mode=display'})
|
|
239
|
-
el.text = md_util.AtomicString(math)
|
|
239
|
+
el.text = md_util.AtomicString(_escape(math))
|
|
240
240
|
|
|
241
241
|
def generic_output(self, parent, math):
|
|
242
242
|
"""Generic output."""
|
|
243
243
|
|
|
244
244
|
el = etree.SubElement(parent, self.block_tag, {'class': 'arithmatex'})
|
|
245
|
-
el.text = md_util.AtomicString(self.wrap.format(math))
|
|
245
|
+
el.text = md_util.AtomicString(self.wrap.format(_escape(math)))
|
|
246
246
|
|
|
247
247
|
def run(self, parent, blocks):
|
|
248
248
|
"""Find and handle block content."""
|
|
@@ -47,7 +47,7 @@ RE_TAG_HTML = re.compile(
|
|
|
47
47
|
(?:(\r?\n?\s*)<!--[\s\S]*?-->(\s*)(?=\r?\n)|<!--[\s\S]*?-->)
|
|
48
48
|
)|
|
|
49
49
|
(?P<open><\s*(?P<tag>img))
|
|
50
|
-
(?P<attr>(?:\s+[\w\-:]+(?:\s*=\s*(?:"[^"]*"|'[^']*'))?)*)
|
|
50
|
+
(?P<attr>(?:\s+[\w\-:]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'`=<>]+))?)*)
|
|
51
51
|
(?P<close>\s*(?:\/?)>)
|
|
52
52
|
)
|
|
53
53
|
'''
|
|
@@ -33,7 +33,8 @@ class BetterEmExtension(Extension):
|
|
|
33
33
|
"""Initialize."""
|
|
34
34
|
|
|
35
35
|
self.config = {
|
|
36
|
-
'smart_enable': ["underscore", "Treat connected words intelligently - Default: underscore"]
|
|
36
|
+
'smart_enable': ["underscore", "Treat connected words intelligently - Default: underscore"],
|
|
37
|
+
'punctuation': [True, "Force CommonMark punctuation rules when superscript is enabled - Default: True"]
|
|
37
38
|
}
|
|
38
39
|
|
|
39
40
|
super().__init__(*args, **kwargs)
|
|
@@ -58,6 +59,7 @@ class BetterEmExtension(Extension):
|
|
|
58
59
|
enable_all = enabled == "all"
|
|
59
60
|
enable_under = enabled == "underscore" or enable_all
|
|
60
61
|
enable_star = enabled == "asterisk" or enable_all
|
|
62
|
+
punct = bool(config['punctuation'])
|
|
61
63
|
|
|
62
64
|
# If we don't have to move an existing extension, use the same priority,
|
|
63
65
|
# but if we do have to, move it closely to the relative needed position.
|
|
@@ -70,8 +72,8 @@ class BetterEmExtension(Extension):
|
|
|
70
72
|
md.inlinePatterns.deregister('strong2', False)
|
|
71
73
|
md.inlinePatterns.deregister('emphasis2', False)
|
|
72
74
|
|
|
73
|
-
delim_star = Delimiter('*', 'strong,em', smart=enable_star)
|
|
74
|
-
delim_under = Delimiter('_', 'strong,em', smart=enable_under)
|
|
75
|
+
delim_star = Delimiter('*', 'strong,em', smart=enable_star, punct=punct)
|
|
76
|
+
delim_under = Delimiter('_', 'strong,em', smart=enable_under, punct=punct)
|
|
75
77
|
|
|
76
78
|
if (
|
|
77
79
|
'delimiter' not in md.inlinePatterns or
|
|
@@ -6,7 +6,7 @@ from ..saneheaders import RE_HEADER, SaneHeadersProcessor
|
|
|
6
6
|
import re
|
|
7
7
|
|
|
8
8
|
RE_SEP = re.compile(r'[_-]+')
|
|
9
|
-
RE_NORMAL_HEADING = re.compile(r'^(?P<level>#{1,6})(?P<header>(?:\\.|[^\\])*?)#*$')
|
|
9
|
+
RE_NORMAL_HEADING = re.compile(r'^(?P<level>#{1,6})(?P<header>(?:\\.|[^\\]|#+(?=[^#\n]))*?)#*$')
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class Admonition(Block):
|
|
@@ -34,7 +34,7 @@ def _type_multi(value: Any, types: Iterable[Callable[[Any], _T]] = ()) -> _T:
|
|
|
34
34
|
for t in types:
|
|
35
35
|
try:
|
|
36
36
|
return t(value)
|
|
37
|
-
except ValueError:
|
|
37
|
+
except ValueError:
|
|
38
38
|
pass
|
|
39
39
|
|
|
40
40
|
raise ValueError(f"Type '{type(value)}' did not match any of the provided types")
|
|
@@ -132,7 +132,7 @@ class CaptionTreeprocessor(Treeprocessor):
|
|
|
132
132
|
break
|
|
133
133
|
|
|
134
134
|
# Check if parent element is a figure of the current type
|
|
135
|
-
if parent.tag == 'figure' and parent.attrib
|
|
135
|
+
if parent.tag == 'figure' and parent.attrib.get('__figure_type') == fig_type:
|
|
136
136
|
# See if position in stack is manually specified
|
|
137
137
|
level = '__figure_level' in parent.attrib
|
|
138
138
|
if level:
|