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.
Files changed (221) hide show
  1. {crate_docs_theme-0.47.1.dev6/src/crate_docs_theme.egg-info → crate_docs_theme-0.49.0}/PKG-INFO +4 -4
  2. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/setup.py +3 -3
  3. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/__init__.py +2 -2
  4. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/__init__.py +32 -0
  5. crate_docs_theme-0.49.0/src/crate/theme/rtd/crate/directives/stepper.py +217 -0
  6. crate_docs_theme-0.49.0/src/crate/theme/rtd/crate/static/bundle/545e2a01321b20c6484b.svg +1 -0
  7. crate_docs_theme-0.49.0/src/crate/theme/rtd/crate/static/bundle/main.js +2 -0
  8. {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
  9. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/css/custom.css +1 -0
  10. {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
  11. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/css/stepper.css +12 -10
  12. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/js/custom.js +9 -0
  13. crate_docs_theme-0.49.0/src/crate/theme/rtd/icons.py +30 -0
  14. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/sidebartoc.py +47 -21
  15. crate_docs_theme-0.49.0/src/crate/theme/vendor/__init__.py +0 -0
  16. crate_docs_theme-0.49.0/src/crate/theme/vendor/rtd_compat/__init__.py +0 -0
  17. crate_docs_theme-0.49.0/src/crate/theme/vendor/rtd_compat/extension.py +213 -0
  18. crate_docs_theme-0.49.0/src/crate/theme/vendor/rtd_compat/utils.py +55 -0
  19. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0/src/crate_docs_theme.egg-info}/PKG-INFO +4 -4
  20. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate_docs_theme.egg-info/SOURCES.txt +6 -14
  21. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate_docs_theme.egg-info/requires.txt +3 -3
  22. crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/directives/stepper.py +0 -104
  23. crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/sections/header-secondary-bread.html +0 -8
  24. crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/0941221c36dbb8c7515c.svg +0 -9
  25. crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/3a5b7e4c612e76e2c0ff.svg +0 -6
  26. crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/3bb637ff4794f3d3e80d.svg +0 -6
  27. crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/537cfe2ca7838b7da5a5.ttf +0 -0
  28. crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/8c206db99195777c6769.woff +0 -0
  29. crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/8ee112252f6bd5f0d5bd.woff2 +0 -0
  30. crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/aa27b6bdbf91d267ef8a.woff +0 -0
  31. crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/c216913a8330e43e3eb8.woff +0 -0
  32. crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/cca62d21c8c555c392e5.woff +0 -0
  33. crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/d30c09c602fda734ab0e.ttf +0 -0
  34. crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/d3bbf162120d8fbe0365.svg +0 -9
  35. crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/eba7ebd79e77ae615a45.svg +0 -9
  36. crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/f0f7f544ef1cf58d3157.svg +0 -9
  37. crate_docs_theme-0.47.1.dev6/src/crate/theme/rtd/crate/static/bundle/main.js +0 -2
  38. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/LICENSE +0 -0
  39. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/MANIFEST.in +0 -0
  40. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/NOTICE +0 -0
  41. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/README.rst +0 -0
  42. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/requirements.txt +0 -0
  43. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/setup.cfg +0 -0
  44. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/__init__.py +0 -0
  45. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/cloud.py +0 -0
  46. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/cloud_cli.py +0 -0
  47. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/crate_admin_ui.py +0 -0
  48. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/crate_clients_tools.py +0 -0
  49. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/crate_crash.py +0 -0
  50. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/crate_howtos.py +0 -0
  51. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/crate_reference.py +0 -0
  52. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/crate_tutorials.py +0 -0
  53. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/cratedb_guide.py +0 -0
  54. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/dbal.py +0 -0
  55. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/doing_docs.py +0 -0
  56. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/furo.py +0 -0
  57. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/jdbc.py +0 -0
  58. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/npgsql.py +0 -0
  59. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/pdo.py +0 -0
  60. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/python.py +0 -0
  61. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/sql_99.py +0 -0
  62. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/sqlalchemy_cratedb.py +0 -0
  63. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/conf/theme.py +0 -0
  64. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/base.html +0 -0
  65. {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
  66. {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
  67. {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
  68. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/components/github_keynav.js +0 -0
  69. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/components/related-pages.html +0 -0
  70. {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
  71. {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
  72. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/components/version_chooser.html +0 -0
  73. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/directives/__init__.py +0 -0
  74. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/globaltoc.html +0 -0
  75. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/layout_legacy.html +0 -0
  76. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/localtoc.html +0 -0
  77. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/navbarsearchbox.html +0 -0
  78. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/navbartoc.html +0 -0
  79. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/page.html +0 -0
  80. {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
  81. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/partials/icons.html +0 -0
  82. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/relations.html +0 -0
  83. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/search.html +0 -0
  84. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/searchbox.html +0 -0
  85. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/searchresults.html +0 -0
  86. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sections/announcement.html +0 -0
  87. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sections/article.html +0 -0
  88. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sections/footer-article.html +0 -0
  89. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sections/footer.html +0 -0
  90. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sections/footer_sql99.html +0 -0
  91. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sections/header-article.html +0 -0
  92. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sections/header-content.html +0 -0
  93. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sections/header.html +0 -0
  94. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sections/sidebar-primary.html +0 -0
  95. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sections/sidebar-secondary.html +0 -0
  96. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/settings.html +0 -0
  97. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sidebar.html +0 -0
  98. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sidebartoc.html +0 -0
  99. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/sourcelink.html +0 -0
  100. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/.gitignore +0 -0
  101. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/4201798fe1a74331c392.woff2 +0 -0
  102. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/62f9ca87fa5df2b9d19c.svg +0 -0
  103. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/6a277ad308d7bca8fb5e.svg +0 -0
  104. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/874d1315c94f1de4f3c3.svg +0 -0
  105. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/94a7835c529d36cfd203.svg +0 -0
  106. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/94faa7c55f8fa5b37a3a.svg +0 -0
  107. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/b5f0f109bc88052d4000.woff2 +0 -0
  108. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/bb993ea6f2ae3394f7fc.svg +0 -0
  109. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/c878830331e91b3b2408.svg +0 -0
  110. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/c8ba52b05a9ef10f4758.woff2 +0 -0
  111. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/c932f86c7fadb6ad267f.png +0 -0
  112. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/f044c944446ad30faa96.svg +0 -0
  113. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/bundle/fb7dfcc48f465d9f3215.svg +0 -0
  114. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/css/components.css +0 -0
  115. {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
  116. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/css/crateio.css +0 -0
  117. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/css/index.css +0 -0
  118. {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
  119. {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
  120. {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
  121. {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
  122. {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
  123. {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
  124. {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
  125. {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
  126. {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
  127. {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
  128. {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
  129. {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
  130. {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
  131. {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
  132. {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
  133. {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
  134. {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
  135. {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
  136. {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
  137. {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
  138. {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
  139. {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
  140. {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
  141. {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
  142. {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
  143. {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
  144. {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
  145. {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
  146. {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
  147. {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
  148. {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
  149. {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
  150. {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
  151. {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
  152. {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
  153. {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
  154. {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
  155. {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
  156. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/erdf.png +0 -0
  157. {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
  158. {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
  159. {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
  160. {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
  161. {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
  162. {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
  163. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/favicon.ico +0 -0
  164. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/favicon.png +0 -0
  165. {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
  166. {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
  167. {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
  168. {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
  169. {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
  170. {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
  171. {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
  172. {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
  173. {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
  174. {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
  175. {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
  176. {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
  177. {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
  178. {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
  179. {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
  180. {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
  181. {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
  182. {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
  183. {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
  184. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/images/slack.png +0 -0
  185. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/js/crate.js +0 -0
  186. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/js/index.js +0 -0
  187. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/static/js/util.js +0 -0
  188. {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
  189. {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
  190. {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
  191. {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
  192. {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
  193. {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
  194. {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
  195. {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
  196. {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
  197. {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
  198. {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
  199. {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
  200. {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
  201. {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
  202. {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
  203. {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
  204. {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
  205. {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
  206. {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
  207. {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
  208. {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
  209. {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
  210. {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
  211. {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
  212. {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
  213. {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
  214. {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
  215. {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
  216. {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
  217. {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
  218. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate/theme/rtd/crate/theme.conf +0 -0
  219. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate_docs_theme.egg-info/dependency_links.txt +0 -0
  220. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate_docs_theme.egg-info/not-zip-safe +0 -0
  221. {crate_docs_theme-0.47.1.dev6 → crate_docs_theme-0.49.0}/src/crate_docs_theme.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crate-docs-theme
3
- Version: 0.47.1.dev6
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]<5
29
+ Requires-Dist: myst-parser[linkify]<6
30
30
  Requires-Dist: snowballstemmer<4
31
- Requires-Dist: sphinx<9,>=7.1
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==0.4.1
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]<5",
65
+ "myst-parser[linkify]<6",
66
66
  "snowballstemmer<4",
67
- "sphinx>=7.1,<9",
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==0.4.1",
70
+ "sphinx-design-elements<0.5",
71
71
  "sphinx-inline-tabs",
72
72
  "sphinx-sitemap<2.10.0",
73
73
  "sphinx-togglebutton<1",
@@ -23,9 +23,9 @@
23
23
 
24
24
  import os
25
25
 
26
- VERSION = (0, 47, 1)
26
+ VERSION = (0, 49, 0)
27
27
 
28
- __version__ = ".".join(str(v) for v in VERSION) + ".dev6"
28
+ __version__ = ".".join(str(v) for v in VERSION) # + ".dev0"
29
29
  __version_full__ = __version__
30
30
 
31
31
 
@@ -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>