crate-docs-theme 0.41.1.dev2__tar.gz → 0.43.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 (222) hide show
  1. {crate_docs_theme-0.41.1.dev2/src/crate_docs_theme.egg-info → crate_docs_theme-0.43.0}/PKG-INFO +7 -8
  2. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/README.rst +2 -2
  3. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/setup.py +4 -5
  4. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/__init__.py +35 -14
  5. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/conf/__init__.py +9 -6
  6. crate_docs_theme-0.43.0/src/crate/theme/rtd/crate/directives/__init__.py +2 -0
  7. crate_docs_theme-0.43.0/src/crate/theme/rtd/crate/directives/stepper.py +104 -0
  8. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/sidebar.html +1 -1
  9. crate_docs_theme-0.43.0/src/crate/theme/rtd/crate/sidebartoc.html +2 -0
  10. crate_docs_theme-0.43.0/src/crate/theme/rtd/crate/static/bundle/545e2a01321b20c6484b.svg +1 -0
  11. crate_docs_theme-0.43.0/src/crate/theme/rtd/crate/static/bundle/main.js +2 -0
  12. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/css/crateio-rtd.css +0 -9
  13. crate_docs_theme-0.43.0/src/crate/theme/rtd/crate/static/css/furo-collapsible-toc.scss +36 -0
  14. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/css/index.css +2 -0
  15. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/css/ng/furo.scss +2 -2
  16. crate_docs_theme-0.43.0/src/crate/theme/rtd/crate/static/css/ng/index.scss +4 -0
  17. crate_docs_theme-0.43.0/src/crate/theme/rtd/crate/static/css/stepper.css +78 -0
  18. crate_docs_theme-0.43.0/src/crate/theme/rtd/crate/static/js/custom.js +99 -0
  19. crate_docs_theme-0.43.0/src/crate/theme/rtd/sidebartoc.py +140 -0
  20. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0/src/crate_docs_theme.egg-info}/PKG-INFO +7 -8
  21. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate_docs_theme.egg-info/SOURCES.txt +6 -15
  22. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate_docs_theme.egg-info/requires.txt +3 -5
  23. crate_docs_theme-0.41.1.dev2/src/crate/theme/rtd/crate/sections/header-secondary-bread.html +0 -8
  24. crate_docs_theme-0.41.1.dev2/src/crate/theme/rtd/crate/sidebartoc.html +0 -166
  25. crate_docs_theme-0.41.1.dev2/src/crate/theme/rtd/crate/static/bundle/0941221c36dbb8c7515c.svg +0 -9
  26. crate_docs_theme-0.41.1.dev2/src/crate/theme/rtd/crate/static/bundle/3a5b7e4c612e76e2c0ff.svg +0 -6
  27. crate_docs_theme-0.41.1.dev2/src/crate/theme/rtd/crate/static/bundle/3bb637ff4794f3d3e80d.svg +0 -6
  28. crate_docs_theme-0.41.1.dev2/src/crate/theme/rtd/crate/static/bundle/537cfe2ca7838b7da5a5.ttf +0 -0
  29. crate_docs_theme-0.41.1.dev2/src/crate/theme/rtd/crate/static/bundle/874d1315c94f1de4f3c3.svg +0 -13
  30. crate_docs_theme-0.41.1.dev2/src/crate/theme/rtd/crate/static/bundle/8c206db99195777c6769.woff +0 -0
  31. crate_docs_theme-0.41.1.dev2/src/crate/theme/rtd/crate/static/bundle/8ee112252f6bd5f0d5bd.woff2 +0 -0
  32. crate_docs_theme-0.41.1.dev2/src/crate/theme/rtd/crate/static/bundle/aa27b6bdbf91d267ef8a.woff +0 -0
  33. crate_docs_theme-0.41.1.dev2/src/crate/theme/rtd/crate/static/bundle/c216913a8330e43e3eb8.woff +0 -0
  34. crate_docs_theme-0.41.1.dev2/src/crate/theme/rtd/crate/static/bundle/cca62d21c8c555c392e5.woff +0 -0
  35. crate_docs_theme-0.41.1.dev2/src/crate/theme/rtd/crate/static/bundle/d30c09c602fda734ab0e.ttf +0 -0
  36. crate_docs_theme-0.41.1.dev2/src/crate/theme/rtd/crate/static/bundle/d3bbf162120d8fbe0365.svg +0 -9
  37. crate_docs_theme-0.41.1.dev2/src/crate/theme/rtd/crate/static/bundle/eba7ebd79e77ae615a45.svg +0 -9
  38. crate_docs_theme-0.41.1.dev2/src/crate/theme/rtd/crate/static/bundle/f0f7f544ef1cf58d3157.svg +0 -9
  39. crate_docs_theme-0.41.1.dev2/src/crate/theme/rtd/crate/static/bundle/main.js +0 -2
  40. crate_docs_theme-0.41.1.dev2/src/crate/theme/rtd/crate/static/css/ng/index.scss +0 -4
  41. crate_docs_theme-0.41.1.dev2/src/crate/theme/rtd/crate/static/js/custom.js +0 -39
  42. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/LICENSE +0 -0
  43. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/MANIFEST.in +0 -0
  44. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/NOTICE +0 -0
  45. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/requirements.txt +0 -0
  46. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/setup.cfg +0 -0
  47. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/__init__.py +0 -0
  48. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/conf/cloud.py +0 -0
  49. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/conf/cloud_cli.py +0 -0
  50. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/conf/crate_admin_ui.py +0 -0
  51. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/conf/crate_clients_tools.py +0 -0
  52. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/conf/crate_crash.py +0 -0
  53. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/conf/crate_howtos.py +0 -0
  54. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/conf/crate_reference.py +0 -0
  55. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/conf/crate_tutorials.py +0 -0
  56. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/conf/cratedb_guide.py +0 -0
  57. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/conf/dbal.py +0 -0
  58. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/conf/doing_docs.py +0 -0
  59. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/conf/furo.py +0 -0
  60. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/conf/jdbc.py +0 -0
  61. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/conf/npgsql.py +0 -0
  62. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/conf/pdo.py +0 -0
  63. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/conf/python.py +0 -0
  64. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/conf/sql_99.py +0 -0
  65. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/conf/sqlalchemy_cratedb.py +0 -0
  66. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/conf/theme.py +0 -0
  67. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/base.html +0 -0
  68. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/components/github_feedback_compact.html +0 -0
  69. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/components/github_feedback_full.html +0 -0
  70. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/components/github_feedback_full.js +0 -0
  71. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/components/github_keynav.js +0 -0
  72. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/components/related-pages.html +0 -0
  73. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/components/toggle-sidebar-primary.html +0 -0
  74. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/components/toggle-sidebar-secondary.html +0 -0
  75. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/components/version_chooser.html +0 -0
  76. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/globaltoc.html +0 -0
  77. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/layout_legacy.html +0 -0
  78. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/localtoc.html +0 -0
  79. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/navbarsearchbox.html +0 -0
  80. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/navbartoc.html +0 -0
  81. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/page.html +0 -0
  82. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/partials/_head_css_variables.html +0 -0
  83. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/partials/icons.html +0 -0
  84. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/relations.html +0 -0
  85. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/search.html +0 -0
  86. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/searchbox.html +0 -0
  87. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/searchresults.html +0 -0
  88. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/sections/announcement.html +0 -0
  89. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/sections/article.html +0 -0
  90. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/sections/footer-article.html +0 -0
  91. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/sections/footer.html +0 -0
  92. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/sections/footer_sql99.html +0 -0
  93. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/sections/header-article.html +0 -0
  94. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/sections/header-content.html +0 -0
  95. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/sections/header.html +0 -0
  96. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/sections/sidebar-primary.html +0 -0
  97. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/sections/sidebar-secondary.html +0 -0
  98. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/settings.html +0 -0
  99. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/sourcelink.html +0 -0
  100. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/.gitignore +0 -0
  101. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/bundle/4201798fe1a74331c392.woff2 +0 -0
  102. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/bundle/62f9ca87fa5df2b9d19c.svg +0 -0
  103. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/bundle/6a277ad308d7bca8fb5e.svg +0 -0
  104. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/bundle/94a7835c529d36cfd203.svg +0 -0
  105. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/bundle/94faa7c55f8fa5b37a3a.svg +0 -0
  106. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/bundle/b5f0f109bc88052d4000.woff2 +0 -0
  107. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/bundle/bb993ea6f2ae3394f7fc.svg +0 -0
  108. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/bundle/c878830331e91b3b2408.svg +0 -0
  109. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/bundle/c8ba52b05a9ef10f4758.woff2 +0 -0
  110. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/bundle/c932f86c7fadb6ad267f.png +0 -0
  111. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/bundle/f044c944446ad30faa96.svg +0 -0
  112. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/bundle/fb7dfcc48f465d9f3215.svg +0 -0
  113. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/bundle/main.js.LICENSE.txt +0 -0
  114. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/css/components.css +0 -0
  115. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/css/crateio.css +0 -0
  116. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/css/custom.css +0 -0
  117. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/css/ng/layout.scss +0 -0
  118. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/css/ng/page-tools.scss +0 -0
  119. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/css/ng/settings.scss +0 -0
  120. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/fonts/Inter-Regular.woff2 +0 -0
  121. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/fonts/Inter-SemiBold.woff2 +0 -0
  122. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/fonts/montserrat-v26-latin-600.woff2 +0 -0
  123. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/admonition/caution.png +0 -0
  124. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/admonition/caution@2x.png +0 -0
  125. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/admonition/icon-docs-caution.svg +0 -0
  126. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/admonition/icon-docs-danger.svg +0 -0
  127. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/admonition/icon-docs-note.svg +0 -0
  128. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/admonition/icon-docs-seealso.svg +0 -0
  129. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/admonition/icon-docs-tip.svg +0 -0
  130. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/admonition/icon-docs-warning.svg +0 -0
  131. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/admonition/note-sql-99.svg +0 -0
  132. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/admonition/note.png +0 -0
  133. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/admonition/note@2x.png +0 -0
  134. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/admonition/seealso.png +0 -0
  135. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/admonition/seealso@2x.png +0 -0
  136. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/admonition/tip.png +0 -0
  137. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/admonition/tip@2x.png +0 -0
  138. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/admonition/warning.png +0 -0
  139. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/admonition/warning@2x.png +0 -0
  140. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/apple-touch-icon.png +0 -0
  141. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/bg-banner-sql99.png +0 -0
  142. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/cloud_admin.png +0 -0
  143. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/cloud_everywhere.png +0 -0
  144. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/cloud_open-source.png +0 -0
  145. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/cloud_scale.png +0 -0
  146. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/crate-logo-white.svg +0 -0
  147. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/crate-logo.svg +0 -0
  148. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/cratedb-logo-h400.png +0 -0
  149. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/cratedb-logo-h630.png +0 -0
  150. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/cratedb-logo-h742.png +0 -0
  151. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/cratedb-logo-white.svg +0 -0
  152. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/cratedb-logo.svg +0 -0
  153. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/erdf.png +0 -0
  154. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/f-logo-facebook.png +0 -0
  155. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/f-logo-github.png +0 -0
  156. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/f-logo-google.png +0 -0
  157. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/f-logo-linkedin.png +0 -0
  158. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/f-logo-twitter.png +0 -0
  159. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/f-logo-youtube.png +0 -0
  160. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/favicon.ico +0 -0
  161. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/favicon.png +0 -0
  162. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/icon-docs@2x.png +0 -0
  163. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/icon-home-fast-x100.png +0 -0
  164. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/icon-home-playswell-x100.png +0 -0
  165. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/icon-home-simple-x100.png +0 -0
  166. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/icon-install.png +0 -0
  167. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/icon-performance@2x.png +0 -0
  168. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/icon-search2x.png +0 -0
  169. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/icon-search@2x.png +0 -0
  170. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/icon-start@2x.png +0 -0
  171. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/icon-support@2x.png +0 -0
  172. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/icon_analytics.png +0 -0
  173. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/icon_blob.png +0 -0
  174. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/icon_document.png +0 -0
  175. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/icon_link_external-sql-99.svg +0 -0
  176. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/icon_link_external.svg +0 -0
  177. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/icon_restructure.png +0 -0
  178. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/icon_search.png +0 -0
  179. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/logo-crate.png +0 -0
  180. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/logo-eu-optimized-1.jpg +0 -0
  181. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/images/slack.png +0 -0
  182. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/js/crate.js +0 -0
  183. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/js/index.js +0 -0
  184. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/js/util.js +0 -0
  185. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/index.js +0 -0
  186. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/scripts/furo.js +0 -0
  187. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/scripts/furo.js.LICENSE.txt +0 -0
  188. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/scripts/furo.js.map +0 -0
  189. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/scripts/gumshoe-patched.js +0 -0
  190. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/_scaffold.sass +0 -0
  191. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/_shame.sass +0 -0
  192. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/base/_index.sass +0 -0
  193. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/base/_screen-readers.sass +0 -0
  194. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/base/_theme.sass +0 -0
  195. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/components/_footer.sass +0 -0
  196. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/components/_index.sass +0 -0
  197. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/components/_search.sass +0 -0
  198. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/components/_sidebar.sass +0 -0
  199. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/components/_table_of_contents.sass +0 -0
  200. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/content/_admonitions.sass +0 -0
  201. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/content/_code.sass +0 -0
  202. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/content/_footnotes.sass +0 -0
  203. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/content/_index.sass +0 -0
  204. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/content/_misc.sass +0 -0
  205. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/content/_sidebar.sass +0 -0
  206. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/furo.sass +0 -0
  207. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/variables/_admonitions.scss +0 -0
  208. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/variables/_fonts.scss +0 -0
  209. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/variables/_icons.scss +0 -0
  210. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/variables/_index.sass +0 -0
  211. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/variables/_layout.scss +0 -0
  212. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/variables/_spacing.scss +0 -0
  213. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/variables/_theme.scss +0 -0
  214. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/static/vendor/furo/styles/variables/colors.scss +0 -0
  215. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/rtd/crate/theme.conf +0 -0
  216. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/vendor/__init__.py +0 -0
  217. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/vendor/rtd_compat/__init__.py +0 -0
  218. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/vendor/rtd_compat/extension.py +0 -0
  219. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate/theme/vendor/rtd_compat/utils.py +0 -0
  220. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate_docs_theme.egg-info/dependency_links.txt +0 -0
  221. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.0}/src/crate_docs_theme.egg-info/not-zip-safe +0 -0
  222. {crate_docs_theme-0.41.1.dev2 → crate_docs_theme-0.43.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.41.1.dev2
3
+ Version: 0.43.0
4
4
  Summary: CrateDB Documentation Theme
5
5
  Home-page: https://github.com/crate/crate-docs-theme
6
6
  Author: Crate.IO GmbH
@@ -17,25 +17,24 @@ Classifier: Programming Language :: Python :: 3.10
17
17
  Classifier: Programming Language :: Python :: 3.11
18
18
  Classifier: Programming Language :: Python :: 3.12
19
19
  Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Programming Language :: Python :: 3.14
20
21
  Classifier: Topic :: Software Development :: Documentation
21
22
  Requires-Python: >=3.9
22
23
  Description-Content-Type: text/x-rst
23
24
  License-File: LICENSE
24
25
  License-File: NOTICE
25
- Requires-Dist: furo==2025.7.19
26
+ Requires-Dist: furo==2025.9.25
26
27
  Requires-Dist: jinja2<4,>=3
27
28
  Requires-Dist: jupysql<0.12
28
29
  Requires-Dist: myst-nb<1.4
29
30
  Requires-Dist: myst-parser[linkify]<5
30
- Requires-Dist: oembedpy<0.9,>=0.8.1
31
31
  Requires-Dist: snowballstemmer<4
32
32
  Requires-Dist: sphinx<9,>=7.1
33
33
  Requires-Dist: sphinx-basic-ng==1.0.0b2
34
34
  Requires-Dist: sphinx-copybutton<1,>=0.3.1
35
- Requires-Dist: sphinx-design-elements==0.4.0
35
+ Requires-Dist: sphinx-design-elements==0.4.1
36
36
  Requires-Dist: sphinx-inline-tabs
37
- Requires-Dist: sphinx-sitemap<2.8.0
38
- Requires-Dist: sphinx-subfigure<1
37
+ Requires-Dist: sphinx-sitemap<2.10.0
39
38
  Requires-Dist: sphinx-togglebutton<1
40
39
  Requires-Dist: sphinxext.opengraph<1,>=0.4
41
40
  Requires-Dist: sphinxcontrib-mermaid<2
@@ -110,7 +109,7 @@ The documentation is composed of multiple separate documentation
110
109
  projects, interlinked via the CrateDB Documentation Theme.
111
110
 
112
111
  To update the root of the TOC sidebar for the entire documentation, update the
113
- `sidebartoc.html`` file.
112
+ `sidebartoc.py`_ file.
114
113
 
115
114
  To use the theme, add this line to your Sphinx ``conf.py`` file::
116
115
 
@@ -136,7 +135,7 @@ Looking for more help?
136
135
 
137
136
  - Check out our `support channels`_
138
137
 
139
- .. _sidebartoc.html: src/crate/theme/rtd/crate/templates/crate/sidebartoc.html
138
+ .. _sidebartoc.py: src/crate/theme/rtd/crate/sidebartoc.py
140
139
  .. _contribution docs: CONTRIBUTING.rst
141
140
  .. _Crate.io: https://cratedb.com
142
141
  .. _CrateDB documentation: https://cratedb.com/docs/
@@ -54,7 +54,7 @@ The documentation is composed of multiple separate documentation
54
54
  projects, interlinked via the CrateDB Documentation Theme.
55
55
 
56
56
  To update the root of the TOC sidebar for the entire documentation, update the
57
- `sidebartoc.html`` file.
57
+ `sidebartoc.py`_ file.
58
58
 
59
59
  To use the theme, add this line to your Sphinx ``conf.py`` file::
60
60
 
@@ -80,7 +80,7 @@ Looking for more help?
80
80
 
81
81
  - Check out our `support channels`_
82
82
 
83
- .. _sidebartoc.html: src/crate/theme/rtd/crate/templates/crate/sidebartoc.html
83
+ .. _sidebartoc.py: src/crate/theme/rtd/crate/sidebartoc.py
84
84
  .. _contribution docs: CONTRIBUTING.rst
85
85
  .. _Crate.io: https://cratedb.com
86
86
  .. _CrateDB documentation: https://cratedb.com/docs/
@@ -46,6 +46,7 @@ setup(
46
46
  "Programming Language :: Python :: 3.11",
47
47
  "Programming Language :: Python :: 3.12",
48
48
  "Programming Language :: Python :: 3.13",
49
+ "Programming Language :: Python :: 3.14",
49
50
  "Topic :: Software Development :: Documentation",
50
51
  ],
51
52
  author="Crate.IO GmbH",
@@ -58,20 +59,18 @@ setup(
58
59
  include_package_data=True,
59
60
  zip_safe=False,
60
61
  install_requires=[
61
- "furo==2025.7.19",
62
+ "furo==2025.9.25",
62
63
  "jinja2>=3,<4",
63
64
  "jupysql<0.12",
64
65
  "myst-nb<1.4",
65
66
  "myst-parser[linkify]<5",
66
- "oembedpy>=0.8.1,<0.9",
67
67
  "snowballstemmer<4",
68
68
  "sphinx>=7.1,<9",
69
69
  "sphinx-basic-ng==1.0.0b2",
70
70
  "sphinx-copybutton>=0.3.1,<1",
71
- "sphinx-design-elements==0.4.0",
71
+ "sphinx-design-elements==0.4.1",
72
72
  "sphinx-inline-tabs",
73
- "sphinx-sitemap<2.8.0", #temporarily pinned due to build warnings with 2.7.0
74
- "sphinx-subfigure<1",
73
+ "sphinx-sitemap<2.10.0",
75
74
  "sphinx-togglebutton<1",
76
75
  "sphinxext.opengraph>=0.4,<1",
77
76
  "sphinxcontrib-mermaid<2",
@@ -22,37 +22,58 @@
22
22
  """CrateDB Sphinx theme for Read the Docs"""
23
23
 
24
24
  import os
25
+ from .sidebartoc import generate_crate_navigation_html
25
26
 
26
- VERSION = (0, 41, 1)
27
+ VERSION = (0, 43, 0)
27
28
 
28
- __version__ = ".".join(str(v) for v in VERSION) + ".dev2"
29
+ __version__ = ".".join(str(v) for v in VERSION) # + ".dev0"
29
30
  __version_full__ = __version__
30
31
 
31
32
 
32
33
  def get_version():
33
34
  return __version__
34
35
 
35
-
36
36
  def current_dir():
37
37
  return os.path.abspath(os.path.dirname(__file__))
38
38
 
39
-
40
39
  def get_html_theme_path():
41
40
  """Return list of HTML theme paths."""
42
41
  return [current_dir()]
43
42
 
44
-
45
43
  def get_html_static_path():
46
44
  """Return list of HTML static paths."""
47
- current_dir = current_dir()
48
- return [
49
- os.path.join(current_dir, "crate", "static"),
50
- ]
51
-
45
+ return [os.path.join(current_dir(), "crate", "static")]
52
46
 
53
47
  def get_html_template_path():
54
48
  """Return list of HTML template paths."""
55
- current_dir = current_dir()
56
- return [
57
- os.path.join(current_dir, "crate"),
58
- ]
49
+ return [os.path.join(current_dir(), "crate")]
50
+
51
+
52
+ def _add_crate_navigation(app, pagename, templatename, context, doctree):
53
+ """
54
+ Sphinx event handler: Add enhanced navigation to template context.
55
+
56
+ Generates multi-project navigation HTML and processes it through
57
+ Furo's navigation enhancer to add collapsible icons and checkboxes.
58
+ """
59
+
60
+ from furo.navigation import get_navigation_tree
61
+
62
+ navigation_html = generate_crate_navigation_html(context)
63
+
64
+ # Process through Furo's navigation enhancer
65
+ enhanced_navigation = get_navigation_tree(navigation_html)
66
+
67
+ # Add to context for use in templates
68
+ context["crate_navigation_tree"] = enhanced_navigation
69
+
70
+ def setup(app):
71
+ """
72
+ Registers event handlers to setup navigation.
73
+ """
74
+ app.connect("html-page-context", _add_crate_navigation)
75
+ return {
76
+ "version": __version__,
77
+ "parallel_read_safe": True,
78
+ "parallel_write_safe": True,
79
+ }
@@ -33,14 +33,13 @@ exclude_patterns = [".*", "*.lint", "README.rst", "requirements.txt"]
33
33
  exclude_trees = ["pyenv", "tmp", "out", "parts", "clients", "eggs"]
34
34
 
35
35
  extensions = [
36
+ "crate.theme.rtd", # CrateDB theme extension with Furo navigation integration
36
37
  "myst_nb",
37
- "oembedpy.adapters.sphinx",
38
38
  "sphinx_copybutton",
39
39
  "sphinx_design",
40
40
  "sphinx_design_elements",
41
41
  "sphinx_inline_tabs",
42
42
  "sphinx_sitemap",
43
- "sphinx_subfigure",
44
43
  "sphinx_togglebutton",
45
44
  "sphinx.ext.intersphinx",
46
45
  "sphinx.ext.todo",
@@ -84,7 +83,8 @@ html_theme_options = {
84
83
  }
85
84
  # https://sphinx-design.readthedocs.io/en/latest/badges_buttons.html#fontawesome-icons
86
85
  html_css_files = [
87
- "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css"
86
+ "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css",
87
+ # Note: furo-collapsible-toc.scss is bundled via index.css import
88
88
  ]
89
89
 
90
90
  html_extra_path = ["_extra"]
@@ -173,6 +173,8 @@ linkcheck_ignore = [
173
173
  "https://unsplash.com/.*",
174
174
  # [Errno 101] Network is unreachable
175
175
  "https://www.gnu.org/.*",
176
+ # Temporary failure in name resolution
177
+ "https://jupysql.ploomber.io/.*",
176
178
  ]
177
179
  linkcheck_anchors_ignore_for_url = [
178
180
  # Requires JavaScript.
@@ -202,9 +204,6 @@ myst_enable_extensions = [
202
204
  # -- Options for MyST-NB ----------------------------------------------
203
205
  nb_execution_raise_on_error = True
204
206
 
205
- # -- Options for oEmbedPy ---------------------------------------------
206
- oembed_fallback_type = True
207
-
208
207
 
209
208
  def setup(app):
210
209
 
@@ -343,6 +342,10 @@ def setup(app):
343
342
  app.connect("builder-inited", set_proxied_static_path)
344
343
  app.connect("builder-inited", apply_html_context_custom)
345
344
 
345
+ # Register stepper directive
346
+ from crate.theme.rtd.crate.directives import stepper
347
+ stepper.setup(app)
348
+
346
349
  return {
347
350
  "parallel_read_safe": True,
348
351
  "parallel_write_safe": True,
@@ -0,0 +1,2 @@
1
+ # -*- coding: utf-8; -*-
2
+ # Directives for crate-docs-theme
@@ -0,0 +1,104 @@
1
+ # -*- coding: utf-8; -*-
2
+ """
3
+ Stepper directive for step-by-step documentation.
4
+ """
5
+
6
+ from docutils import nodes
7
+ from sphinx.util.docutils import SphinxDirective
8
+
9
+
10
+ # Define custom nodes
11
+ class stepper_node(nodes.General, nodes.Element):
12
+ pass
13
+
14
+ class step_node(nodes.General, nodes.Element):
15
+ pass
16
+
17
+ class StepperDirective(SphinxDirective):
18
+ """Container for step-by-step instructions."""
19
+
20
+ has_content = True
21
+ option_spec = {
22
+ 'class': str, # directives.class_option is for multiple classes
23
+ }
24
+
25
+ def run(self):
26
+ stepper = stepper_node()
27
+ stepper['classes'] = self.options.get('class', '').split() # Add custom classes if provided
28
+ self_content = nodes.paragraph()
29
+ self.state.nested_parse(self.content, self.content_offset, self_content)
30
+
31
+ step_number = 1
32
+ for child in self_content.children:
33
+ if isinstance(child, step_node):
34
+ child['step-number'] = step_number
35
+ step_number += 1
36
+ stepper += child # Add all children from self_content to stepper
37
+
38
+ return [stepper]
39
+
40
+
41
+ class StepDirective(SphinxDirective):
42
+ """Individual step in a stepper."""
43
+
44
+ has_content = True
45
+ required_arguments = 1 # Step title
46
+ optional_arguments = 0
47
+ final_argument_whitespace = True # Allow spaces in title
48
+ option_spec = {
49
+ 'class': str,
50
+ }
51
+
52
+ def run(self):
53
+ step = step_node()
54
+ step['classes'] = ['stepper-step']
55
+ step['classes'].extend(self.options.get('class', '').split())
56
+
57
+ # Set title
58
+ step['step-title'] = self.arguments[0]
59
+
60
+ # Parse content
61
+ self.state.nested_parse(
62
+ self.content,
63
+ self.content_offset,
64
+ step
65
+ )
66
+ return [step]
67
+
68
+ # HTML Translator functions
69
+ def html_visit_stepper_node(self, node):
70
+ self.context.append('')
71
+ self.body.append(self.starttag(node, 'div', CLASS='stepper'))
72
+
73
+ def html_depart_stepper_node(self, node):
74
+ self.body.append('</div>\n')
75
+ self.context.pop()
76
+
77
+ def html_visit_step_node(self, node):
78
+ self.context.append('')
79
+ self.body.append(self.starttag(node, 'div', CLASS='stepper-step'))
80
+ self.body.append(f'<div class="stepper-header">')
81
+ self.body.append(f'<div class="stepper-number">{node.get("step-number", "")}</div>')
82
+ self.body.append(f'<div class="stepper-title">{node.get("step-title", "")}</div>')
83
+ self.body.append(f'</div>')
84
+ self.body.append(f'<div class="stepper-content">')
85
+
86
+ def html_depart_step_node(self, node):
87
+ self.body.append('</div>\n') # Close stepper-content
88
+ self.body.append('</div>\n') # Close stepper-step
89
+ self.context.pop()
90
+
91
+
92
+ def setup(app):
93
+ """Register the stepper directives and nodes."""
94
+ app.add_node(stepper_node, html=(html_visit_stepper_node, html_depart_stepper_node))
95
+ app.add_node(step_node, html=(html_visit_step_node, html_depart_step_node))
96
+
97
+ app.add_directive('stepper', StepperDirective)
98
+ app.add_directive('step', StepDirective)
99
+
100
+ return {
101
+ 'version': '0.1',
102
+ 'parallel_read_safe': True,
103
+ 'parallel_write_safe': True,
104
+ }
@@ -8,7 +8,7 @@
8
8
  {% endif %}
9
9
  </div>
10
10
  {% endif %}
11
- <nav class="bs-docs-sidenav bs-sidenav nav" role="complementary">
11
+ <nav class="bs-docs-sidenav sidebar-tree bs-sidenav nav" role="complementary">
12
12
 
13
13
  {% if theme_navbar_links %}
14
14
  {%- for link in theme_navbar_links %}
@@ -0,0 +1,2 @@
1
+ {# Enhanced navigation generated by Sphinx extension using Furo's navigation enhancer #}
2
+ {{ crate_navigation_tree }}
@@ -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>