documenteer 2.1.1__tar.gz → 2.3.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 (240) hide show
  1. documenteer-2.3.0/.claude/.gitignore +2 -0
  2. {documenteer-2.1.1 → documenteer-2.3.0}/CHANGELOG.md +38 -0
  3. documenteer-2.3.0/CLAUDE.md +98 -0
  4. {documenteer-2.1.1 → documenteer-2.3.0}/PKG-INFO +1 -1
  5. {documenteer-2.1.1 → documenteer-2.3.0}/demo/rst-technote/index.rst +1 -1
  6. documenteer-2.3.0/demo/rst-technote/local.bib +10 -0
  7. {documenteer-2.1.1 → documenteer-2.3.0}/docs/Makefile +1 -1
  8. {documenteer-2.1.1 → documenteer-2.3.0}/docs/_rst_epilog.rst +1 -0
  9. {documenteer-2.1.1 → documenteer-2.3.0}/docs/changelog.md +38 -0
  10. {documenteer-2.1.1 → documenteer-2.3.0}/docs/dev/api/documenteer.ext.rst +8 -2
  11. {documenteer-2.1.1 → documenteer-2.3.0}/docs/documenteer.toml +2 -1
  12. {documenteer-2.1.1 → documenteer-2.3.0}/docs/guides/configuration.rst +5 -2
  13. {documenteer-2.1.1 → documenteer-2.3.0}/docs/index.rst +5 -5
  14. {documenteer-2.1.1 → documenteer-2.3.0}/docs/technotes/_templates/README.md +1 -1
  15. {documenteer-2.1.1 → documenteer-2.3.0}/docs/technotes/_templates/README.rst +1 -1
  16. {documenteer-2.1.1 → documenteer-2.3.0}/docs/technotes/edit-locally.rst +1 -1
  17. {documenteer-2.1.1 → documenteer-2.3.0}/docs/technotes/index.rst +1 -0
  18. {documenteer-2.1.1 → documenteer-2.3.0}/docs/technotes/migrate.rst +55 -66
  19. documenteer-2.3.0/docs/technotes/references.rst +135 -0
  20. documenteer-2.3.0/docs/technotes/start-a-technote.rst +45 -0
  21. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/conf/_utils.py +9 -5
  22. documenteer-2.3.0/src/documenteer/ext/bibtex.py +170 -0
  23. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/ext/jira.py +3 -1
  24. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/ext/lsstdocushare.py +2 -0
  25. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/ext/mockcoderefs.py +3 -1
  26. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/ext/openapi.py +1 -1
  27. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/ext/remotecodeblock.py +39 -2
  28. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/ext/robots.py +1 -1
  29. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/storage/localtemplates/technote/README.rst +1 -1
  30. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/storage/localtemplates/technote/pre-commit-config.yaml +1 -1
  31. documenteer-2.3.0/src/documenteer/storage/localtemplates/technote/requirements.txt +1 -0
  32. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer.egg-info/PKG-INFO +1 -1
  33. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer.egg-info/SOURCES.txt +5 -0
  34. documenteer-2.3.0/tests/storage/__init__.py +0 -0
  35. documenteer-2.1.1/docs/technotes/start-a-technote.rst +0 -35
  36. documenteer-2.1.1/src/documenteer/ext/bibtex.py +0 -57
  37. documenteer-2.1.1/src/documenteer/storage/localtemplates/technote/requirements.txt +0 -1
  38. {documenteer-2.1.1/src/documenteer/templates/technote → documenteer-2.3.0/.claude/tasks}/.gitkeep +0 -0
  39. {documenteer-2.1.1 → documenteer-2.3.0}/.flake8 +0 -0
  40. {documenteer-2.1.1 → documenteer-2.3.0}/.github/CODE_OF_CONDUCT.md +0 -0
  41. {documenteer-2.1.1 → documenteer-2.3.0}/.github/CONTRIBUTING.md +0 -0
  42. {documenteer-2.1.1 → documenteer-2.3.0}/.github/SUPPORT.md +0 -0
  43. {documenteer-2.1.1 → documenteer-2.3.0}/.github/dependabot.yml +0 -0
  44. {documenteer-2.1.1 → documenteer-2.3.0}/.github/workflows/ci-cron.yaml +0 -0
  45. {documenteer-2.1.1 → documenteer-2.3.0}/.github/workflows/ci.yaml +0 -0
  46. {documenteer-2.1.1 → documenteer-2.3.0}/.gitignore +0 -0
  47. {documenteer-2.1.1 → documenteer-2.3.0}/.npmrc +0 -0
  48. {documenteer-2.1.1 → documenteer-2.3.0}/.nvmrc +0 -0
  49. {documenteer-2.1.1 → documenteer-2.3.0}/.pre-commit-config.yaml +0 -0
  50. {documenteer-2.1.1 → documenteer-2.3.0}/.prettierignore +0 -0
  51. {documenteer-2.1.1 → documenteer-2.3.0}/.prettierrc.yaml +0 -0
  52. {documenteer-2.1.1 → documenteer-2.3.0}/.vscode/settings.json +0 -0
  53. {documenteer-2.1.1 → documenteer-2.3.0}/.vscode/tasks.json +0 -0
  54. {documenteer-2.1.1 → documenteer-2.3.0}/LICENSE +0 -0
  55. {documenteer-2.1.1 → documenteer-2.3.0}/MANIFEST.in +0 -0
  56. {documenteer-2.1.1 → documenteer-2.3.0}/Makefile +0 -0
  57. {documenteer-2.1.1 → documenteer-2.3.0}/README.md +0 -0
  58. {documenteer-2.1.1 → documenteer-2.3.0}/changelog.d/_template.md.jinja +0 -0
  59. {documenteer-2.1.1 → documenteer-2.3.0}/demo/ipynb-technote/.gitignore +0 -0
  60. {documenteer-2.1.1 → documenteer-2.3.0}/demo/ipynb-technote/Makefile +0 -0
  61. {documenteer-2.1.1 → documenteer-2.3.0}/demo/ipynb-technote/conf.py +0 -0
  62. {documenteer-2.1.1 → documenteer-2.3.0}/demo/ipynb-technote/diagram.py +0 -0
  63. {documenteer-2.1.1 → documenteer-2.3.0}/demo/ipynb-technote/extra-notebook.ipynb +0 -0
  64. {documenteer-2.1.1 → documenteer-2.3.0}/demo/ipynb-technote/index.ipynb +0 -0
  65. {documenteer-2.1.1 → documenteer-2.3.0}/demo/ipynb-technote/subdir/subdir-notebook.ipynb +0 -0
  66. {documenteer-2.1.1 → documenteer-2.3.0}/demo/ipynb-technote/technote.toml +0 -0
  67. {documenteer-2.1.1 → documenteer-2.3.0}/demo/md-technote/.gitignore +0 -0
  68. {documenteer-2.1.1 → documenteer-2.3.0}/demo/md-technote/Makefile +0 -0
  69. {documenteer-2.1.1 → documenteer-2.3.0}/demo/md-technote/conf.py +0 -0
  70. {documenteer-2.1.1 → documenteer-2.3.0}/demo/md-technote/diagram.py +0 -0
  71. {documenteer-2.1.1 → documenteer-2.3.0}/demo/md-technote/index.md +0 -0
  72. {documenteer-2.1.1 → documenteer-2.3.0}/demo/md-technote/technote.toml +0 -0
  73. {documenteer-2.1.1 → documenteer-2.3.0}/demo/rst-technote/.gitignore +0 -0
  74. {documenteer-2.1.1 → documenteer-2.3.0}/demo/rst-technote/Makefile +0 -0
  75. {documenteer-2.1.1 → documenteer-2.3.0}/demo/rst-technote/conf.py +0 -0
  76. {documenteer-2.1.1 → documenteer-2.3.0}/demo/rst-technote/diagram.py +0 -0
  77. {documenteer-2.1.1 → documenteer-2.3.0}/demo/rst-technote/technote.toml +0 -0
  78. {documenteer-2.1.1 → documenteer-2.3.0}/docs/.gitignore +0 -0
  79. {documenteer-2.1.1 → documenteer-2.3.0}/docs/conf.py +0 -0
  80. {documenteer-2.1.1 → documenteer-2.3.0}/docs/dev/api/documenteer.conf.rst +0 -0
  81. {documenteer-2.1.1 → documenteer-2.3.0}/docs/dev/api/index.rst +0 -0
  82. {documenteer-2.1.1 → documenteer-2.3.0}/docs/dev/development.rst +0 -0
  83. {documenteer-2.1.1 → documenteer-2.3.0}/docs/dev/html-templates.rst +0 -0
  84. {documenteer-2.1.1 → documenteer-2.3.0}/docs/dev/index.rst +0 -0
  85. {documenteer-2.1.1 → documenteer-2.3.0}/docs/dev/release.rst +0 -0
  86. {documenteer-2.1.1 → documenteer-2.3.0}/docs/dev/theme-assets.rst +0 -0
  87. {documenteer-2.1.1 → documenteer-2.3.0}/docs/dev/theme.rst +0 -0
  88. {documenteer-2.1.1 → documenteer-2.3.0}/docs/guides/badges.rst +0 -0
  89. {documenteer-2.1.1 → documenteer-2.3.0}/docs/guides/configuration-preset.rst +0 -0
  90. {documenteer-2.1.1 → documenteer-2.3.0}/docs/guides/diagrams.rst +0 -0
  91. {documenteer-2.1.1 → documenteer-2.3.0}/docs/guides/extend-conf-py.rst +0 -0
  92. {documenteer-2.1.1 → documenteer-2.3.0}/docs/guides/including-notebooks.ipynb +0 -0
  93. {documenteer-2.1.1 → documenteer-2.3.0}/docs/guides/index.rst +0 -0
  94. {documenteer-2.1.1 → documenteer-2.3.0}/docs/guides/markdown-primer.md +0 -0
  95. {documenteer-2.1.1 → documenteer-2.3.0}/docs/guides/openapi.rst +0 -0
  96. {documenteer-2.1.1 → documenteer-2.3.0}/docs/guides/organization.rst +0 -0
  97. {documenteer-2.1.1 → documenteer-2.3.0}/docs/guides/overview.rst +0 -0
  98. {documenteer-2.1.1 → documenteer-2.3.0}/docs/guides/page-redirects.rst +0 -0
  99. {documenteer-2.1.1 → documenteer-2.3.0}/docs/guides/pyproject-configuration.rst +0 -0
  100. {documenteer-2.1.1 → documenteer-2.3.0}/docs/guides/rst-epilog.rst +0 -0
  101. {documenteer-2.1.1 → documenteer-2.3.0}/docs/guides/tabsets.rst +0 -0
  102. {documenteer-2.1.1 → documenteer-2.3.0}/docs/guides/toml-reference.rst +0 -0
  103. {documenteer-2.1.1 → documenteer-2.3.0}/docs/guides/video-embeds.rst +0 -0
  104. {documenteer-2.1.1 → documenteer-2.3.0}/docs/sphinx-extensions/docushare-reference.rst +0 -0
  105. {documenteer-2.1.1 → documenteer-2.3.0}/docs/sphinx-extensions/githubbibcache.rst +0 -0
  106. {documenteer-2.1.1 → documenteer-2.3.0}/docs/sphinx-extensions/index.rst +0 -0
  107. {documenteer-2.1.1 → documenteer-2.3.0}/docs/sphinx-extensions/jira-reference.rst +0 -0
  108. {documenteer-2.1.1 → documenteer-2.3.0}/docs/sphinx-extensions/lsst-pybtex-style.rst +0 -0
  109. {documenteer-2.1.1 → documenteer-2.3.0}/docs/sphinx-extensions/openapi.rst +0 -0
  110. {documenteer-2.1.1 → documenteer-2.3.0}/docs/sphinx-extensions/remote-code-block.rst +0 -0
  111. {documenteer-2.1.1 → documenteer-2.3.0}/docs/technotes/author-metadata.rst +0 -0
  112. {documenteer-2.1.1 → documenteer-2.3.0}/docs/technotes/configuration.rst +0 -0
  113. {documenteer-2.1.1 → documenteer-2.3.0}/docs/technotes/document-status.rst +0 -0
  114. {documenteer-2.1.1 → documenteer-2.3.0}/docs/technotes/edit-on-github.rst +0 -0
  115. {documenteer-2.1.1 → documenteer-2.3.0}/docs/technotes/extensions.rst +0 -0
  116. {documenteer-2.1.1 → documenteer-2.3.0}/docs/technotes/how-your-technote-gets-published.rst +0 -0
  117. {documenteer-2.1.1 → documenteer-2.3.0}/docs/technotes/wide-content.rst +0 -0
  118. {documenteer-2.1.1 → documenteer-2.3.0}/licenses/README.md +0 -0
  119. {documenteer-2.1.1 → documenteer-2.3.0}/licenses/astropy-helpers.txt +0 -0
  120. {documenteer-2.1.1 → documenteer-2.3.0}/licenses/sphinx-issue.txt +0 -0
  121. {documenteer-2.1.1 → documenteer-2.3.0}/licenses/sphinx.txt +0 -0
  122. {documenteer-2.1.1 → documenteer-2.3.0}/licenses/sphinxcontrib-redoc.txt +0 -0
  123. {documenteer-2.1.1 → documenteer-2.3.0}/package-lock.json +0 -0
  124. {documenteer-2.1.1 → documenteer-2.3.0}/package.json +0 -0
  125. {documenteer-2.1.1 → documenteer-2.3.0}/postcss.config.js +0 -0
  126. {documenteer-2.1.1 → documenteer-2.3.0}/pyproject.toml +0 -0
  127. {documenteer-2.1.1 → documenteer-2.3.0}/ruff-shared.toml +0 -0
  128. {documenteer-2.1.1 → documenteer-2.3.0}/setup.cfg +0 -0
  129. {documenteer-2.1.1 → documenteer-2.3.0}/src/assets/rubin-technote/styles/SourceSans3VF-Italic.ttf.woff2 +0 -0
  130. {documenteer-2.1.1 → documenteer-2.3.0}/src/assets/rubin-technote/styles/SourceSans3VF-Upright.ttf.woff2 +0 -0
  131. {documenteer-2.1.1 → documenteer-2.3.0}/src/assets/rubin-technote/styles/_hacks.scss +0 -0
  132. {documenteer-2.1.1 → documenteer-2.3.0}/src/assets/rubin-technote/styles/_properties.scss +0 -0
  133. {documenteer-2.1.1 → documenteer-2.3.0}/src/assets/rubin-technote/styles/components/_article-header.scss +0 -0
  134. {documenteer-2.1.1 → documenteer-2.3.0}/src/assets/rubin-technote/styles/components/_authors.scss +0 -0
  135. {documenteer-2.1.1 → documenteer-2.3.0}/src/assets/rubin-technote/styles/components/_global-breadcrumbs.scss +0 -0
  136. {documenteer-2.1.1 → documenteer-2.3.0}/src/assets/rubin-technote/styles/components/_index.scss +0 -0
  137. {documenteer-2.1.1 → documenteer-2.3.0}/src/assets/rubin-technote/styles/components/_sidebar-section.scss +0 -0
  138. {documenteer-2.1.1 → documenteer-2.3.0}/src/assets/rubin-technote/styles/components/_version-info.scss +0 -0
  139. {documenteer-2.1.1 → documenteer-2.3.0}/src/assets/rubin-technote/styles/rubin-technote.scss +0 -0
  140. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/__init__.py +0 -0
  141. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/_packagemetadata.py +0 -0
  142. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/_requestsutils.py +0 -0
  143. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/_utils.py +0 -0
  144. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/assets/.gitignore +0 -0
  145. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/assets/731c8feefe13e72a8691.woff2 +0 -0
  146. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/assets/b8bc3440ba2145e132f5.woff2 +0 -0
  147. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/assets/favicon.ico +0 -0
  148. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/assets/rsd-assets/rubin-imagotype-color-on-black-crop.svg +0 -0
  149. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/assets/rsd-assets/rubin-imagotype-color-on-white-crop.svg +0 -0
  150. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/assets/rubin-favicon-transparent-32px.png +0 -0
  151. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/assets/rubin-favicon.svg +0 -0
  152. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/assets/rubin-pydata-theme.css +0 -0
  153. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/assets/rubin-technote.css +0 -0
  154. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/assets/rubin-technote.css.map +0 -0
  155. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/assets/rubin-titlebar-imagotype-dark.svg +0 -0
  156. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/assets/rubin-titlebar-imagotype-light.svg +0 -0
  157. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/assets/scripts/rubin-technote.js +0 -0
  158. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/assets/scripts/rubin-technote.js.map +0 -0
  159. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/cli.py +0 -0
  160. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/conf/__init__.py +0 -0
  161. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/conf/_toml.py +0 -0
  162. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/conf/guide.py +0 -0
  163. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/conf/technote.py +0 -0
  164. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/ext/__init__.py +0 -0
  165. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/ext/githubbibcache.py +0 -0
  166. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/ext/redoc/__init__.py +0 -0
  167. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/ext/redoc/_redoc.py +0 -0
  168. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/ext/redoc/assets/redoc.html.jinja2 +0 -0
  169. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/py.typed +0 -0
  170. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/services/__init__.py +0 -0
  171. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/services/technoteauthor.py +0 -0
  172. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/services/technotemigration.py +0 -0
  173. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/storage/__init__.py +0 -0
  174. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/storage/authordb.py +0 -0
  175. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/storage/latex.py +0 -0
  176. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/storage/localtemplates/technote/Makefile +0 -0
  177. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/storage/localtemplates/technote/ci.yaml +0 -0
  178. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/storage/localtemplates/technote/conf.py +0 -0
  179. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/storage/localtemplates/technote/dependabot.yml +0 -0
  180. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/storage/localtemplates/technote/gitignore +0 -0
  181. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/storage/localtemplates/technote/tox.ini +0 -0
  182. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/storage/localtemplates.py +0 -0
  183. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/storage/technotetoml.py +0 -0
  184. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/templates/pydata/autosummary_core/exception.rst +0 -0
  185. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/templates/pydata/autosummary_core/pydantic_model.rst +0 -0
  186. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/templates/pydata/layout.html +0 -0
  187. {documenteer-2.1.1/src/documenteer/templates/technote/components → documenteer-2.3.0/src/documenteer/templates/technote}/.gitkeep +0 -0
  188. {documenteer-2.1.1/src/documenteer/templates/technote/sections → documenteer-2.3.0/src/documenteer/templates/technote/components}/.gitkeep +0 -0
  189. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/templates/technote/components/sidebar-source.html +0 -0
  190. /documenteer-2.1.1/tests/__init__.py → /documenteer-2.3.0/src/documenteer/templates/technote/sections/.gitkeep +0 -0
  191. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/templates/technote/sections/header-article.html +0 -0
  192. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/templates/technote/sections/sidebar-primary.html +0 -0
  193. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer/version.py +0 -0
  194. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer.egg-info/dependency_links.txt +0 -0
  195. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer.egg-info/entry_points.txt +0 -0
  196. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer.egg-info/requires.txt +0 -0
  197. {documenteer-2.1.1 → documenteer-2.3.0}/src/documenteer.egg-info/top_level.txt +0 -0
  198. {documenteer-2.1.1/tests/ext → documenteer-2.3.0/tests}/__init__.py +0 -0
  199. {documenteer-2.1.1 → documenteer-2.3.0}/tests/conftest.py +0 -0
  200. {documenteer-2.1.1 → documenteer-2.3.0}/tests/data/afw.doxygen.conf +0 -0
  201. {documenteer-2.1.1 → documenteer-2.3.0}/tests/data/authordb.yaml +0 -0
  202. {documenteer-2.1.1 → documenteer-2.3.0}/tests/data/doxygen.tag.zip +0 -0
  203. {documenteer-2.1.1 → documenteer-2.3.0}/tests/data/package_alpha/doc/_static/package_alpha/README.md +0 -0
  204. {documenteer-2.1.1 → documenteer-2.3.0}/tests/data/package_alpha/doc/doxygen.conf.in +0 -0
  205. {documenteer-2.1.1 → documenteer-2.3.0}/tests/data/package_alpha/doc/manifest.yaml +0 -0
  206. {documenteer-2.1.1 → documenteer-2.3.0}/tests/data/package_alpha/doc/package.alpha/index.rst +0 -0
  207. {documenteer-2.1.1 → documenteer-2.3.0}/tests/data/package_alpha/doc/package_alpha/index.rst +0 -0
  208. {documenteer-2.1.1 → documenteer-2.3.0}/tests/data/package_alpha/include/README.md +0 -0
  209. {documenteer-2.1.1 → documenteer-2.3.0}/tests/data/package_alpha/src/README.md +0 -0
  210. {documenteer-2.1.1 → documenteer-2.3.0}/tests/data/package_beta/doc/README.md +0 -0
  211. {documenteer-2.1.1/tests/services → documenteer-2.3.0/tests/ext}/__init__.py +0 -0
  212. {documenteer-2.1.1 → documenteer-2.3.0}/tests/ext/jira_test.py +0 -0
  213. {documenteer-2.1.1 → documenteer-2.3.0}/tests/ext/lsstdocushare_test.py +0 -0
  214. {documenteer-2.1.1 → documenteer-2.3.0}/tests/ext/mockcoderefs_test.py +0 -0
  215. {documenteer-2.1.1 → documenteer-2.3.0}/tests/ext/redoc_test.py +0 -0
  216. {documenteer-2.1.1 → documenteer-2.3.0}/tests/ext/robots_test.py +0 -0
  217. {documenteer-2.1.1 → documenteer-2.3.0}/tests/packagemetadata_test.py +0 -0
  218. {documenteer-2.1.1 → documenteer-2.3.0}/tests/roots/test-autocppapi/conf.py +0 -0
  219. {documenteer-2.1.1 → documenteer-2.3.0}/tests/roots/test-autocppapi/doxygen.tag.zip +0 -0
  220. {documenteer-2.1.1 → documenteer-2.3.0}/tests/roots/test-autocppapi/index.rst +0 -0
  221. {documenteer-2.1.1 → documenteer-2.3.0}/tests/roots/test-redoc/_static/openapi.json +0 -0
  222. {documenteer-2.1.1 → documenteer-2.3.0}/tests/roots/test-redoc/api.rst +0 -0
  223. {documenteer-2.1.1 → documenteer-2.3.0}/tests/roots/test-redoc/conf.py +0 -0
  224. {documenteer-2.1.1 → documenteer-2.3.0}/tests/roots/test-redoc/documenteer.toml +0 -0
  225. {documenteer-2.1.1 → documenteer-2.3.0}/tests/roots/test-redoc/index.rst +0 -0
  226. {documenteer-2.1.1 → documenteer-2.3.0}/tests/roots/test-robots-nositemap/conf.py +0 -0
  227. {documenteer-2.1.1 → documenteer-2.3.0}/tests/roots/test-robots-nositemap/index.rst +0 -0
  228. {documenteer-2.1.1 → documenteer-2.3.0}/tests/roots/test-robots-nositemap/page1.rst +0 -0
  229. {documenteer-2.1.1 → documenteer-2.3.0}/tests/roots/test-robots-sitemap/conf.py +0 -0
  230. {documenteer-2.1.1 → documenteer-2.3.0}/tests/roots/test-robots-sitemap/index.rst +0 -0
  231. {documenteer-2.1.1 → documenteer-2.3.0}/tests/roots/test-robots-sitemap/page1.rst +0 -0
  232. {documenteer-2.1.1 → documenteer-2.3.0}/tests/roots/test-robots-sitemap/page2.rst +0 -0
  233. {documenteer-2.1.1/tests/storage → documenteer-2.3.0/tests/services}/__init__.py +0 -0
  234. {documenteer-2.1.1 → documenteer-2.3.0}/tests/services/technotemigration_test.py +0 -0
  235. {documenteer-2.1.1 → documenteer-2.3.0}/tests/storage/authordb_test.py +0 -0
  236. {documenteer-2.1.1 → documenteer-2.3.0}/tests/storage/technotetoml_test.py +0 -0
  237. {documenteer-2.1.1 → documenteer-2.3.0}/tests/test_conf_toml.py +0 -0
  238. {documenteer-2.1.1 → documenteer-2.3.0}/tests/test_conf_utils.py +0 -0
  239. {documenteer-2.1.1 → documenteer-2.3.0}/tox.ini +0 -0
  240. {documenteer-2.1.1 → documenteer-2.3.0}/webpack.config.js +0 -0
@@ -0,0 +1,2 @@
1
+ settings.local.json
2
+ tasks/*.md
@@ -2,6 +2,44 @@
2
2
 
3
3
  <!-- scriv-insert-here -->
4
4
 
5
+ <a id='changelog-2.3.0'></a>
6
+ ## 2.3.0 (2025-09-03)
7
+
8
+ ### New features
9
+
10
+ - Improved configuration defaults for `documenteer.conf.guide` and `documenteer.conf.technote`:
11
+
12
+ - Add `sentry_sdk` to default non-intersphinx packages
13
+ - Ignore `TypeAliasType` due to sphinx bug
14
+ - Ignore `asyncio.Event`, it has the same problem as `asyncio.Lock`
15
+
16
+ - [ASCL](https://ascl.net) identifiers in bibliography entries are now hyperlinked.
17
+
18
+ ### Bug fixes
19
+
20
+ - Vendored `parse_line_num_spec` from Sphinx to accommodate differences between Sphinx 7 and 8.
21
+ - Fix `nitpick_ignore_regex` regexes, they weren't being applied due to a missing `.`
22
+
23
+ ### Other changes
24
+
25
+ - Added documentation on creating bibliographies in technotes.
26
+
27
+ <a id='changelog-2.2.0'></a>
28
+ ## 2.2.0 (2025-08-06)
29
+
30
+ ### New features
31
+
32
+ - Updated the `documenteer technote migrate` command to use Documenteer 2.0 for new technotes.
33
+ - Technote migration documentation now uses uv/uvx for running migration tools.
34
+ - Improved the formatting for reference section in technotes with the Rubin BibTeX style:
35
+
36
+ - If an entry has more than 7 authors, the first three authors are listed, followed by "and others."
37
+ - LaTeX macros for journals are now converted to their expected names in the bibliography.
38
+
39
+ ### Other changes
40
+
41
+ - Cleanup the API documentation for cleaner documentation builds.
42
+
5
43
  <a id='changelog-2.1.1'></a>
6
44
  ## 2.1.1 (2025-07-17)
7
45
 
@@ -0,0 +1,98 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Project Overview
6
+
7
+ Documenteer is a Python package that provides Sphinx documentation tools, extensions, and configurations for Rubin Observatory/LSST projects. It supports two main documentation types:
8
+ - **User guides**: Complete documentation sites using pydata-sphinx-theme
9
+ - **Technotes**: Single-document technical notes using the technote theme
10
+
11
+ ## Development Commands
12
+
13
+ ### Setup and Installation
14
+ ```bash
15
+ make init # Initialize development environment
16
+ pip install -e ".[technote,guide]" --group dev # Install with all extras
17
+ ```
18
+
19
+ ### Testing and Quality Assurance
20
+ ```bash
21
+ tox -e py-test-sphinx8 # Run tests with Sphinx 8.x
22
+ tox -e coverage-report # Generate coverage report
23
+ tox -e typing-sphinx8 # Run mypy type checking
24
+ tox -e lint # Run linting (pre-commit hooks + prettier)
25
+ tox -e demo # Build demo technote projects (end-to-end test)
26
+ tox -e packaging # Check PyPI packaging
27
+ ```
28
+
29
+ ### Documentation
30
+ ```bash
31
+ tox -e docs # Build documentation
32
+ tox -e docs-lint # Check documentation links
33
+ ```
34
+
35
+ ### Cleanup
36
+ ```bash
37
+ make clean # Remove build artifacts
38
+ ```
39
+
40
+ ## Architecture
41
+
42
+ ### Core Components
43
+
44
+ **Configuration System** (`src/documenteer/conf/`):
45
+ - `guide.py`: Sphinx configuration preset for user guides
46
+ - `technote.py`: Sphinx configuration preset for technotes
47
+ - `_toml.py`: TOML-based configuration models using Pydantic
48
+ - Uses pydata-sphinx-theme for guides, [technote](https://github.com/lsst-sqre/technote) package for technotes
49
+
50
+ **Sphinx Extensions** (`src/documenteer/ext/`):
51
+ - `jira.py`: JIRA ticket references
52
+ - `lsstdocushare.py`: LSST DocuShare document links
53
+ - `openapi.py`: OpenAPI documentation integration
54
+ - `githubbibcache.py`: GitHub-based bibliography caching
55
+ - `bibtex.py`: Enhanced BibTeX support
56
+ - `remotecodeblock.py`: Remote code inclusion
57
+ - `mockcoderefs.py`: Mock code references for testing
58
+ - `redoc.py`: Redoc integration for HTTP API documentation
59
+ - `robots.py`: robots.txt generation
60
+
61
+ **CLI Tools** (`src/documenteer/cli.py`):
62
+ - `technote add-author`: Add authors to technote.toml from authordb
63
+ - `technote sync-authors`: Sync author info from central database
64
+ - `technote migrate`: Migrate legacy technotes to modern format
65
+
66
+ **Services** (`src/documenteer/services/`):
67
+ - `technoteauthor.py`: Author management for technotes
68
+ - `technotemigration.py`: Legacy technote migration logic
69
+
70
+ ### Key Design Patterns
71
+
72
+ - **Configuration as Code**: Sphinx configurations are Python modules that can be imported
73
+ - **Pydantic Models**: TOML configuration validation using type-safe models
74
+ - **Extension Architecture**: Modular Sphinx extensions for specific Rubin/LSST needs
75
+ - **Theme Integration**: Tight integration with pydata-sphinx-theme and technote themes
76
+
77
+ ### Testing Strategy
78
+
79
+ - Uses tox for multi-environment testing across Sphinx versions
80
+ - Sphinx test roots in `tests/roots/` for extension testing
81
+ - Coverage reporting with branch coverage
82
+ - Type checking with mypy
83
+ - Pre-commit hooks for code quality
84
+
85
+ ### Code Style
86
+
87
+ - Follows ruff formatting (run lint command to automatically format)
88
+ - Numpydoc docstrings with types omitted (Sphinx documentation uses type annotations)
89
+
90
+ ### Asset Management
91
+
92
+ Static assets are managed in `src/documenteer/assets/` including:
93
+ - Custom CSS and SCSS for Rubin branding
94
+ - JavaScript enhancements
95
+ - Favicon and logo assets
96
+ - Font files (Source Sans Pro)
97
+
98
+ Built assets are compiled using webpack with PostCSS processing.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: documenteer
3
- Version: 2.1.1
3
+ Version: 2.3.0
4
4
  Summary: Rubin Observatory / LSST Sphinx documentation tools, extensions, and configurations.
5
5
  License-Expression: MIT
6
6
  Project-URL: Homepage, https://documenteer.lsst.io
@@ -29,7 +29,7 @@ A list:
29
29
  - Second item
30
30
  - Third item
31
31
 
32
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin facilisis pharetra neque, at semper nulla mattis auctor. Proin semper mollis enim eget interdum. Mauris eleifend eget diam vitae bibendum. Praesent ut aliquet odio, sodales imperdiet nisi. Nam interdum imperdiet tortor sed fringilla. Maecenas efficitur mi sodales nulla commodo rutrum. Ut ornare diam quam, sed commodo turpis aliquam et. In nec enim consequat, suscipit tortor sit amet, luctus ante. Integer dictum augue diam, non pulvinar massa euismod in. Morbi viverra condimentum auctor. Nullam et metus mauris. Cras risus ex, porta sit amet nibh et, dapibus auctor leo.
32
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin facilisis pharetra neque, at semper nulla mattis auctor. Proin semper mollis enim eget interdum. Mauris eleifend eget diam vitae bibendum. Praesent ut aliquet odio, sodales imperdiet nisi. Nam interdum imperdiet tortor sed fringilla. Maecenas efficitur mi sodales nulla commodo rutrum. Ut ornare diam quam, sed commodo turpis aliquam et. In nec enim consequat, suscipit tortor sit amet, luctus ante. Integer dictum augue diam, non pulvinar massa euismod in. Morbi viverra condimentum auctor. Nullam et metus mauris. Cras risus ex, porta sit amet nibh et, dapibus auctor leo. :cite:`2010ascl.soft10043C`
33
33
 
34
34
  .. code-block:: python
35
35
  :caption: hello.py
@@ -0,0 +1,10 @@
1
+ @software{2010ascl.soft10043C,
2
+ author = {{Conroy}, Charlie and {Gunn}, James E.},
3
+ title = "{FSPS: Flexible Stellar Population Synthesis}",
4
+ howpublished = {Astrophysics Source Code Library, record ascl:1010.043},
5
+ year = 2010,
6
+ month = oct,
7
+ eid = {ascl:1010.043},
8
+ adsurl = {https://ui.adsabs.harvard.edu/abs/2010ascl.soft10043C},
9
+ adsnote = {Provided by the SAO/NASA Astrophysics Data System}
10
+ }
@@ -1,7 +1,7 @@
1
1
  # Makefile for Sphinx documentation
2
2
 
3
3
  # You can set these variables from the command line.
4
- SPHINXOPTS = -n
4
+ SPHINXOPTS = -n -W
5
5
  SPHINXBUILD = sphinx-build
6
6
  BUILDDIR = _build
7
7
 
@@ -62,6 +62,7 @@
62
62
  .. _`authordb.yaml`: https://github.com/lsst/lsst-texmf/blob/main/etc/authordb.yaml
63
63
  .. _pipx: https://pipx.pypa.io
64
64
  .. _`LSSTC Slack Workspace`: https://lsstc.slack.com
65
+ .. _`uv`: https://docs.astral.sh/uv/
65
66
 
66
67
  .. |dmw-squarebot| replace:: `direct message with @squarebot <https://slack.com/app_redirect?app=A07PWG9UG9M&team=T02SVMGU4>`__
67
68
 
@@ -2,6 +2,44 @@
2
2
 
3
3
  <!-- scriv-insert-here -->
4
4
 
5
+ <a id='changelog-2.3.0'></a>
6
+ ## 2.3.0 (2025-09-03)
7
+
8
+ ### New features
9
+
10
+ - Improved configuration defaults for `documenteer.conf.guide` and `documenteer.conf.technote`:
11
+
12
+ - Add `sentry_sdk` to default non-intersphinx packages
13
+ - Ignore `TypeAliasType` due to sphinx bug
14
+ - Ignore `asyncio.Event`, it has the same problem as `asyncio.Lock`
15
+
16
+ - [ASCL](https://ascl.net) identifiers in bibliography entries are now hyperlinked.
17
+
18
+ ### Bug fixes
19
+
20
+ - Vendored `parse_line_num_spec` from Sphinx to accommodate differences between Sphinx 7 and 8.
21
+ - Fix `nitpick_ignore_regex` regexes, they weren't being applied due to a missing `.`
22
+
23
+ ### Other changes
24
+
25
+ - Added documentation on creating bibliographies in technotes.
26
+
27
+ <a id='changelog-2.2.0'></a>
28
+ ## 2.2.0 (2025-08-06)
29
+
30
+ ### New features
31
+
32
+ - Updated the `documenteer technote migrate` command to use Documenteer 2.0 for new technotes.
33
+ - Technote migration documentation now uses uv/uvx for running migration tools.
34
+ - Improved the formatting for reference section in technotes with the Rubin BibTeX style:
35
+
36
+ - If an entry has more than 7 authors, the first three authors are listed, followed by "and others."
37
+ - LaTeX macros for journals are now converted to their expected names in the bibliography.
38
+
39
+ ### Other changes
40
+
41
+ - Cleanup the API documentation for cleaner documentation builds.
42
+
5
43
  <a id='changelog-2.1.1'></a>
6
44
  ## 2.1.1 (2025-07-17)
7
45
 
@@ -2,12 +2,12 @@
2
2
  documenteer.ext
3
3
  ###############
4
4
 
5
- .. automodapi:: documenteer.ext.openapi
6
-
7
5
  .. automodapi:: documenteer.ext.bibtex
8
6
  :no-inherited-members:
9
7
  :no-inheritance-diagram:
10
8
 
9
+ .. automodapi:: documenteer.ext.githubbibcache
10
+
11
11
  .. automodapi:: documenteer.ext.jira
12
12
  :no-inheritance-diagram:
13
13
 
@@ -16,3 +16,9 @@ documenteer.ext
16
16
 
17
17
  .. automodapi:: documenteer.ext.mockcoderefs
18
18
  :no-inheritance-diagram:
19
+
20
+ .. automodapi:: documenteer.ext.openapi
21
+
22
+ .. automodapi:: documenteer.ext.remotecodeblock
23
+
24
+ .. automodapi:: documenteer.ext.robots
@@ -44,7 +44,8 @@ technote = "https://technote.lsst.io/"
44
44
 
45
45
  [sphinx.linkcheck]
46
46
  ignore = [
47
- "https://mermaid-js.github.io"
47
+ "https://mermaid-js.github.io",
48
+ "https://rubin-obs.slack.com"
48
49
  ]
49
50
 
50
51
  [sphinx.redirects]
@@ -18,11 +18,14 @@ How you do this depends on your project's packaging structure:
18
18
  .. code-block:: toml
19
19
  :caption: pyproject.toml
20
20
 
21
- [project.optional-dependencies]
22
- dev = [
21
+ [dependency-groups]
22
+ docs = [
23
23
  "documenteer[guide]"
24
24
  ]
25
25
 
26
+ Dependency groups are a way organize development dependencies and are supported by `uv <https://docs.astral.sh/uv/concepts/projects/dependencies/#development-dependencies>`__.
27
+ Dependency groups are preferred over earlier methods of specifying optional dependencies because they are not published as installable dependencies from PyPI.
28
+
26
29
  .. tab-item:: requirements.txt
27
30
 
28
31
  .. code-block:: text
@@ -56,15 +56,15 @@ Installation
56
56
 
57
57
  .. code-block:: sh
58
58
 
59
- conda install documenteer
59
+ conda install lsst-documenteer
60
60
 
61
- To use Documenteer's configurations for specific Rubin documentation use cases, you'll need to install Documenteer with specific "extras" to bring in the necessary dependencies.
62
-
63
- To install Documenteer for technote projects:
61
+ For user guide projects:
64
62
 
65
63
  .. code-block:: sh
66
64
 
67
- conda-install lsst-documenteer-technote
65
+ conda-install lsst-documenteer-guide
66
+
67
+ *Conda distributions aren't available for technote projects at this time.*
68
68
 
69
69
  Project guides
70
70
  ==============
@@ -16,7 +16,7 @@ A short description of this document.
16
16
 
17
17
  ## Build this technical note
18
18
 
19
- You can clone this repository and build the technote locally if your system has Python 3.11 or later:
19
+ You can clone this repository and build the technote locally if your system has Python 3.12 or later:
20
20
 
21
21
  ```bash
22
22
  git clone https://github.com/lsst/example-000
@@ -22,7 +22,7 @@ A short description of this document.
22
22
  Build this technical note
23
23
  =========================
24
24
 
25
- You can clone this repository and build the technote locally if your system has Python 3.11 or later:
25
+ You can clone this repository and build the technote locally if your system has Python 3.12 or later:
26
26
 
27
27
  .. code-block:: bash
28
28
 
@@ -34,7 +34,7 @@ Because of that, you don't need to rely on a specific Rubin Conda environment to
34
34
  .. important::
35
35
 
36
36
  Tox and pre-commit generally use the Python that they were installed with.
37
- Documenteer requires Python 3.11 or later.
37
+ Documenteer requires Python 3.12 or later.
38
38
  To check what version of Python you have, run:
39
39
 
40
40
  .. prompt:: bash
@@ -28,6 +28,7 @@ Documenteer provides centralized configuration and tooling for technotes.
28
28
  :maxdepth: 2
29
29
  :caption: Content & design
30
30
 
31
+ references
31
32
  wide-content
32
33
 
33
34
  .. toctree::
@@ -5,7 +5,7 @@ Migrate legacy reStructuredText/Sphinx technical notes
5
5
  ######################################################
6
6
 
7
7
  Introduced in December 2023, Rubin Observatory has a new technical note format for Markdown and reStructuredText documents.
8
- This update provides many `new features <https://community.lsst.org/t/the-next-generation-of-rubin-observatory-technotes-with-documenteer-1-0/8166>`__ included a responsive and branded page design, Markdown support, improved build configuration, automated bibliography management, and citation-ready metadata.
8
+ This update provides many `new features <https://community.lsst.org/t/the-next-generation-of-rubin-observatory-technotes-with-documenteer-1-0/8166>`__ including a responsive and branded page design, Markdown support, improved build configuration, automated bibliography management, and citation-ready metadata.
9
9
 
10
10
  This page shows how to migrate your existing technotes with a command-line tool that largely automates the process.
11
11
  This page also provides file-by-file notes in case you need to revise the migration.
@@ -16,39 +16,17 @@ This page also provides file-by-file notes in case you need to revise the migrat
16
16
 
17
17
  LaTeX-format technotes are unaffected by this migration.
18
18
 
19
- Step 1. Install pipx
20
- ====================
19
+ Use the migration tool
20
+ ======================
21
21
 
22
- The migration tool needs **Python 3.11 or later**.
23
- You can verify this by running ``python --version`` from your shell.
22
+ Documenteer provides a command-line tool, :command:`documenteer technote migrate`, to migrate legacy technotes to the new format.
23
+ The migration tool requires:
24
24
 
25
- This official migration procedure uses the pipx_ tool to install and run the migration tool in an isolated Python environment.
26
- You can verify that pipx_ is installed by running ``pipx --version`` from your shell and checking for a version number.
25
+ - Python 3.12 or later
26
+ - The :command:`uvx` command from the `uv`_ package
27
27
 
28
- If you don't have the :command:`pipx` command-line tool already, you can install ``pipx`` several ways:
29
-
30
- .. tab-set::
31
-
32
- .. tab-item:: pip
33
-
34
- .. prompt:: bash
35
-
36
- python -m pip install pipx
37
-
38
- .. tab-item:: conda-forge
39
-
40
- .. prompt:: bash
41
-
42
- conda install -c conda-forge pipx
43
-
44
- .. tab-item:: homebrew
45
-
46
- .. prompt:: bash
47
-
48
- brew install pipx
49
-
50
- Step 2. Clone your technote and create a branch
51
- ===============================================
28
+ Step 1. Clone your technote and create a branch
29
+ -----------------------------------------------
52
30
 
53
31
  Since the migration is performed locally, you need to clone the repository:
54
32
 
@@ -60,12 +38,12 @@ Then create a branch for the migration (see the `Developer Guide <https://develo
60
38
 
61
39
  .. code-block:: bash
62
40
 
63
- git switch -c {...}
41
+ git switch -c technote-migration
64
42
 
65
43
  Working from a branch allows you to create a pull request to verify the migration before merging it into the main branch.
66
44
 
67
- Step 3. Look up author IDs
68
- ==========================
45
+ Step 2. Look up author IDs
46
+ --------------------------
69
47
 
70
48
  The migration tool needs the IDs of the technote's authors to fully configure the technote's metadata.
71
49
 
@@ -74,15 +52,39 @@ For example, ``sickj`` is the ID for Jonathan Sick.
74
52
 
75
53
  .. _technote-migration-tool:
76
54
 
77
- Step 4. Run the migration tool
78
- ==============================
55
+ Step 3. Run the migration tool
56
+ ------------------------------
79
57
 
80
58
  From the root of the cloned technote repository, run the migration tool, listing any identified authors that are relevant to your technote:
81
59
 
82
60
  .. code-block:: bash
83
61
  :caption: Set author IDs with the -a option
84
62
 
85
- pipx run documenteer technote migrate -a sickj -a economouf
63
+ uvx documenteer technote migrate -a sickj -a economouf
64
+
65
+ .. dropdown:: Details for installing uv/uvx...
66
+
67
+ The migration tool needs **Python 3.12 or later**.
68
+ You can verify this by running ``python --version`` from your shell.
69
+
70
+ This official migration procedure uses the :command:`uvx` command from uv_ to install and run the migration tool in an isolated Python environment.
71
+
72
+ If you don't have the :command:`uvx` command-line tool already, you can install ``uv`` several ways:
73
+
74
+ .. tab-set::
75
+
76
+ .. tab-item:: pip
77
+
78
+ .. prompt:: bash
79
+
80
+ python -m pip install uv
81
+
82
+ .. tab-item:: homebrew
83
+
84
+ .. prompt:: bash
85
+
86
+ brew install uv
87
+
86
88
 
87
89
  When the migration runs, it shows a summary of the files changed and deleted.
88
90
  Use ``git diff`` to review the changes in case you need to make tweaks before committing.
@@ -91,22 +93,21 @@ If you want to learn more about the changes made by the migration tool, you can
91
93
 
92
94
  .. _technote-migration-markdown:
93
95
 
94
- Step 5 (optional). Migrate to Markdown
95
- ======================================
96
+ Step 4 (optional). Migrate to Markdown
97
+ --------------------------------------
96
98
 
97
99
  The new technote format supports Markdown as well as reStructuredText.
98
100
  If you wish to use Markdown, you can use MyST Parser's migration tool:
99
101
 
100
102
  .. prompt:: bash
101
103
 
102
- pipx install "rst-to-myst[sphinx]"
103
- rst2myst convert index.rst
104
+ uvx --from "rst-to-myst[sphinx]" rst2myst convert index.rst
104
105
 
105
106
  The Markdown flavor used by the new technote format is MyST Markdown, which is a superset of CommonMark Markdown with support for Sphinx roles and directives.
106
107
  See the `MyST Parser documentation <https://myst-parser.readthedocs.io/en/latest/syntax/roles-and-directives.html#roles-directives>`__ for more information.
107
108
 
108
- Step 6 (optional). Build the technote locally
109
- =============================================
109
+ Step 5 (optional). Build the technote locally
110
+ ---------------------------------------------
110
111
 
111
112
  You can build the technote locally to verify that the migrated technote compiles successfully.
112
113
 
@@ -136,8 +137,8 @@ You might also want to run the linter to check links and find common issues:
136
137
  If you have any questions or issues about the build, you should still proceed with committing and creating a pull request (see next step).
137
138
  This way you can link to the repository when you reach out for help in `#square-docs-support`_ on Slack.
138
139
 
139
- Step 7. Commit the migration, pull request, and merge
140
- =====================================================
140
+ Step 6. Commit the migration, pull request, and merge
141
+ -----------------------------------------------------
141
142
 
142
143
  At this point, you should have a working technote in the new format.
143
144
  If you haven't already, commit your work, push your branch to the GitHub repository, and open a pull request.
@@ -225,26 +226,6 @@ The new technote format requires some changes to this file: the title is now par
225
226
  Additionally, the new technote format supports Markdown as well as reStructuredText.
226
227
  See :ref:`migrate to Markdown <technote-migration-markdown>` to learn how to switch to Markdown.
227
228
 
228
- .. tip::
229
-
230
- Besides these changes, your technote can also be written in Markdown (:file:`index.md`).
231
- If you wish to switch from ReStructuredText to Markdown, you can use MyST Parser's migration tool:
232
-
233
- .. prompt:: bash
234
-
235
- pipx install "rst-to-myst[sphinx]"
236
- rst2myst convert index.rst
237
-
238
- This procedure uses pipx_ to install the ``rst-to-myst`` tool in an isolated Python environment (you might have already installed pipx_ to run the :ref:`main migration tool <technote-migration-tool>`).
239
-
240
- Finally, delete the original :file:`index.rst` file and edit :file:`index.md` to fix any formatting issues.
241
-
242
- .. prompt:: bash
243
-
244
- git rm index.rst
245
- git add index.md
246
- git commit -m "Switch to Markdown format"
247
-
248
229
  Title
249
230
  ~~~~~
250
231
 
@@ -254,6 +235,7 @@ Add the title to the top of the content:
254
235
  .. tab-set::
255
236
 
256
237
  .. tab-item:: rst
238
+ :sync: rst
257
239
 
258
240
  .. code-block:: rst
259
241
  :caption: index.rst
@@ -265,6 +247,7 @@ Add the title to the top of the content:
265
247
  [... content below ...]
266
248
 
267
249
  .. tab-item:: md
250
+ :sync: md
268
251
 
269
252
  .. code-block:: md
270
253
  :caption: index.md
@@ -287,6 +270,7 @@ The new technote format uses an ``abstract`` directive to mark up the abstract/s
287
270
  .. tab-set::
288
271
 
289
272
  .. tab-item:: rst
273
+ :sync: rst
290
274
 
291
275
  .. code-block:: rst
292
276
  :caption: index.rst
@@ -306,6 +290,7 @@ The new technote format uses an ``abstract`` directive to mark up the abstract/s
306
290
  [... content below ...]
307
291
 
308
292
  .. tab-item:: md
293
+ :sync: md
309
294
 
310
295
  .. code-block:: md
311
296
  :caption: index.md
@@ -330,6 +315,7 @@ In the new technote format, this section is simplified:
330
315
  .. tab-set::
331
316
 
332
317
  .. tab-item:: rst
318
+ :sync: rst
333
319
 
334
320
  .. code-block:: rst
335
321
  :caption: index.rst
@@ -342,6 +328,7 @@ In the new technote format, this section is simplified:
342
328
  .. bibliography::
343
329
 
344
330
  .. tab-item:: md
331
+ :sync: md
345
332
 
346
333
  .. code-block:: md
347
334
  :caption: index.md
@@ -402,7 +389,7 @@ To start, add a :file:`.pre-commit-config.yaml` file:
402
389
 
403
390
  .. tip::
404
391
 
405
- You can add additional pre-commit hooks to this file to suite your needs.
392
+ You can add additional pre-commit hooks to this file to suit your needs.
406
393
  See Pre-commit's `directory of available hooks <https://pre-commit.com/hooks.html>`__ for ideas.
407
394
 
408
395
  requirements.txt file (updated)
@@ -495,12 +482,14 @@ Here is a suggested README template for technotes in the new format:
495
482
  .. tab-set::
496
483
 
497
484
  .. tab-item:: rst
485
+ :sync: rst
498
486
 
499
487
  .. literalinclude:: _templates/README.rst
500
488
  :language: rst
501
489
  :caption: README.rst
502
490
 
503
491
  .. tab-item:: md
492
+ :sync: md
504
493
 
505
494
  .. literalinclude:: _templates/README.md
506
495
  :language: md