crate-docs-theme 0.47.1.dev6__tar.gz → 0.49.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.
- {crate_docs_theme-0.47.1.dev6/src/crate_docs_theme.egg-info → crate_docs_theme-0.49.0}/PKG-INFO +4 -4
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/setup.py +3 -3
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/__init__.py +2 -2
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/__init__.py +32 -0
- crate_docs_theme-0.49.0/src/crate/theme/rtd/crate/directives/stepper.py +217 -0
- crate_docs_theme-0.49.0/src/crate/theme/rtd/crate/static/bundle/545e2a01321b20c6484b.svg +1 -0
- crate_docs_theme-0.49.0/src/crate/theme/rtd/crate/static/bundle/main.js +2 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/main.js.LICENSE.txt +3 -3
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/css/custom.css +1 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/css/furo-collapsible-toc.scss +18 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/css/stepper.css +12 -10
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/js/custom.js +9 -0
- crate_docs_theme-0.49.0/src/crate/theme/rtd/icons.py +30 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/sidebartoc.py +47 -21
- crate_docs_theme-0.49.0/src/crate/theme/vendor/__init__.py +0 -0
- crate_docs_theme-0.49.0/src/crate/theme/vendor/rtd_compat/__init__.py +0 -0
- crate_docs_theme-0.49.0/src/crate/theme/vendor/rtd_compat/extension.py +213 -0
- crate_docs_theme-0.49.0/src/crate/theme/vendor/rtd_compat/utils.py +55 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0/src/crate_docs_theme.egg-info}/PKG-INFO +4 -4
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate_docs_theme.egg-info/SOURCES.txt +6 -14
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate_docs_theme.egg-info/requires.txt +3 -3
- crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/directives/stepper.py +0 -104
- crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/sections/header-secondary-bread.html +0 -8
- crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/0941221c36dbb8c7515c.svg +0 -9
- crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/3a5b7e4c612e76e2c0ff.svg +0 -6
- crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/3bb637ff4794f3d3e80d.svg +0 -6
- crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/537cfe2ca7838b7da5a5.ttf +0 -0
- crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/8c206db99195777c6769.woff +0 -0
- crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/8ee112252f6bd5f0d5bd.woff2 +0 -0
- crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/aa27b6bdbf91d267ef8a.woff +0 -0
- crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/c216913a8330e43e3eb8.woff +0 -0
- crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/cca62d21c8c555c392e5.woff +0 -0
- crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/d30c09c602fda734ab0e.ttf +0 -0
- crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/d3bbf162120d8fbe0365.svg +0 -9
- crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/eba7ebd79e77ae615a45.svg +0 -9
- crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/f0f7f544ef1cf58d3157.svg +0 -9
- crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/main.js +0 -2
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/LICENSE +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/MANIFEST.in +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/NOTICE +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/README.rst +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/requirements.txt +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/setup.cfg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/__init__.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/cloud.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/cloud_cli.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/crate_admin_ui.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/crate_clients_tools.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/crate_crash.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/crate_howtos.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/crate_reference.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/crate_tutorials.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/cratedb_guide.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/dbal.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/doing_docs.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/furo.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/jdbc.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/npgsql.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/pdo.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/python.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/sql_99.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/sqlalchemy_cratedb.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/theme.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/base.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/components/github_feedback_compact.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/components/github_feedback_full.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/components/github_feedback_full.js +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/components/github_keynav.js +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/components/related-pages.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/components/toggle-sidebar-primary.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/components/toggle-sidebar-secondary.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/components/version_chooser.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/directives/__init__.py +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/globaltoc.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/layout_legacy.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/localtoc.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/navbarsearchbox.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/navbartoc.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/page.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/partials/_head_css_variables.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/partials/icons.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/relations.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/search.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/searchbox.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/searchresults.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sections/announcement.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sections/article.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sections/footer-article.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sections/footer.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sections/footer_sql99.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sections/header-article.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sections/header-content.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sections/header.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sections/sidebar-primary.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sections/sidebar-secondary.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/settings.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sidebar.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sidebartoc.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sourcelink.html +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/.gitignore +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/4201798fe1a74331c392.woff2 +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/62f9ca87fa5df2b9d19c.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/6a277ad308d7bca8fb5e.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/874d1315c94f1de4f3c3.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/94a7835c529d36cfd203.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/94faa7c55f8fa5b37a3a.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/b5f0f109bc88052d4000.woff2 +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/bb993ea6f2ae3394f7fc.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/c878830331e91b3b2408.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/c8ba52b05a9ef10f4758.woff2 +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/c932f86c7fadb6ad267f.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/f044c944446ad30faa96.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/fb7dfcc48f465d9f3215.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/css/components.css +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/css/crateio-rtd.css +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/css/crateio.css +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/css/index.css +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/css/ng/furo.scss +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/css/ng/index.scss +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/css/ng/layout.scss +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/css/ng/page-tools.scss +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/css/ng/settings.scss +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/fonts/Inter-Regular.woff2 +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/fonts/Inter-SemiBold.woff2 +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/fonts/montserrat-v26-latin-600.woff2 +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/admonition/caution.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/admonition/caution@2x.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/admonition/icon-docs-caution.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/admonition/icon-docs-danger.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/admonition/icon-docs-note.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/admonition/icon-docs-seealso.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/admonition/icon-docs-tip.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/admonition/icon-docs-warning.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/admonition/note-sql-99.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/admonition/note.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/admonition/note@2x.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/admonition/seealso.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/admonition/seealso@2x.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/admonition/tip.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/admonition/tip@2x.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/admonition/warning.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/admonition/warning@2x.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/apple-touch-icon.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/bg-banner-sql99.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/cloud_admin.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/cloud_everywhere.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/cloud_open-source.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/cloud_scale.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/crate-logo-white.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/crate-logo.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/cratedb-logo-h400.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/cratedb-logo-h630.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/cratedb-logo-h742.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/cratedb-logo-white.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/cratedb-logo.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/erdf.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/f-logo-facebook.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/f-logo-github.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/f-logo-google.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/f-logo-linkedin.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/f-logo-twitter.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/f-logo-youtube.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/favicon.ico +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/favicon.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/icon-docs@2x.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/icon-home-fast-x100.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/icon-home-playswell-x100.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/icon-home-simple-x100.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/icon-install.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/icon-performance@2x.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/icon-search2x.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/icon-search@2x.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/icon-start@2x.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/icon-support@2x.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/icon_analytics.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/icon_blob.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/icon_document.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/icon_link_external-sql-99.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/icon_link_external.svg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/icon_restructure.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/icon_search.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/logo-crate.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/logo-eu-optimized-1.jpg +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/slack.png +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/js/crate.js +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/js/index.js +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/js/util.js +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/index.js +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/scripts/furo.js +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/scripts/furo.js.LICENSE.txt +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/scripts/furo.js.map +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/scripts/gumshoe-patched.js +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/_scaffold.sass +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/_shame.sass +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/base/_index.sass +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/base/_screen-readers.sass +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/base/_theme.sass +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/components/_footer.sass +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/components/_index.sass +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/components/_search.sass +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/components/_sidebar.sass +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/components/_table_of_contents.sass +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/content/_admonitions.sass +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/content/_code.sass +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/content/_footnotes.sass +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/content/_index.sass +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/content/_misc.sass +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/content/_sidebar.sass +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/furo.sass +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/variables/_admonitions.scss +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/variables/_fonts.scss +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/variables/_icons.scss +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/variables/_index.sass +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/variables/_layout.scss +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/variables/_spacing.scss +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/variables/_theme.scss +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/variables/colors.scss +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/theme.conf +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate_docs_theme.egg-info/dependency_links.txt +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate_docs_theme.egg-info/not-zip-safe +0 -0
- {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate_docs_theme.egg-info/top_level.txt +0 -0
{crate_docs_theme-0.47.1.dev6/src/crate_docs_theme.egg-info → crate_docs_theme-0.49.0}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crate-docs-theme
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.49.0
|
|
4
4
|
Summary: CrateDB Documentation Theme
|
|
5
5
|
Home-page: https://github.com/crate/crate-docs-theme
|
|
6
6
|
Author: Crate.IO GmbH
|
|
@@ -26,12 +26,12 @@ Requires-Dist: furo==2025.12.19
|
|
|
26
26
|
Requires-Dist: jinja2<4,>=3
|
|
27
27
|
Requires-Dist: jupysql<0.12
|
|
28
28
|
Requires-Dist: myst-nb<1.4
|
|
29
|
-
Requires-Dist: myst-parser[linkify]<
|
|
29
|
+
Requires-Dist: myst-parser[linkify]<6
|
|
30
30
|
Requires-Dist: snowballstemmer<4
|
|
31
|
-
Requires-Dist: sphinx<
|
|
31
|
+
Requires-Dist: sphinx<10,>=7.1
|
|
32
32
|
Requires-Dist: sphinx-basic-ng==1.0.0b2
|
|
33
33
|
Requires-Dist: sphinx-copybutton<1,>=0.3.1
|
|
34
|
-
Requires-Dist: sphinx-design-elements
|
|
34
|
+
Requires-Dist: sphinx-design-elements<0.5
|
|
35
35
|
Requires-Dist: sphinx-inline-tabs
|
|
36
36
|
Requires-Dist: sphinx-sitemap<2.10.0
|
|
37
37
|
Requires-Dist: sphinx-togglebutton<1
|
|
@@ -62,12 +62,12 @@ setup(
|
|
|
62
62
|
"jinja2>=3,<4",
|
|
63
63
|
"jupysql<0.12",
|
|
64
64
|
"myst-nb<1.4",
|
|
65
|
-
"myst-parser[linkify]<
|
|
65
|
+
"myst-parser[linkify]<6",
|
|
66
66
|
"snowballstemmer<4",
|
|
67
|
-
"sphinx>=7.1,<
|
|
67
|
+
"sphinx>=7.1,<10",
|
|
68
68
|
"sphinx-basic-ng==1.0.0b2",
|
|
69
69
|
"sphinx-copybutton>=0.3.1,<1",
|
|
70
|
-
"sphinx-design-elements
|
|
70
|
+
"sphinx-design-elements<0.5",
|
|
71
71
|
"sphinx-inline-tabs",
|
|
72
72
|
"sphinx-sitemap<2.10.0",
|
|
73
73
|
"sphinx-togglebutton<1",
|
{crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/__init__.py
RENAMED
|
@@ -206,6 +206,35 @@ nb_execution_raise_on_error = True
|
|
|
206
206
|
|
|
207
207
|
def setup(app):
|
|
208
208
|
|
|
209
|
+
def setup_sphinx_compatibility():
|
|
210
|
+
"""
|
|
211
|
+
Resolve problem with `sphinx_build_compatibility` extension.
|
|
212
|
+
|
|
213
|
+
Add Sphinx extension at runtime, in order to be able to configure it previously.
|
|
214
|
+
This is needed because it has some quirks that reveal themselves when invoked in
|
|
215
|
+
non-RTD environments.
|
|
216
|
+
|
|
217
|
+
- https://github.com/crate/crate-docs-theme/issues/536
|
|
218
|
+
- https://about.readthedocs.com/blog/2024/07/addons-by-default/
|
|
219
|
+
- https://github.com/readthedocs/sphinx-build-compatibility
|
|
220
|
+
"""
|
|
221
|
+
|
|
222
|
+
# Extension error (sphinx_build_compatibility.extension):
|
|
223
|
+
# Handler <function manipulate_config at 0x10a4289a0> for event 'config-inited' threw an exception
|
|
224
|
+
# (exception: argument of type 'NoneType' is not iterable)
|
|
225
|
+
os.environ.setdefault("READTHEDOCS_GIT_CLONE_URL", "")
|
|
226
|
+
|
|
227
|
+
# IndexError: list index out of range
|
|
228
|
+
# project_id = response_project["results"][0]["id"]
|
|
229
|
+
# Currently needs a valid project on PyPI. Long-term fix should go into upstream code.
|
|
230
|
+
os.environ.setdefault("READTHEDOCS_PROJECT", "crate-docs-theme")
|
|
231
|
+
|
|
232
|
+
# Exception: 'NoneType' object is not subscriptable
|
|
233
|
+
os.environ.setdefault("READTHEDOCS_GIT_COMMIT_HASH", "")
|
|
234
|
+
|
|
235
|
+
# Register vendorized Sphinx plugin.
|
|
236
|
+
app.setup_extension("crate.theme.vendor.rtd_compat.extension")
|
|
237
|
+
|
|
209
238
|
# Configure Sphinx/RTD to host projects on a custom domain, but also on a non-root resource.
|
|
210
239
|
def configure_self_hosted_on_path(app_inited):
|
|
211
240
|
"""
|
|
@@ -299,6 +328,9 @@ def setup(app):
|
|
|
299
328
|
except Exception as ex:
|
|
300
329
|
print(f"ERROR: Unable to adjust `html_context`. Reason: {ex}")
|
|
301
330
|
|
|
331
|
+
# Read The Docs compatibility issues.
|
|
332
|
+
setup_sphinx_compatibility()
|
|
333
|
+
|
|
302
334
|
# Modern / NG / Furo.
|
|
303
335
|
app.require_sphinx("3.0")
|
|
304
336
|
app.connect("html-page-context", _html_page_context)
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
# -*- coding: utf-8; -*-
|
|
2
|
+
"""
|
|
3
|
+
Stepper directive for step-by-step documentation.
|
|
4
|
+
|
|
5
|
+
Usage (MyST markdown):
|
|
6
|
+
```
|
|
7
|
+
:::{stepper}
|
|
8
|
+
## First step
|
|
9
|
+
Content for first step.
|
|
10
|
+
|
|
11
|
+
## Second step
|
|
12
|
+
Content for second step.
|
|
13
|
+
|
|
14
|
+
### Nested heading
|
|
15
|
+
This stays inside step two.
|
|
16
|
+
:::
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Each heading at the first level inside the stepper becomes a numbered step.
|
|
20
|
+
Deeper headings remain as nested content within their parent step.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
import re
|
|
24
|
+
from docutils import nodes
|
|
25
|
+
from sphinx.util.docutils import SphinxDirective
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class stepper_node(nodes.General, nodes.Element):
|
|
29
|
+
"""Container node for the stepper component."""
|
|
30
|
+
pass
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class step_node(nodes.General, nodes.Element):
|
|
34
|
+
"""Individual step node within a stepper."""
|
|
35
|
+
pass
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class step_title_node(nodes.General, nodes.Element):
|
|
39
|
+
"""Step title node that renders as a proper heading element."""
|
|
40
|
+
pass
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class StepperDirective(SphinxDirective):
|
|
44
|
+
"""Container for step-by-step instructions.
|
|
45
|
+
|
|
46
|
+
Converts MyST markdown headings into numbered steps while preserving
|
|
47
|
+
their level and anchors for deep linking. Only the first heading level
|
|
48
|
+
encountered becomes steps; deeper headings stay nested within steps.
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
has_content = True
|
|
52
|
+
option_spec = {
|
|
53
|
+
'class': str,
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
def run(self):
|
|
57
|
+
stepper = stepper_node()
|
|
58
|
+
stepper['classes'] = self.options.get('class', '').split()
|
|
59
|
+
|
|
60
|
+
# Pre-scan content to detect heading levels from MyST markdown
|
|
61
|
+
# and determine the step level (first heading level found)
|
|
62
|
+
heading_levels = {}
|
|
63
|
+
step_level = None
|
|
64
|
+
for line in self.content:
|
|
65
|
+
match = re.match(r'^(#{1,6})\s+(.+)$', line.strip())
|
|
66
|
+
if match:
|
|
67
|
+
level = len(match.group(1))
|
|
68
|
+
title = match.group(2).strip()
|
|
69
|
+
slug = nodes.make_id(title)
|
|
70
|
+
heading_levels[slug] = level
|
|
71
|
+
# First heading level becomes the step level
|
|
72
|
+
if step_level is None:
|
|
73
|
+
step_level = level
|
|
74
|
+
|
|
75
|
+
# Parse the content
|
|
76
|
+
container = nodes.container()
|
|
77
|
+
self.state.nested_parse(self.content, self.content_offset, container)
|
|
78
|
+
|
|
79
|
+
step_number = 1
|
|
80
|
+
current_step = None
|
|
81
|
+
intro_content = []
|
|
82
|
+
|
|
83
|
+
for child in container.children:
|
|
84
|
+
# MyST parser uses rubric nodes for headings when they appear inside
|
|
85
|
+
# a directive/container.
|
|
86
|
+
is_markdown_heading = False
|
|
87
|
+
|
|
88
|
+
if isinstance(child, nodes.rubric):
|
|
89
|
+
# Get heading info
|
|
90
|
+
heading_id = child.get('ids', [''])[0] if child.get('ids') else ''
|
|
91
|
+
heading_text = child.astext()
|
|
92
|
+
|
|
93
|
+
# Only process as a heading if this rubric corresponds to a
|
|
94
|
+
# markdown heading (found in pre-scan). Explicit rubric directives
|
|
95
|
+
# won't be in heading_levels and should be treated as regular content.
|
|
96
|
+
if heading_id in heading_levels:
|
|
97
|
+
is_markdown_heading = True
|
|
98
|
+
heading_level = heading_levels[heading_id]
|
|
99
|
+
|
|
100
|
+
# Only treat as new step if at the step level
|
|
101
|
+
if heading_level == step_level:
|
|
102
|
+
# Close previous step if any
|
|
103
|
+
if current_step is not None:
|
|
104
|
+
stepper += current_step
|
|
105
|
+
|
|
106
|
+
# Add intro content before first step
|
|
107
|
+
if intro_content:
|
|
108
|
+
for item in intro_content:
|
|
109
|
+
stepper += item
|
|
110
|
+
intro_content = []
|
|
111
|
+
|
|
112
|
+
# Create new step
|
|
113
|
+
current_step = step_node()
|
|
114
|
+
current_step['step-number'] = step_number
|
|
115
|
+
current_step['classes'] = ['stepper-step']
|
|
116
|
+
|
|
117
|
+
# Create step title node
|
|
118
|
+
title_node = step_title_node()
|
|
119
|
+
title_node['ids'] = child.get('ids', [])
|
|
120
|
+
title_node['level'] = heading_level
|
|
121
|
+
title_node['text'] = heading_text
|
|
122
|
+
current_step += title_node
|
|
123
|
+
|
|
124
|
+
step_number += 1
|
|
125
|
+
else:
|
|
126
|
+
# Nested heading - add as content within current step
|
|
127
|
+
if current_step is not None:
|
|
128
|
+
# Convert rubric to a proper heading node for nested headings
|
|
129
|
+
title_node = step_title_node()
|
|
130
|
+
title_node['ids'] = child.get('ids', [])
|
|
131
|
+
title_node['level'] = heading_level
|
|
132
|
+
title_node['text'] = heading_text
|
|
133
|
+
current_step += title_node
|
|
134
|
+
else:
|
|
135
|
+
intro_content.append(child)
|
|
136
|
+
|
|
137
|
+
# Handle regular content (non-heading rubrics and all other nodes)
|
|
138
|
+
if not is_markdown_heading:
|
|
139
|
+
if current_step is not None:
|
|
140
|
+
current_step += child
|
|
141
|
+
else:
|
|
142
|
+
intro_content.append(child)
|
|
143
|
+
|
|
144
|
+
if current_step is not None:
|
|
145
|
+
stepper += current_step
|
|
146
|
+
|
|
147
|
+
if intro_content:
|
|
148
|
+
for item in intro_content:
|
|
149
|
+
stepper += item
|
|
150
|
+
|
|
151
|
+
return [stepper]
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
# HTML Translator functions
|
|
155
|
+
|
|
156
|
+
def html_visit_stepper_node(self, node):
|
|
157
|
+
self.body.append(self.starttag(node, 'div', CLASS='stepper'))
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
def html_depart_stepper_node(self, node):
|
|
161
|
+
self.body.append('</div>\n')
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
def html_visit_step_node(self, node):
|
|
165
|
+
step_number = node.get('step-number', '')
|
|
166
|
+
self.body.append('<div class="stepper-step">\n')
|
|
167
|
+
self.body.append(f'<div class="stepper-number">{step_number}</div>\n')
|
|
168
|
+
self.body.append('<div class="stepper-content">\n')
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
def html_depart_step_node(self, node):
|
|
172
|
+
self.body.append('</div>\n') # Close stepper-content
|
|
173
|
+
self.body.append('</div>\n') # Close stepper-step
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
def html_visit_step_title_node(self, node):
|
|
177
|
+
level = node.get('level', 3)
|
|
178
|
+
heading_id = node.get('ids', [''])[0] if node.get('ids') else ''
|
|
179
|
+
text = node.get('text', '')
|
|
180
|
+
|
|
181
|
+
id_attr = f' id="{heading_id}"' if heading_id else ''
|
|
182
|
+
headerlink = ''
|
|
183
|
+
if heading_id:
|
|
184
|
+
headerlink = (
|
|
185
|
+
f'<a class="headerlink" href="#{heading_id}" '
|
|
186
|
+
f'title="Link to this heading">¶</a>'
|
|
187
|
+
)
|
|
188
|
+
self.body.append(f'<h{level}{id_attr}>{text}{headerlink}</h{level}>\n')
|
|
189
|
+
raise nodes.SkipNode
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
def html_depart_step_title_node(self, node):
|
|
193
|
+
pass # Not called due to SkipNode
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
def setup(app):
|
|
197
|
+
"""Register the stepper directive and nodes."""
|
|
198
|
+
app.add_node(
|
|
199
|
+
stepper_node,
|
|
200
|
+
html=(html_visit_stepper_node, html_depart_stepper_node)
|
|
201
|
+
)
|
|
202
|
+
app.add_node(
|
|
203
|
+
step_node,
|
|
204
|
+
html=(html_visit_step_node, html_depart_step_node)
|
|
205
|
+
)
|
|
206
|
+
app.add_node(
|
|
207
|
+
step_title_node,
|
|
208
|
+
html=(html_visit_step_title_node, html_depart_step_title_node)
|
|
209
|
+
)
|
|
210
|
+
|
|
211
|
+
app.add_directive('stepper', StepperDirective)
|
|
212
|
+
|
|
213
|
+
return {
|
|
214
|
+
'version': '1.0',
|
|
215
|
+
'parallel_read_safe': True,
|
|
216
|
+
'parallel_write_safe': True,
|
|
217
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M15.707 12l-5.647-5.646a.5.5 0 01.708-.708l6 6a.5.5 0 010 .708l-6 6a.5.5 0 01-.708-.708L15.707 12z"/></svg>
|