documenteer 2.5.0b2__tar.gz → 2.5.0b4__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.
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.agents/skills/project-mechanics/SKILL.md +11 -2
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.claude/skills/project-mechanics/SKILL.md +11 -2
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.devcontainer/Dockerfile +2 -1
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.github/workflows/ci-cron.yaml +41 -13
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.github/workflows/ci.yaml +107 -29
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.gitignore +5 -0
- documenteer-2.5.0b4/.python-version +1 -0
- documenteer-2.5.0b4/.vale.ini +137 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/CLAUDE.md +7 -4
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/PKG-INFO +4 -3
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/20260702_000000_DM-52076-technote-lint.md +3 -3
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/20260706_000000_jonathan_DM_55386_linkcheck_service.md +1 -1
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/20260722_000000_jonathan_DM_55387_intersphinx_cache.md +1 -1
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/20260723_000000_jonathan_DM_55600_intersphinx_cache_ttl.md +1 -1
- documenteer-2.5.0b4/changelog.d/20260813_000000_jonathan_DM_55690_alias_metadata_fragments.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260818_000000_jonathan_DM_55818_linkcheck_messages.md +8 -0
- documenteer-2.5.0b4/changelog.d/20260818_000001_jonathan_DM_55818_inventory_report.md +17 -0
- documenteer-2.5.0b4/changelog.d/20260819_000000_jonathan_DM_55866_lint_orcid_lookup.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260819_000001_jonathan_DM_55866_add_author_orcid.md +7 -0
- documenteer-2.5.0b4/changelog.d/20260819_000002_jonathan_DM_55866_sync_authors_orcid.md +7 -0
- documenteer-2.5.0b4/changelog.d/20260820_000000_jonathan_DM_55866_affiliation_no_internal_id.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260821_000000_jonathan_DM_55471_linkcheck_recheck_unverified.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260821_000001_jonathan_DM_55471_linkcheck_contribute.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260824_000000_jonathan_DM_55471_linkcheck_service_fallback.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260824_000001_jonathan_DM_55889_citations.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260824_000002_jonathan_DM_55889_sync_cff.md +5 -0
- documenteer-2.5.0b4/changelog.d/20260824_000003_jonathan_DM_55889_citation_cff_reader.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260824_000004_jonathan_DM_55889_guide_citations.md +7 -0
- documenteer-2.5.0b4/changelog.d/20260824_000005_jonathan_DM_55889_lint_citation_rules.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260824_000006_jonathan_DM_55889_guide_head_metadata.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260824_000007_jonathan_DM_55889_lint_datacite.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260824_000008_jonathan_DM_55889_citation_card.md +5 -0
- documenteer-2.5.0b4/changelog.d/20260824_000009_jonathan_DM_55889_footer_citations.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260824_000010_jonathan_DM_55889_lint_datacite_authors.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260824_000011_jonathan_DM_55889_technote_0_10.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260825_000000_jonathan_DM_55889_lint_orcid_conflict.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260825_000000_jonathan_DM_55943_bibtex_ascl.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260825_000001_jonathan_DM_55943_bibtex_ads.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260902_000000_jonathan_DM_55889_citation_pages.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260902_000001_jonathan_DM_55889_citation_relations.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260902_000002_jonathan_DM_55889_citation_date_precision.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260902_000003_jonathan_DM_55889_preferred_citation.md +7 -0
- documenteer-2.5.0b4/changelog.d/20260902_000004_jonathan_DM_55889_cff_dates.md +7 -0
- documenteer-2.5.0b4/changelog.d/20260902_000005_jonathan_DM_55889_self_excludes_page.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260902_000006_jonathan_DM_55889_cff_preferred_url.md +5 -0
- documenteer-2.5.0b4/changelog.d/20260902_000007_jonathan_DM_55889_no_self_part_of.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260902_000008_jonathan_DM_55889_citation_url_validation.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260902_000009_jonathan_DM_55889_citation_bibtex_copy.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260902_000010_jonathan_DM_55889_guide_highwire_tags.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260902_000011_jonathan_DM_55889_citation_doi_role.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260902_000012_jonathan_DM_55889_lint_ignore.md +13 -0
- documenteer-2.5.0b4/changelog.d/20260902_000013_jonathan_DM_55889_self_footer_default.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260903_000001_jonathan_DM_55889_technote_sidebar_citation.md +9 -0
- documenteer-2.5.0b4/changelog.d/20260903_000002_jonathan_DM_55889_technote_article_citation.md +7 -0
- documenteer-2.5.0b4/changelog.d/20260904_000000_jonathan_DM_55889_technote_0_11.md +4 -0
- documenteer-2.5.0b4/changelog.d/20260904_000001_jonathan_DM_55889_citation_date_warning.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260904_000002_jonathan_DM_55889_build_backed_metadata.md +13 -0
- documenteer-2.5.0b4/changelog.d/20260909_000000_jonathan_DM_55889_lint_datacite_date.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260909_000001_jonathan_DM_55889_citation_page_fragment.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260909_000001_jonathan_DM_55889_technote_bibtex_key.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260909_000002_jonathan_DM_55889_cff_top_level_type.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260909_000003_jonathan_DM_55889_cff_self_preferred.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260909_000004_jonathan_DM_55889_toml_error_messages.md +5 -0
- documenteer-2.5.0b4/changelog.d/20260909_000005_jonathan_DM_55889_citation_version.md +5 -0
- documenteer-2.5.0b4/changelog.d/20260909_000006_jonathan_DM_55889_citation_date_software.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260909_000007_jonathan_DM_55889_citation_keys.md +7 -0
- documenteer-2.5.0b4/changelog.d/20260909_000008_jonathan_DM_55889_citation_selectors.md +15 -0
- documenteer-2.5.0b4/changelog.d/20260909_000009_jonathan_DM_55889_citation_defaults.md +11 -0
- documenteer-2.5.0b4/changelog.d/20260909_000010_jonathan_DM_55889_preferred_citation_metadata.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260909_000011_jonathan_DM_55889_citation_copy_script_pages.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260909_000012_jonathan_DM_55889_migrate_tooling.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260909_000013_jonathan_DM_55889_citation_docs_gaps.md +5 -0
- documenteer-2.5.0b4/changelog.d/20260911_000000_jonathan_DM_55889_config_error_exit.md +15 -0
- documenteer-2.5.0b4/changelog.d/20260911_000000_jonathan_DM_55889_technote_update.md +9 -0
- documenteer-2.5.0b4/changelog.d/20260911_000001_jonathan_DM_55889_lint_env_cff_check.md +5 -0
- documenteer-2.5.0b4/changelog.d/20260911_000002_jonathan_DM_55889_citation_date_defaults.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260912_000000_jonathan_DM_55889_technote_0_12.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260912_000001_jonathan_DM_55889_technote_citation_commit_date.md +5 -0
- documenteer-2.5.0b4/changelog.d/20260914_000000_jonathan_DM_55889_citation_rebuild.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260914_000001_jonathan_DM_55889_citation_page_selector.md +3 -0
- documenteer-2.5.0b4/changelog.d/20260914_000002_jonathan_DM_55889_tox_ini_indent.md +5 -0
- documenteer-2.5.0b4/changelog.d/20260914_000003_jonathan_DM_55889_sync_cff_fixes.md +5 -0
- documenteer-2.5.0b4/changelog.d/20260914_000004_jonathan_DM_55889_card_description.md +3 -0
- documenteer-2.5.0b4/changelog.d/20261013_000000_jonathan_DM_56680_test_matrix.md +4 -0
- documenteer-2.5.0b4/changelog.d/20261014_000000_jonathan_DM_56680_vale.md +3 -0
- documenteer-2.5.0b4/changelog.d/20261014_000001_jonathan_DM_56680_docverse.md +3 -0
- documenteer-2.5.0b4/docs/dev/api/documenteer.citations.rst +5 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/dev/api/index.rst +1 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/dev/development.rst +21 -5
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/dev/index.rst +1 -0
- documenteer-2.5.0b4/docs/dev/vale.rst +88 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/documenteer.toml +16 -0
- documenteer-2.5.0b4/docs/guides/citations.rst +650 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/guides/index.rst +1 -0
- documenteer-2.5.0b4/docs/guides/toml-reference.rst +1555 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/sphinx-extensions/autotypes.rst +5 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/sphinx-extensions/githubbibcache.rst +2 -2
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/sphinx-extensions/lsst-pybtex-style.rst +7 -1
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/sphinx-extensions/openapi.rst +1 -1
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/technotes/author-metadata.rst +45 -0
- documenteer-2.5.0b4/docs/technotes/citation-file.rst +134 -0
- documenteer-2.5.0b4/docs/technotes/citations.rst +175 -0
- documenteer-2.5.0b4/docs/technotes/configuration.rst +176 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/technotes/edit-locally.rst +14 -1
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/technotes/edit-on-github.rst +1 -1
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/technotes/extensions.rst +2 -2
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/technotes/index.rst +3 -1
- documenteer-2.5.0b4/docs/technotes/lint/index.rst +310 -0
- documenteer-2.5.0b2/docs/technotes/lint/tn002.rst → documenteer-2.5.0b4/docs/technotes/lint/r002.rst +8 -8
- documenteer-2.5.0b2/docs/technotes/lint/tn003.rst → documenteer-2.5.0b4/docs/technotes/lint/r003.rst +6 -6
- documenteer-2.5.0b2/docs/technotes/lint/tn101.rst → documenteer-2.5.0b4/docs/technotes/lint/r101.rst +20 -12
- documenteer-2.5.0b2/docs/technotes/lint/tn102.rst → documenteer-2.5.0b4/docs/technotes/lint/r102.rst +21 -8
- documenteer-2.5.0b2/docs/technotes/lint/tn103.rst → documenteer-2.5.0b4/docs/technotes/lint/r103.rst +7 -7
- documenteer-2.5.0b4/docs/technotes/lint/tn001.rst +98 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/technotes/lint/tn004.rst +4 -4
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/technotes/lint/tn005.rst +1 -1
- documenteer-2.5.0b4/docs/technotes/lint/tn007.rst +71 -0
- documenteer-2.5.0b4/docs/technotes/lint/tn105.rst +214 -0
- documenteer-2.5.0b4/docs/technotes/lint/tn106.rst +71 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/technotes/lint/tn201.rst +1 -1
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/technotes/lint/tn202.rst +4 -2
- documenteer-2.5.0b4/docs/technotes/lint/tn203.rst +49 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/technotes/lint/tn204.rst +3 -2
- documenteer-2.5.0b4/docs/technotes/migrate.rst +11 -0
- documenteer-2.5.0b2/docs/technotes/migrate.rst → documenteer-2.5.0b4/docs/technotes/update.rst +125 -35
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/technotes/wide-content.rst +1 -1
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/noxfile.py +41 -14
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/package-lock.json +112 -169
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/package.json +7 -7
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/pyproject.toml +24 -4
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/assets/rubin-guide/styles/rubin-pydata-theme.scss +191 -0
- documenteer-2.5.0b4/src/assets/rubin-technote/styles/components/_article-citation.scss +39 -0
- documenteer-2.5.0b4/src/assets/rubin-technote/styles/components/_article-header.scss +12 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/assets/rubin-technote/styles/components/_index.scss +2 -2
- documenteer-2.5.0b4/src/assets/rubin-technote/styles/components/_sidebar-citation.scss +97 -0
- documenteer-2.5.0b4/src/documenteer/assets/rubin-citation-copy.js +111 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/assets/rubin-pydata-theme.css +190 -0
- documenteer-2.5.0b4/src/documenteer/assets/rubin-pydata-theme.css.map +1 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/assets/rubin-technote.css +131 -52
- documenteer-2.5.0b4/src/documenteer/assets/rubin-technote.css.map +1 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/assets/scripts/rubin-pydata-theme.js +5 -9
- documenteer-2.5.0b4/src/documenteer/assets/scripts/rubin-pydata-theme.js.map +1 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/assets/scripts/rubin-technote.js +5 -9
- documenteer-2.5.0b4/src/documenteer/assets/scripts/rubin-technote.js.map +1 -0
- documenteer-2.5.0b4/src/documenteer/citations.py +2022 -0
- documenteer-2.5.0b4/src/documenteer/cli.py +760 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/conf/__init__.py +2 -0
- documenteer-2.5.0b4/src/documenteer/conf/_configsource.py +88 -0
- documenteer-2.5.0b4/src/documenteer/conf/_errors.py +171 -0
- documenteer-2.5.0b4/src/documenteer/conf/_technotecitation.py +212 -0
- documenteer-2.5.0b4/src/documenteer/conf/_toml.py +2039 -0
- documenteer-2.5.0b4/src/documenteer/conf/_tomlerrors.py +339 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/conf/guide.py +68 -2
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/conf/technote.py +61 -1
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/autotypes/xrefs.py +135 -8
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/bibtex.py +110 -17
- documenteer-2.5.0b4/src/documenteer/ext/citationcard.py +1007 -0
- documenteer-2.5.0b4/src/documenteer/ext/citationdate.py +241 -0
- documenteer-2.5.0b4/src/documenteer/ext/citationpage.py +327 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/intersphinxcache.py +273 -14
- documenteer-2.5.0b4/src/documenteer/ext/linkcheckservice.py +1054 -0
- documenteer-2.5.0b4/src/documenteer/services/intersphinxreport.py +233 -0
- documenteer-2.5.0b4/src/documenteer/services/technoteauthor.py +300 -0
- documenteer-2.5.0b4/src/documenteer/services/technotecff.py +603 -0
- documenteer-2.5.0b4/src/documenteer/services/technotelint.py +1758 -0
- documenteer-2.5.0b4/src/documenteer/services/technoteread.py +358 -0
- documenteer-2.5.0b4/src/documenteer/services/technoteupdate.py +561 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/storage/authordb.py +88 -0
- documenteer-2.5.0b4/src/documenteer/storage/citationcff.py +471 -0
- documenteer-2.5.0b4/src/documenteer/storage/datacite.py +458 -0
- documenteer-2.5.0b4/src/documenteer/storage/githuboidc.py +156 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/storage/intersphinxcacheclient.py +119 -1
- documenteer-2.5.0b4/src/documenteer/storage/linkcheckclient.py +866 -0
- documenteer-2.5.0b4/src/documenteer/storage/locallinkchecker.py +211 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/storage/localtemplates/technote/Makefile +4 -0
- documenteer-2.5.0b4/src/documenteer/storage/localtemplates/technote/requirements.txt +1 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/storage/localtemplates/technote/tox.ini +8 -3
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/storage/localtemplates.py +24 -2
- documenteer-2.5.0b4/src/documenteer/storage/technotetoml.py +240 -0
- documenteer-2.5.0b4/src/documenteer/templates/pydata/layout.html +43 -0
- documenteer-2.5.0b4/src/documenteer/templates/pydata/rubin-footer.html +146 -0
- documenteer-2.5.0b4/src/documenteer/templates/technote/components/sidebar-citation.html +63 -0
- documenteer-2.5.0b4/src/documenteer/templates/technote/sections/article-footer.html +38 -0
- documenteer-2.5.0b4/src/documenteer/templates/technote/sections/logo.html +15 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer.egg-info/PKG-INFO +4 -3
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer.egg-info/SOURCES.txt +225 -11
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer.egg-info/requires.txt +2 -2
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer.egg-info/scm_file_list.json +225 -11
- documenteer-2.5.0b4/src/documenteer.egg-info/scm_version.json +8 -0
- documenteer-2.5.0b4/styles/Documenteer/LinkText.yml +14 -0
- documenteer-2.5.0b4/styles/Documenteer/We.yml +18 -0
- documenteer-2.5.0b4/styles/config/vocabularies/Documenteer/accept.txt +118 -0
- documenteer-2.5.0b4/tests/cffschema.py +78 -0
- documenteer-2.5.0b4/tests/citation_copy_status_test.py +110 -0
- documenteer-2.5.0b4/tests/cli_test.py +840 -0
- documenteer-2.5.0b4/tests/config_error_exit_test.py +321 -0
- documenteer-2.5.0b4/tests/data/cff/README.md +42 -0
- documenteer-2.5.0b4/tests/data/cff/schema-1.2.0.json +1882 -0
- documenteer-2.5.0b4/tests/data/citationcff/minimal.cff +12 -0
- documenteer-2.5.0b4/tests/data/citationcff/preferred-citation.cff +27 -0
- documenteer-2.5.0b4/tests/data/citationcff/software-record.cff +20 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/ext/autotypes_test.py +238 -0
- documenteer-2.5.0b4/tests/ext/bibtex_test.py +199 -0
- documenteer-2.5.0b4/tests/ext/citationcard_description_test.py +134 -0
- documenteer-2.5.0b4/tests/ext/citationcard_test.py +615 -0
- documenteer-2.5.0b4/tests/ext/citationdate_test.py +547 -0
- documenteer-2.5.0b4/tests/ext/citationdoi_test.py +372 -0
- documenteer-2.5.0b4/tests/ext/citationpage_test.py +265 -0
- documenteer-2.5.0b4/tests/ext/conftest.py +64 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/ext/guide_build_test.py +41 -0
- documenteer-2.5.0b4/tests/ext/guide_citation_card_test.py +83 -0
- documenteer-2.5.0b4/tests/ext/guide_citation_copy_script_test.py +170 -0
- documenteer-2.5.0b4/tests/ext/guide_citation_date_test.py +103 -0
- documenteer-2.5.0b4/tests/ext/guide_citation_rebuild_test.py +228 -0
- documenteer-2.5.0b4/tests/ext/guide_footer_citations_test.py +280 -0
- documenteer-2.5.0b4/tests/ext/guide_head_citations_test.py +277 -0
- documenteer-2.5.0b4/tests/ext/guide_page_citations_test.py +357 -0
- documenteer-2.5.0b4/tests/ext/guide_preferred_citation_test.py +191 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/ext/intersphinxcache_test.py +850 -4
- documenteer-2.5.0b4/tests/ext/linkcheckservice_test.py +3078 -0
- documenteer-2.5.0b4/tests/ext/technote_article_citation_test.py +258 -0
- documenteer-2.5.0b4/tests/ext/technote_citation_date_test.py +233 -0
- documenteer-2.5.0b4/tests/ext/technote_sidebar_citation_test.py +242 -0
- documenteer-2.5.0b4/tests/guide_stylesheet_test.py +107 -0
- documenteer-2.5.0b4/tests/roots/test-autotypes-annotated/aliases.rst +17 -0
- documenteer-2.5.0b4/tests/roots/test-autotypes-annotated/aliaspkg/__init__.py +13 -0
- documenteer-2.5.0b4/tests/roots/test-autotypes-annotated/aliaspkg/_types.py +75 -0
- documenteer-2.5.0b4/tests/roots/test-autotypes-annotated/aliaspkg/legacy.py +32 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-annotated/index.rst +7 -0
- documenteer-2.5.0b4/tests/roots/test-citationcard/conf.py +115 -0
- documenteer-2.5.0b4/tests/roots/test-citationcard/index.rst +21 -0
- documenteer-2.5.0b4/tests/roots/test-citationcard/repeated-labels.rst +25 -0
- documenteer-2.5.0b4/tests/roots/test-citationcard/role-warnings.rst +12 -0
- documenteer-2.5.0b4/tests/roots/test-citationcard/roles-myst.md +9 -0
- documenteer-2.5.0b4/tests/roots/test-citationcard/roles.rst +35 -0
- documenteer-2.5.0b4/tests/roots/test-citationcard/selectors.rst +41 -0
- documenteer-2.5.0b4/tests/roots/test-citationcard/unknown.rst +12 -0
- documenteer-2.5.0b4/tests/roots/test-citationcard/url-citation.rst +13 -0
- documenteer-2.5.0b4/tests/roots/test-citationcard-opengraph/conf.py +51 -0
- documenteer-2.5.0b4/tests/roots/test-citationcard-opengraph/index.rst +12 -0
- documenteer-2.5.0b4/tests/roots/test-citationcard-opengraph/prose-first.rst +9 -0
- documenteer-2.5.0b4/tests/roots/test-citationdate/conf.py +88 -0
- documenteer-2.5.0b4/tests/roots/test-citationdate/index.rst +7 -0
- documenteer-2.5.0b4/tests/roots/test-citationpage/conf.py +101 -0
- documenteer-2.5.0b4/tests/roots/test-citationpage/index.rst +10 -0
- documenteer-2.5.0b4/tests/roots/test-citationpage/products.rst +20 -0
- documenteer-2.5.0b4/tests/roots/test-citationpage/unlabelled.rst +10 -0
- documenteer-2.5.0b4/tests/roots/test-guide/conf.py +1 -0
- documenteer-2.5.0b4/tests/roots/test-guide/documenteer.toml +42 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-guide/index.rst +7 -0
- documenteer-2.5.0b4/tests/roots/test-guide-cardonly/api.rst +5 -0
- documenteer-2.5.0b4/tests/roots/test-guide-cardonly/documenteer.toml +24 -0
- documenteer-2.5.0b4/tests/roots/test-guide-cardonly/index.rst +11 -0
- documenteer-2.5.0b4/tests/roots/test-guide-citation-defaults/documenteer.toml +23 -0
- documenteer-2.5.0b4/tests/roots/test-guide-citation-defaults/index.rst +6 -0
- documenteer-2.5.0b4/tests/roots/test-guide-citation-rebuild/documenteer.toml +31 -0
- documenteer-2.5.0b4/tests/roots/test-guide-citation-rebuild/index.rst +9 -0
- documenteer-2.5.0b4/tests/roots/test-guide-citationpage/documenteer.toml +91 -0
- documenteer-2.5.0b4/tests/roots/test-guide-citationpage/index.rst +11 -0
- documenteer-2.5.0b4/tests/roots/test-guide-citationpage/products/object.rst +18 -0
- documenteer-2.5.0b4/tests/roots/test-guide-citationpage/products/visit.rst +6 -0
- documenteer-2.5.0b4/tests/roots/test-guide-citationpage/unclaimed.rst +4 -0
- documenteer-2.5.0b4/tests/roots/test-guide-nocitations/documenteer.toml +7 -0
- documenteer-2.5.0b4/tests/roots/test-guide-nocitations/index.rst +6 -0
- documenteer-2.5.0b4/tests/roots/test-guide-preferred/conf.py +1 -0
- documenteer-2.5.0b4/tests/roots/test-guide-preferred/dataset.rst +5 -0
- documenteer-2.5.0b4/tests/roots/test-guide-preferred/documenteer.toml +35 -0
- documenteer-2.5.0b4/tests/roots/test-guide-preferred/index.rst +13 -0
- documenteer-2.5.0b4/tests/roots/test-guide-undisplayed/conf.py +1 -0
- documenteer-2.5.0b4/tests/roots/test-guide-undisplayed/documenteer.toml +19 -0
- documenteer-2.5.0b4/tests/roots/test-guide-undisplayed/index.rst +5 -0
- documenteer-2.5.0b4/tests/roots/test-intersphinx-cache-empty/conf.py +10 -0
- documenteer-2.5.0b4/tests/roots/test-intersphinx-cache-empty/index.rst +4 -0
- documenteer-2.5.0b4/tests/roots/test-intersphinx-cache-guide/conf.py +21 -0
- documenteer-2.5.0b4/tests/roots/test-intersphinx-cache-guide/documenteer.toml +6 -0
- documenteer-2.5.0b4/tests/roots/test-intersphinx-cache-guide/index.rst +6 -0
- documenteer-2.5.0b4/tests/roots/test-intersphinx-cache-local/conf.py +22 -0
- documenteer-2.5.0b4/tests/roots/test-intersphinx-cache-local/index.rst +5 -0
- documenteer-2.5.0b4/tests/roots/test-intersphinx-cache-local/objects.inv +0 -0
- documenteer-2.5.0b4/tests/roots/test-intersphinx-cache-technote/conf.py +19 -0
- documenteer-2.5.0b4/tests/roots/test-intersphinx-cache-technote/index.rst +6 -0
- documenteer-2.5.0b4/tests/roots/test-intersphinx-cache-technote/technote.toml +7 -0
- documenteer-2.5.0b4/tests/roots/test-linkcheck-service/conf.py +1 -0
- documenteer-2.5.0b4/tests/roots/test-linkcheck-service-bare/conf.py +9 -0
- documenteer-2.5.0b4/tests/roots/test-linkcheck-service-bare/index.rst +4 -0
- documenteer-2.5.0b4/tests/roots/test-linkcheck-service-filter/conf.py +1 -0
- documenteer-2.5.0b4/tests/roots/test-linkcheck-service-multipage/conf.py +1 -0
- documenteer-2.5.0b4/tests/roots/test-redoc/conf.py +1 -0
- documenteer-2.5.0b4/tests/roots/test-technote-citation/index.rst +13 -0
- documenteer-2.5.0b4/tests/roots/test-technote-citation/technote.toml +30 -0
- documenteer-2.5.0b4/tests/roots/test-technote-linkcheck-service/conf.py +6 -0
- documenteer-2.5.0b4/tests/roots/test-technote-nocitation/conf.py +6 -0
- documenteer-2.5.0b4/tests/roots/test-technote-nocitation/index.rst +13 -0
- documenteer-2.5.0b4/tests/roots/test-technote-nocitation/technote.toml +19 -0
- documenteer-2.5.0b4/tests/roots/test-technote-undated/conf.py +6 -0
- documenteer-2.5.0b4/tests/roots/test-technote-undated/index.rst +14 -0
- documenteer-2.5.0b4/tests/roots/test-technote-undated/technote.toml +32 -0
- documenteer-2.5.0b4/tests/roots/test-technote-unlocated/conf.py +6 -0
- documenteer-2.5.0b4/tests/roots/test-technote-unlocated/index.rst +13 -0
- documenteer-2.5.0b4/tests/roots/test-technote-unlocated/technote.toml +20 -0
- documenteer-2.5.0b4/tests/services/intersphinxreport_test.py +296 -0
- documenteer-2.5.0b4/tests/services/technoteauthor_test.py +398 -0
- documenteer-2.5.0b4/tests/services/technotecff_test.py +677 -0
- documenteer-2.5.0b4/tests/services/technotelint_test.py +2971 -0
- documenteer-2.5.0b4/tests/services/technoteread_test.py +369 -0
- documenteer-2.5.0b4/tests/services/technoteupdate_test.py +362 -0
- documenteer-2.5.0b4/tests/storage/authordb_test.py +353 -0
- documenteer-2.5.0b4/tests/storage/citationcff_test.py +615 -0
- documenteer-2.5.0b4/tests/storage/datacite_test.py +509 -0
- documenteer-2.5.0b4/tests/storage/githuboidc_test.py +149 -0
- documenteer-2.5.0b4/tests/storage/intersphinxcacheclient_test.py +475 -0
- documenteer-2.5.0b4/tests/storage/linkcheckclient_test.py +836 -0
- documenteer-2.5.0b4/tests/storage/locallinkchecker_test.py +134 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/storage/technotetoml_test.py +165 -1
- documenteer-2.5.0b4/tests/test_citations.py +2269 -0
- documenteer-2.5.0b4/tests/test_conf_configsource.py +75 -0
- documenteer-2.5.0b4/tests/test_conf_technotecitation.py +346 -0
- documenteer-2.5.0b4/tests/test_conf_toml.py +3162 -0
- documenteer-2.5.0b4/tests/test_technote_styles.py +109 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/uv.lock +185 -133
- documenteer-2.5.0b2/docs/guides/toml-reference.rst +0 -698
- documenteer-2.5.0b2/docs/technotes/configuration.rst +0 -59
- documenteer-2.5.0b2/docs/technotes/lint/index.rst +0 -193
- documenteer-2.5.0b2/docs/technotes/lint/tn001.rst +0 -65
- documenteer-2.5.0b2/docs/technotes/lint/tn203.rst +0 -46
- documenteer-2.5.0b2/src/assets/rubin-technote/styles/components/_article-header.scss +0 -22
- documenteer-2.5.0b2/src/assets/rubin-technote/styles/components/_global-breadcrumbs.scss +0 -22
- documenteer-2.5.0b2/src/assets/rubin-technote/styles/components/_version-info.scss +0 -27
- documenteer-2.5.0b2/src/documenteer/assets/rubin-pydata-theme.css.map +0 -1
- documenteer-2.5.0b2/src/documenteer/assets/rubin-technote.css.map +0 -1
- documenteer-2.5.0b2/src/documenteer/assets/scripts/rubin-pydata-theme.js.map +0 -1
- documenteer-2.5.0b2/src/documenteer/assets/scripts/rubin-technote.js.map +0 -1
- documenteer-2.5.0b2/src/documenteer/cli.py +0 -268
- documenteer-2.5.0b2/src/documenteer/conf/_toml.py +0 -745
- documenteer-2.5.0b2/src/documenteer/ext/linkcheckservice.py +0 -516
- documenteer-2.5.0b2/src/documenteer/services/technoteauthor.py +0 -41
- documenteer-2.5.0b2/src/documenteer/services/technotelint.py +0 -1134
- documenteer-2.5.0b2/src/documenteer/services/technotemigration.py +0 -270
- documenteer-2.5.0b2/src/documenteer/storage/linkcheckclient.py +0 -413
- documenteer-2.5.0b2/src/documenteer/storage/localtemplates/technote/requirements.txt +0 -1
- documenteer-2.5.0b2/src/documenteer/storage/technotetoml.py +0 -147
- documenteer-2.5.0b2/src/documenteer/templates/pydata/layout.html +0 -15
- documenteer-2.5.0b2/src/documenteer/templates/pydata/rubin-footer.html +0 -71
- documenteer-2.5.0b2/src/documenteer/templates/technote/sections/header-article.html +0 -41
- documenteer-2.5.0b2/src/documenteer/templates/technote/sections/sidebar-primary.html +0 -5
- documenteer-2.5.0b2/src/documenteer.egg-info/scm_version.json +0 -8
- documenteer-2.5.0b2/tests/cli_test.py +0 -150
- documenteer-2.5.0b2/tests/ext/conftest.py +0 -24
- documenteer-2.5.0b2/tests/ext/linkcheckservice_test.py +0 -1413
- documenteer-2.5.0b2/tests/roots/test-guide/documenteer.toml +0 -4
- documenteer-2.5.0b2/tests/services/technotelint_test.py +0 -1205
- documenteer-2.5.0b2/tests/services/technotemigration_test.py +0 -104
- documenteer-2.5.0b2/tests/storage/authordb_test.py +0 -170
- documenteer-2.5.0b2/tests/storage/intersphinxcacheclient_test.py +0 -214
- documenteer-2.5.0b2/tests/storage/linkcheckclient_test.py +0 -396
- documenteer-2.5.0b2/tests/test_conf_toml.py +0 -360
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.agents/skills/stoker-create-pr/SKILL.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.agents/skills/stoker-fixup/SKILL.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.agents/skills/stoker-implement/SKILL.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.agents/skills/stoker-prd/SKILL.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.agents/skills/stoker-prd-followup/SKILL.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.agents/skills/stoker-prd-to-issues/SKILL.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.agents/skills/stoker-rebase/SKILL.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.agents/skills/stoker-review/SKILL.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.agents/skills/stoker-run-workflow/SKILL.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.agents/skills/stoker-work/SKILL.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.claude/.gitignore +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.claude/skills/stoker-create-pr/SKILL.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.claude/skills/stoker-fixup/SKILL.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.claude/skills/stoker-implement/SKILL.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.claude/skills/stoker-prd/SKILL.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.claude/skills/stoker-prd-followup/SKILL.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.claude/skills/stoker-prd-to-issues/SKILL.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.claude/skills/stoker-rebase/SKILL.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.claude/skills/stoker-review/SKILL.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.claude/skills/stoker-run-workflow/SKILL.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.claude/skills/stoker-work/SKILL.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.claude/tasks/.gitkeep +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.claude/workflows/stoker-iteration.js +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.devcontainer/devcontainer.json +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.devcontainer/stoker/agent-entry.sh +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.devcontainer/stoker/codex-config.toml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.devcontainer/stoker/devcontainer.json +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.devcontainer/stoker/features/stoker-sandbox/devcontainer-feature.json +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.devcontainer/stoker/features/stoker-sandbox/install.sh +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.devcontainer/stoker/firewall-allowlist.txt +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.devcontainer/stoker/firewall-refresh.cron +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.devcontainer/stoker/init-firewall.sh +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.flake8 +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.github/CODE_OF_CONDUCT.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.github/CONTRIBUTING.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.github/ISSUE_TEMPLATE/prd-task.yml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.github/ISSUE_TEMPLATE/prd.yml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.github/SUPPORT.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.github/dependabot.yml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.npmrc +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.nvmrc +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.pre-commit-config.yaml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.prettierignore +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.prettierrc.yaml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.stoker/.gitignore +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.stoker/prompts/fixup.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.stoker/prompts/implement.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.stoker/prompts/rebase.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.stoker/prompts/review.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.stoker/prompts/select.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.stoker/settings.toml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.vscode/settings.json +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/.vscode/tasks.json +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/CHANGELOG.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/LICENSE +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/MANIFEST.in +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/Makefile +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/README.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/20260629_000000_DM-55292-remote-code-block.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/20260629_000001_DM-55292-sphinx-upgrade.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/20260629_000002_DM-55292-diagrams.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/20260629_000003_DM-55292-diagrams-svg.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/20260629_155552_jonathan_DM_55292_upgrade.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/20260630_125651_jonathan_DM_55292_frontend.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/20260727_000000_jonathan_DM_55634_github_edit_link_path.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/20260731_000000_jonathan_autotypes.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/20260801_000000_jonathan_git_shallow_suppress.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/20260806_000000_jonathan_DM_55745_improve_this_page.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/20260806_000001_jonathan_DM_55745_header_nav_wrap.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/20260806_000002_jonathan_DM_55745_github_icon.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/20260806_000003_jonathan_DM_55745_footer.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/20260807_000000_jonathan_DM_55745_drop_rubin_docs_link.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/20260812_000000_jonathan_DM_55690_sphinx9_gaps.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/_template.md.jinja +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/ipynb-technote/.gitignore +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/ipynb-technote/Makefile +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/ipynb-technote/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/ipynb-technote/diagram.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/ipynb-technote/extra-notebook.ipynb +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/ipynb-technote/index.ipynb +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/ipynb-technote/subdir/subdir-notebook.ipynb +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/ipynb-technote/technote.toml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/md-technote/.gitignore +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/md-technote/Makefile +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/md-technote/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/md-technote/diagram.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/md-technote/index.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/md-technote/technote.toml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/rst-technote/.gitignore +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/rst-technote/Makefile +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/rst-technote/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/rst-technote/diagram.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/rst-technote/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/rst-technote/local.bib +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/demo/rst-technote/technote.toml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/.gitignore +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/Makefile +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/_rst_epilog.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/changelog.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/dev/api/documenteer.conf.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/dev/api/documenteer.ext.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/dev/dependency-policy.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/dev/html-templates.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/dev/release.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/dev/theme-assets.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/dev/theme.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/guides/badges.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/guides/configuration-preset.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/guides/configuration.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/guides/diagrams.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/guides/extend-conf-py.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/guides/improve-this-page.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/guides/including-notebooks.ipynb +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/guides/markdown-primer.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/guides/openapi.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/guides/organization.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/guides/overview.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/guides/page-redirects.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/guides/pyproject-configuration.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/guides/rst-epilog.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/guides/tabsets.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/guides/video-embeds.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/sphinx-extensions/docushare-reference.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/sphinx-extensions/github-edit-link.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/sphinx-extensions/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/sphinx-extensions/jira-reference.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/sphinx-extensions/last-updated.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/sphinx-extensions/remote-code-block.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/technotes/_templates/README.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/technotes/_templates/README.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/technotes/document-status.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/technotes/how-your-technote-gets-published.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/technotes/lint/tn006.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/technotes/references.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/docs/technotes/start-a-technote.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/licenses/README.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/licenses/astropy-helpers.txt +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/licenses/sphinx-diagrams.txt +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/licenses/sphinx-issue.txt +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/licenses/sphinx.txt +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/licenses/sphinxcontrib-redoc.txt +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/postcss.config.js +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/ruff-shared.toml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/setup.cfg +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/assets/rubin-technote/styles/SourceSans3VF-Italic.ttf.woff2 +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/assets/rubin-technote/styles/SourceSans3VF-Upright.ttf.woff2 +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/assets/rubin-technote/styles/_hacks.scss +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/assets/rubin-technote/styles/_properties.scss +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/assets/rubin-technote/styles/components/_authors.scss +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/assets/rubin-technote/styles/components/_sidebar-section.scss +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/assets/rubin-technote/styles/rubin-technote.scss +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/_packagemetadata.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/_requestsutils.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/_utils.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/assets/.gitignore +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/assets/731c8feefe13e72a8691.woff2 +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/assets/b8bc3440ba2145e132f5.woff2 +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/assets/favicon.ico +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/assets/rsd-assets/rubin-imagotype-color-on-black-crop.svg +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/assets/rsd-assets/rubin-imagotype-color-on-white-crop.svg +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/assets/rsd-assets/rubin-partners.png +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/assets/rubin-favicon-transparent-32px.png +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/assets/rubin-favicon.svg +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/assets/rubin-footer-align.js +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/assets/rubin-last-modified.js +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/assets/rubin-titlebar-imagotype-dark.svg +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/assets/rubin-titlebar-imagotype-light.svg +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/conf/_utils.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/autotypes/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/autotypes/_shared.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/autotypes/compat.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/autotypes/documenters.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/diagrams.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/githubbibcache.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/githubeditlink.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/jira.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/lastmodified.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/lsstdocushare.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/mockcoderefs.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/openapi.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/redoc/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/redoc/_redoc.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/redoc/assets/redoc.html.jinja2 +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/remotecodeblock.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/ext/robots.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/py.typed +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/services/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/storage/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/storage/latex.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/storage/localtemplates/technote/README.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/storage/localtemplates/technote/ci.yaml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/storage/localtemplates/technote/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/storage/localtemplates/technote/dependabot.yml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/storage/localtemplates/technote/gitignore +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/storage/localtemplates/technote/pre-commit-config.yaml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/templates/pydata/autosummary_core/exception.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/templates/pydata/autosummary_core/pydantic_model.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/templates/pydata/components/prev-next.html +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/templates/pydata/last-updated.html +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/templates/pydata/rubin-improve-this-page.html +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/templates/pydata/rubin-print-footer.html +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/templates/technote/.gitkeep +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/templates/technote/components/.gitkeep +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/templates/technote/components/sidebar-source.html +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/templates/technote/sections/.gitkeep +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer/version.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer.egg-info/dependency_links.txt +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer.egg-info/entry_points.txt +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/documenteer.egg-info/top_level.txt +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/src/sphinx_diagrams/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/conftest.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/data/afw.doxygen.conf +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/data/authordb.yaml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/data/doxygen.tag.zip +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/data/package_alpha/doc/_static/package_alpha/README.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/data/package_alpha/doc/doxygen.conf.in +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/data/package_alpha/doc/manifest.yaml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/data/package_alpha/doc/package.alpha/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/data/package_alpha/doc/package_alpha/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/data/package_alpha/include/README.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/data/package_alpha/src/README.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/data/package_beta/doc/README.md +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/ext/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/ext/diagrams_test.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/ext/githubeditlink_test.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/ext/jira_test.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/ext/lastmodified_test.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/ext/lsstdocushare_test.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/ext/mockcoderefs_test.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/ext/redoc_test.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/ext/robots_test.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/packagemetadata_test.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autocppapi/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autocppapi/doxygen.tag.zip +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autocppapi/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes/_templates/autosummary_core/pydantic_model.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes/autotypespkg/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes/autotypespkg/_impl.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-alias/aliasroot/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-alias/aliasroot/documented/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-alias/aliasroot/documented/helpers.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-alias/aliasroot/external/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-alias/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-alias/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-annotated/annotatedpkg/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-annotated/annotatedpkg/constrained.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-annotated/annotatedpkg/phased.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-annotated/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-annotated/extphase/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-inherited/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-inherited/extpkg/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-inherited/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-inherited/inheritpkg/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-private/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-private/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-private/privatepkg/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-private/privatepkg/_impl.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-private/privatepkg/helpers.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-pydantic/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-pydantic/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-pydantic/pydanticpkg/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-typehints/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-typehints/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-autotypes-typehints/singletonpkg/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-diagrams/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-diagrams/diagram.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-diagrams/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-diagrams-svg/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-diagrams-svg/diagram.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-diagrams-svg/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-guide/hidden.rst +0 -0
- {documenteer-2.5.0b2/tests/roots/test-guide → documenteer-2.5.0b4/tests/roots/test-guide-cardonly}/conf.py +0 -0
- {documenteer-2.5.0b2/tests/roots/test-linkcheck-service-filter → documenteer-2.5.0b4/tests/roots/test-guide-citation-defaults}/conf.py +0 -0
- {documenteer-2.5.0b2/tests/roots/test-linkcheck-service-multipage → documenteer-2.5.0b4/tests/roots/test-guide-citation-rebuild}/conf.py +0 -0
- {documenteer-2.5.0b2/tests/roots/test-linkcheck-service → documenteer-2.5.0b4/tests/roots/test-guide-citationpage}/conf.py +0 -0
- {documenteer-2.5.0b2/tests/roots/test-redoc → documenteer-2.5.0b4/tests/roots/test-guide-nocitations}/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-intersphinx-cache/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-intersphinx-cache/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-intersphinx-cache-multi/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-intersphinx-cache-multi/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-intersphinx-cache-oddkey/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-intersphinx-cache-oddkey/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-lastmodified/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-lastmodified/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-lastmodified/page2.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-lastmodified/snippet.txt +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-linkcheck-service/documenteer.toml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-linkcheck-service/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-linkcheck-service-filter/documenteer.toml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-linkcheck-service-filter/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-linkcheck-service-multipage/documenteer.toml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-linkcheck-service-multipage/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-linkcheck-service-multipage/page-a.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-linkcheck-service-multipage/page-b.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-redoc/_static/openapi.json +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-redoc/api.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-redoc/documenteer.toml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-redoc/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-robots-nositemap/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-robots-nositemap/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-robots-nositemap/page1.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-robots-sitemap/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-robots-sitemap/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-robots-sitemap/page1.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-robots-sitemap/page2.rst +0 -0
- {documenteer-2.5.0b2/tests/roots/test-technote-linkcheck-service → documenteer-2.5.0b4/tests/roots/test-technote-citation}/conf.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-technote-linkcheck-service/index.rst +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/roots/test-technote-linkcheck-service/technote.toml +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/services/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/storage/__init__.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/test_conf_utils.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/tests/test_git_repository.py +0 -0
- {documenteer-2.5.0b2 → documenteer-2.5.0b4}/webpack.config.js +0 -0
|
@@ -12,7 +12,7 @@ of each phase and use the named commands verbatim.
|
|
|
12
12
|
Tasks run through nox (via nox-uv). Invoke nox through uv so the runner
|
|
13
13
|
group is provisioned automatically: `uv run --only-group=nox nox ...`.
|
|
14
14
|
The `test`, `typing`, and `demo` sessions are parametrized over both
|
|
15
|
-
Python (3.12
|
|
15
|
+
Python (3.12 through 3.15) and Sphinx (8, 9, dev), so their session IDs carry
|
|
16
16
|
both factors, e.g. `test-3.13(sphinx='8')`. uv furnishes the requested
|
|
17
17
|
interpreter on demand. Run `nox -l` to confirm the exact IDs.
|
|
18
18
|
|
|
@@ -40,6 +40,15 @@ per-invocation combine and upload raw `.coverage.*` data for a central
|
|
|
40
40
|
- `lint_touched`: `uv run --only-group=lint prek run --files {files}`
|
|
41
41
|
- `lint_all`: `uv run --only-group=nox nox -s lint`
|
|
42
42
|
|
|
43
|
+
## Prose (optional)
|
|
44
|
+
|
|
45
|
+
- `vale`: `uv run --only-group=nox nox -s vale -- <docs paths>` runs Vale
|
|
46
|
+
(Google style + house rules) over documentation prose. Advisory only: it
|
|
47
|
+
is **not** part of final validation, never fails, and has no prek hook.
|
|
48
|
+
Use it for feedback when editing pages under `docs/`; add legitimate terms
|
|
49
|
+
to `styles/config/vocabularies/Documenteer/accept.txt`, fix real typos in
|
|
50
|
+
the source.
|
|
51
|
+
|
|
43
52
|
## Typing
|
|
44
53
|
|
|
45
54
|
- `typing`: `uv run --only-group=nox nox -s "typing-3.13(sphinx='8')"`
|
|
@@ -54,7 +63,7 @@ order, in the foreground, plus `uv run --only-group=nox nox -s
|
|
|
54
63
|
and `uv run --only-group=nox nox -s docs` (Documenteer's own Sphinx docs
|
|
55
64
|
build).
|
|
56
65
|
|
|
57
|
-
The full Python × Sphinx matrix (3.12
|
|
66
|
+
The full Python × Sphinx matrix (3.12-3.15 × Sphinx 8/9), `nox -s
|
|
58
67
|
docs-linkcheck` (linkcheck), and `nox -s packaging` (build + twine
|
|
59
68
|
check) are CI's responsibility, not the in-iteration gate.
|
|
60
69
|
|
|
@@ -12,7 +12,7 @@ of each phase and use the named commands verbatim.
|
|
|
12
12
|
Tasks run through nox (via nox-uv). Invoke nox through uv so the runner
|
|
13
13
|
group is provisioned automatically: `uv run --only-group=nox nox ...`.
|
|
14
14
|
The `test`, `typing`, and `demo` sessions are parametrized over both
|
|
15
|
-
Python (3.12
|
|
15
|
+
Python (3.12 through 3.15) and Sphinx (8, 9, dev), so their session IDs carry
|
|
16
16
|
both factors, e.g. `test-3.13(sphinx='8')`. uv furnishes the requested
|
|
17
17
|
interpreter on demand. Run `nox -l` to confirm the exact IDs.
|
|
18
18
|
|
|
@@ -40,6 +40,15 @@ per-invocation combine and upload raw `.coverage.*` data for a central
|
|
|
40
40
|
- `lint_touched`: `uv run --only-group=lint prek run --files {files}`
|
|
41
41
|
- `lint_all`: `uv run --only-group=nox nox -s lint`
|
|
42
42
|
|
|
43
|
+
## Prose (optional)
|
|
44
|
+
|
|
45
|
+
- `vale`: `uv run --only-group=nox nox -s vale -- <docs paths>` runs Vale
|
|
46
|
+
(Google style + house rules) over documentation prose. Advisory only: it
|
|
47
|
+
is **not** part of final validation, never fails, and has no prek hook.
|
|
48
|
+
Use it for feedback when editing pages under `docs/`; add legitimate terms
|
|
49
|
+
to `styles/config/vocabularies/Documenteer/accept.txt`, fix real typos in
|
|
50
|
+
the source.
|
|
51
|
+
|
|
43
52
|
## Typing
|
|
44
53
|
|
|
45
54
|
- `typing`: `uv run --only-group=nox nox -s "typing-3.13(sphinx='8')"`
|
|
@@ -54,7 +63,7 @@ order, in the foreground, plus `uv run --only-group=nox nox -s
|
|
|
54
63
|
and `uv run --only-group=nox nox -s docs` (Documenteer's own Sphinx docs
|
|
55
64
|
build).
|
|
56
65
|
|
|
57
|
-
The full Python × Sphinx matrix (3.12
|
|
66
|
+
The full Python × Sphinx matrix (3.12-3.15 × Sphinx 8/9), `nox -s
|
|
58
67
|
docs-linkcheck` (linkcheck), and `nox -s packaging` (build + twine
|
|
59
68
|
check) are CI's responsibility, not the in-iteration gate.
|
|
60
69
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# Project dev container for documenteer.
|
|
2
|
-
# A minimal Python
|
|
2
|
+
# A minimal Python base (matching .python-version) plus uv and the system
|
|
3
|
+
# packages the build needs.
|
|
3
4
|
# Kept project-only and COPY-free so a local build and the stoker-derived
|
|
4
5
|
# sandbox build are identical.
|
|
5
6
|
FROM mcr.microsoft.com/devcontainers/python:1-3.13-bookworm
|
|
@@ -4,9 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
name: Periodic CI
|
|
6
6
|
|
|
7
|
-
env:
|
|
8
|
-
PYTHON_VERSION: "3.13"
|
|
9
|
-
|
|
10
7
|
"on":
|
|
11
8
|
schedule:
|
|
12
9
|
- cron: "0 12 * * 1"
|
|
@@ -35,12 +32,12 @@ jobs:
|
|
|
35
32
|
npm run build
|
|
36
33
|
|
|
37
34
|
- name: Install uv
|
|
38
|
-
uses: astral-sh/setup-uv@
|
|
35
|
+
uses: astral-sh/setup-uv@v10.3.0
|
|
39
36
|
|
|
37
|
+
# uv reads the canonical Python version from .python-version, so nox and
|
|
38
|
+
# its unparametrized sessions (lint, docs, ...) run on that interpreter.
|
|
40
39
|
- name: Run nox
|
|
41
|
-
run: uv run --only-group=nox nox -
|
|
42
|
-
env:
|
|
43
|
-
UV_PYTHON: ${{ env.PYTHON_VERSION }}
|
|
40
|
+
run: uv run --only-group=nox nox -s lint
|
|
44
41
|
|
|
45
42
|
- name: Report status
|
|
46
43
|
if: failure()
|
|
@@ -61,6 +58,7 @@ jobs:
|
|
|
61
58
|
- "3.12"
|
|
62
59
|
- "3.13"
|
|
63
60
|
- "3.14"
|
|
61
|
+
- "3.15"
|
|
64
62
|
sphinx-version:
|
|
65
63
|
- "8"
|
|
66
64
|
- "9"
|
|
@@ -90,7 +88,13 @@ jobs:
|
|
|
90
88
|
uses: ts-graphviz/setup-graphviz@v2
|
|
91
89
|
|
|
92
90
|
- name: Install uv
|
|
93
|
-
uses: astral-sh/setup-uv@
|
|
91
|
+
uses: astral-sh/setup-uv@v10.3.0
|
|
92
|
+
|
|
93
|
+
# The canonical development Python (.python-version) identifies the
|
|
94
|
+
# matrix cells that upload the demo builds below.
|
|
95
|
+
- name: Read the canonical Python version
|
|
96
|
+
id: python
|
|
97
|
+
run: echo "version=$(cat .python-version)" >> "$GITHUB_OUTPUT"
|
|
94
98
|
|
|
95
99
|
- name: Run nox
|
|
96
100
|
run: >
|
|
@@ -104,7 +108,7 @@ jobs:
|
|
|
104
108
|
# Guarded so partial/missing HTML (sphinx-build runs with --keep-going)
|
|
105
109
|
# under `if: always()` never hard-fails the job.
|
|
106
110
|
- name: Stage demo builds for upload
|
|
107
|
-
if: always() && matrix.python-version ==
|
|
111
|
+
if: always() && matrix.python-version == steps.python.outputs.version && (matrix.sphinx-version == '9' || matrix.sphinx-version == 'dev')
|
|
108
112
|
run: |
|
|
109
113
|
for d in rst-technote md-technote ipynb-technote; do
|
|
110
114
|
if [ -d "demo/$d/_build/html" ]; then
|
|
@@ -119,7 +123,7 @@ jobs:
|
|
|
119
123
|
# build breaks. NOTE: bump the stable sphinx-version check when the
|
|
120
124
|
# matrix's current stable Sphinx moves past '9'.
|
|
121
125
|
- name: Upload demo builds
|
|
122
|
-
if: always() && matrix.python-version ==
|
|
126
|
+
if: always() && matrix.python-version == steps.python.outputs.version && (matrix.sphinx-version == '9' || matrix.sphinx-version == 'dev')
|
|
123
127
|
uses: actions/upload-artifact@v7
|
|
124
128
|
with:
|
|
125
129
|
name: demo-technotes-sphinx${{ matrix.sphinx-version }}
|
|
@@ -165,12 +169,12 @@ jobs:
|
|
|
165
169
|
uses: ts-graphviz/setup-graphviz@v2
|
|
166
170
|
|
|
167
171
|
- name: Install uv
|
|
168
|
-
uses: astral-sh/setup-uv@
|
|
172
|
+
uses: astral-sh/setup-uv@v10.3.0
|
|
169
173
|
|
|
170
174
|
- name: Run nox
|
|
171
|
-
run: uv run --only-group=nox nox -
|
|
175
|
+
run: uv run --only-group=nox nox -s docs docs-linkcheck
|
|
172
176
|
env:
|
|
173
|
-
|
|
177
|
+
OOK_TOKEN: ${{ secrets.OOK_TOKEN }}
|
|
174
178
|
|
|
175
179
|
- name: Report status
|
|
176
180
|
if: failure()
|
|
@@ -182,6 +186,30 @@ jobs:
|
|
|
182
186
|
env:
|
|
183
187
|
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_ALERT_WEBHOOK }}
|
|
184
188
|
|
|
189
|
+
# Weekly whole-corpus Vale snapshot (advisory prose linting; see
|
|
190
|
+
# docs/dev/vale.rst). The nox session tolerates Vale's "findings" exit
|
|
191
|
+
# code, so this job cannot fail on prose and has no Slack notification;
|
|
192
|
+
# the report is uploaded as an artifact for review.
|
|
193
|
+
vale-report:
|
|
194
|
+
runs-on: ubuntu-latest
|
|
195
|
+
|
|
196
|
+
steps:
|
|
197
|
+
- uses: actions/checkout@v7
|
|
198
|
+
|
|
199
|
+
- name: Install uv
|
|
200
|
+
uses: astral-sh/setup-uv@v10.3.0
|
|
201
|
+
|
|
202
|
+
- name: Run Vale over the documentation
|
|
203
|
+
run: uv run --only-group=nox nox -s vale | tee vale-report.txt
|
|
204
|
+
|
|
205
|
+
- name: Upload Vale report
|
|
206
|
+
uses: actions/upload-artifact@v7
|
|
207
|
+
with:
|
|
208
|
+
name: vale-report
|
|
209
|
+
path: vale-report.txt
|
|
210
|
+
if-no-files-found: warn
|
|
211
|
+
retention-days: 60
|
|
212
|
+
|
|
185
213
|
pypi:
|
|
186
214
|
runs-on: ubuntu-latest
|
|
187
215
|
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
name: CI
|
|
2
2
|
|
|
3
|
-
env:
|
|
4
|
-
PYTHON_VERSION: '3.13' # Default Python version
|
|
5
|
-
|
|
6
3
|
'on':
|
|
7
4
|
push:
|
|
8
5
|
branches-ignore:
|
|
@@ -41,12 +38,12 @@ jobs:
|
|
|
41
38
|
npm run build
|
|
42
39
|
|
|
43
40
|
- name: Install uv
|
|
44
|
-
uses: astral-sh/setup-uv@
|
|
41
|
+
uses: astral-sh/setup-uv@v10.3.0
|
|
45
42
|
|
|
43
|
+
# uv reads the canonical Python version from .python-version, so nox and
|
|
44
|
+
# its unparametrized sessions (lint, docs, ...) run on that interpreter.
|
|
46
45
|
- name: Run nox
|
|
47
|
-
run: uv run --only-group=nox nox -
|
|
48
|
-
env:
|
|
49
|
-
UV_PYTHON: ${{ env.PYTHON_VERSION }}
|
|
46
|
+
run: uv run --only-group=nox nox -s lint
|
|
50
47
|
|
|
51
48
|
test:
|
|
52
49
|
runs-on: ubuntu-latest
|
|
@@ -57,6 +54,7 @@ jobs:
|
|
|
57
54
|
- '3.12'
|
|
58
55
|
- '3.13'
|
|
59
56
|
- '3.14'
|
|
57
|
+
- '3.15'
|
|
60
58
|
sphinx-version:
|
|
61
59
|
- '8'
|
|
62
60
|
- '9'
|
|
@@ -86,7 +84,13 @@ jobs:
|
|
|
86
84
|
uses: ts-graphviz/setup-graphviz@v2
|
|
87
85
|
|
|
88
86
|
- name: Install uv
|
|
89
|
-
uses: astral-sh/setup-uv@
|
|
87
|
+
uses: astral-sh/setup-uv@v10.3.0
|
|
88
|
+
|
|
89
|
+
# The canonical development Python (.python-version) identifies the
|
|
90
|
+
# matrix cell that uploads the demo builds below.
|
|
91
|
+
- name: Read the canonical Python version
|
|
92
|
+
id: python
|
|
93
|
+
run: echo "version=$(cat .python-version)" >> "$GITHUB_OUTPUT"
|
|
90
94
|
|
|
91
95
|
- name: Run nox
|
|
92
96
|
run: >
|
|
@@ -112,7 +116,7 @@ jobs:
|
|
|
112
116
|
# Guarded so partial/missing HTML (sphinx-build runs with --keep-going)
|
|
113
117
|
# under `if: always()` never hard-fails the job.
|
|
114
118
|
- name: Stage demo builds for upload
|
|
115
|
-
if: always() && matrix.python-version ==
|
|
119
|
+
if: always() && matrix.python-version == steps.python.outputs.version && matrix.sphinx-version == '9'
|
|
116
120
|
run: |
|
|
117
121
|
for d in rst-technote md-technote ipynb-technote; do
|
|
118
122
|
if [ -d "demo/$d/_build/html" ]; then
|
|
@@ -122,11 +126,12 @@ jobs:
|
|
|
122
126
|
done
|
|
123
127
|
|
|
124
128
|
# Upload the rendered demo technotes for review from the Actions UI.
|
|
125
|
-
# Only the canonical cell (
|
|
126
|
-
# the artifact list clean. NOTE: bump the
|
|
127
|
-
# matrix's current stable Sphinx moves
|
|
129
|
+
# Only the canonical cell (the .python-version Python x current stable
|
|
130
|
+
# Sphinx) uploads, to keep the artifact list clean. NOTE: bump the
|
|
131
|
+
# sphinx-version check when the matrix's current stable Sphinx moves
|
|
132
|
+
# past '9'.
|
|
128
133
|
- name: Upload demo builds
|
|
129
|
-
if: always() && matrix.python-version ==
|
|
134
|
+
if: always() && matrix.python-version == steps.python.outputs.version && matrix.sphinx-version == '9'
|
|
130
135
|
uses: actions/upload-artifact@v7
|
|
131
136
|
with:
|
|
132
137
|
name: demo-technotes-sphinx${{ matrix.sphinx-version }}
|
|
@@ -143,7 +148,7 @@ jobs:
|
|
|
143
148
|
- uses: actions/checkout@v7
|
|
144
149
|
|
|
145
150
|
- name: Install uv
|
|
146
|
-
uses: astral-sh/setup-uv@
|
|
151
|
+
uses: astral-sh/setup-uv@v10.3.0
|
|
147
152
|
|
|
148
153
|
- name: Download coverage data
|
|
149
154
|
uses: actions/download-artifact@v8
|
|
@@ -170,6 +175,31 @@ jobs:
|
|
|
170
175
|
docs:
|
|
171
176
|
runs-on: ubuntu-latest
|
|
172
177
|
|
|
178
|
+
# The link-check builder rechecks URLs Ook reports as bot-blocked from
|
|
179
|
+
# this runner's own vantage point and contributes what it observes back
|
|
180
|
+
# to the service. That contribution is attested by a GitHub Actions OIDC
|
|
181
|
+
# id token, which only exists in a job holding id-token: write. Without
|
|
182
|
+
# it the recheck still informs this build's report and the contribution
|
|
183
|
+
# is skipped with an info note.
|
|
184
|
+
#
|
|
185
|
+
# pull-requests: write lets the Docverse upload step post (and update)
|
|
186
|
+
# a comment on ticket-branch pull requests linking to the edition
|
|
187
|
+
# preview. Without it the action skips the comment with a warning.
|
|
188
|
+
permissions:
|
|
189
|
+
contents: read
|
|
190
|
+
id-token: write
|
|
191
|
+
pull-requests: write
|
|
192
|
+
|
|
193
|
+
# Link checking goes through the Ook link-check service, which needs
|
|
194
|
+
# OOK_TOKEN. Dependabot and fork pull requests don't receive repository
|
|
195
|
+
# secrets, and the extension's built-in fallback checker is too flaky
|
|
196
|
+
# from a runner against the archival hosts this guide cites (zenodo.org,
|
|
197
|
+
# datacite.org, ctan.org all timed out on dependabot docs jobs), so those
|
|
198
|
+
# runs build the docs but skip the link check. Links are still checked on
|
|
199
|
+
# every push to main and every ticket-branch pull request.
|
|
200
|
+
env:
|
|
201
|
+
HAS_OOK_TOKEN: ${{ secrets.OOK_TOKEN != '' }}
|
|
202
|
+
|
|
173
203
|
steps:
|
|
174
204
|
- uses: actions/checkout@v7
|
|
175
205
|
with:
|
|
@@ -195,19 +225,22 @@ jobs:
|
|
|
195
225
|
npm run build
|
|
196
226
|
|
|
197
227
|
- name: Install uv
|
|
198
|
-
uses: astral-sh/setup-uv@
|
|
228
|
+
uses: astral-sh/setup-uv@v10.3.0
|
|
199
229
|
|
|
200
|
-
- name:
|
|
201
|
-
run: uv run --only-group=nox nox -
|
|
230
|
+
- name: Build docs
|
|
231
|
+
run: uv run --only-group=nox nox -s docs
|
|
232
|
+
|
|
233
|
+
- name: Check links
|
|
234
|
+
if: env.HAS_OOK_TOKEN == 'true'
|
|
235
|
+
run: uv run --only-group=nox nox -s docs-linkcheck
|
|
202
236
|
env:
|
|
203
|
-
UV_PYTHON: ${{ env.PYTHON_VERSION }}
|
|
204
237
|
OOK_TOKEN: ${{ secrets.OOK_TOKEN }}
|
|
205
238
|
|
|
206
239
|
# Upload the machine-readable link-check results for review from the
|
|
207
240
|
# Actions UI. Runs even when docs-linkcheck fails (broken links) so the
|
|
208
241
|
# JSON is available for triage; may be absent if the service degraded.
|
|
209
242
|
- name: Upload link-check results
|
|
210
|
-
if: always()
|
|
243
|
+
if: always() && env.HAS_OOK_TOKEN == 'true'
|
|
211
244
|
uses: actions/upload-artifact@v7
|
|
212
245
|
with:
|
|
213
246
|
name: linkcheck-results
|
|
@@ -215,20 +248,65 @@ jobs:
|
|
|
215
248
|
if-no-files-found: warn
|
|
216
249
|
retention-days: 7
|
|
217
250
|
|
|
218
|
-
# Only
|
|
219
|
-
#
|
|
220
|
-
#
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
251
|
+
# Only publish for tagged releases and pull requests from ticket branches
|
|
252
|
+
# in the same repository. This avoids edition clutter and failures when a
|
|
253
|
+
# PR (fork, dependabot) doesn't have access to the DOCVERSE_TOKEN secret.
|
|
254
|
+
- name: Upload to Docverse
|
|
255
|
+
# Pinned to the pre-release head of lsst-sqre/docverse-upload; switch
|
|
256
|
+
# to a version tag once the action has an official release.
|
|
257
|
+
uses: lsst-sqre/docverse-upload@05c6698b00482673da2d1bcd93b367ebe74a98d0
|
|
224
258
|
with:
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
259
|
+
org: rubin
|
|
260
|
+
project: documenteer
|
|
261
|
+
dir: docs/_build/html
|
|
262
|
+
token: ${{ secrets.DOCVERSE_TOKEN }}
|
|
263
|
+
github-token: ${{ github.token }}
|
|
264
|
+
comment-on-pr: 'true'
|
|
229
265
|
if: >
|
|
230
266
|
github.event_name != 'pull_request' || startsWith(github.head_ref, 'tickets/')
|
|
231
267
|
|
|
268
|
+
# Advisory prose linting with Vale (https://vale.sh). This job is
|
|
269
|
+
# deliberately non-blocking and is this repo's only use of
|
|
270
|
+
# continue-on-error: vale-action runs reviewdog with fail_on_error: false
|
|
271
|
+
# and filter_mode: added, so findings surface as inline annotations on
|
|
272
|
+
# changed lines only and the job stays green even when Vale reports
|
|
273
|
+
# issues. It is intentionally absent from pypi-publish's needs. See
|
|
274
|
+
# docs/dev/vale.rst.
|
|
275
|
+
vale:
|
|
276
|
+
runs-on: ubuntu-latest
|
|
277
|
+
# Annotations are only meaningful on pull requests (reviewdog needs a diff).
|
|
278
|
+
if: github.event_name == 'pull_request'
|
|
279
|
+
|
|
280
|
+
steps:
|
|
281
|
+
- uses: actions/checkout@v7
|
|
282
|
+
|
|
283
|
+
- uses: actions/setup-python@v7
|
|
284
|
+
with:
|
|
285
|
+
python-version-file: '.python-version'
|
|
286
|
+
|
|
287
|
+
# Vale shells out to rst2html (docutils) to parse reStructuredText.
|
|
288
|
+
- name: Install docutils
|
|
289
|
+
run: pip install docutils
|
|
290
|
+
|
|
291
|
+
- name: Run Vale
|
|
292
|
+
uses: errata-ai/vale-action@v3
|
|
293
|
+
# Vale is advisory: annotations should appear on the PR, but the
|
|
294
|
+
# check must stay green. fail_on_error: false covers Vale's own
|
|
295
|
+
# findings (and, since v3, GitHub's per-step annotation cap), but
|
|
296
|
+
# the step can still exit nonzero on a runtime error (download,
|
|
297
|
+
# sync, reviewdog), so tolerate any step failure outright.
|
|
298
|
+
continue-on-error: true
|
|
299
|
+
with:
|
|
300
|
+
# Match the Vale release pinned by the `vale` dependency group in
|
|
301
|
+
# uv.lock so local `nox -s vale` runs and CI agree.
|
|
302
|
+
version: 3.22.0
|
|
303
|
+
# vale-action runs `vale sync` to download the Google package.
|
|
304
|
+
# The default reporter (github-pr-annotations) works with the
|
|
305
|
+
# read-only GITHUB_TOKEN on forked PRs, unlike github-pr-check.
|
|
306
|
+
fail_on_error: false
|
|
307
|
+
filter_mode: added
|
|
308
|
+
files: docs
|
|
309
|
+
|
|
232
310
|
test-package:
|
|
233
311
|
name: Test PyPI package build
|
|
234
312
|
runs-on: ubuntu-latest
|
|
@@ -68,3 +68,8 @@ target/
|
|
|
68
68
|
venv
|
|
69
69
|
|
|
70
70
|
.playwright-mcp
|
|
71
|
+
|
|
72
|
+
# Vale external style packages synced by `vale sync` (see .vale.ini).
|
|
73
|
+
# The Documenteer style (styles/Documenteer) and vocabulary (styles/config)
|
|
74
|
+
# are committed; the downloaded Google package is not.
|
|
75
|
+
/styles/Google/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.13
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Vale configuration for Documenteer's documentation.
|
|
2
|
+
#
|
|
3
|
+
# Vale (https://vale.sh) provides advisory editorial linting of the prose in
|
|
4
|
+
# docs/. Findings are informational: they never fail CI, and the nox session
|
|
5
|
+
# is not part of the default sessions or the prek hooks. See docs/dev/vale.rst
|
|
6
|
+
# for how to run and tune Vale.
|
|
7
|
+
#
|
|
8
|
+
# The Google package (styles/Google) is synced by `vale sync` and is
|
|
9
|
+
# gitignored; the Documenteer style (styles/Documenteer) and vocabulary
|
|
10
|
+
# (styles/config/vocabularies/Documenteer) are committed.
|
|
11
|
+
|
|
12
|
+
StylesPath = styles
|
|
13
|
+
|
|
14
|
+
# External style packages downloaded by `vale sync`.
|
|
15
|
+
Packages = Google
|
|
16
|
+
|
|
17
|
+
# Project vocabulary (styles/config/vocabularies/Documenteer/accept.txt).
|
|
18
|
+
Vocab = Documenteer
|
|
19
|
+
|
|
20
|
+
# Accept RST prose natively. Vale shells out to rst2html (docutils), which the
|
|
21
|
+
# `vale` dependency group and the CI job install alongside Vale.
|
|
22
|
+
[*.{rst,md}]
|
|
23
|
+
BasedOnStyles = Vale, Google, Documenteer
|
|
24
|
+
|
|
25
|
+
# --- Tuning (see docs/dev/vale.rst) -----------------------------------------
|
|
26
|
+
# Google rules demoted or disabled because they produce a high volume of
|
|
27
|
+
# low-value flags on this corpus. Each carries a one-line rationale.
|
|
28
|
+
|
|
29
|
+
# Sentence-length heuristic fires constantly on legitimate technical prose.
|
|
30
|
+
Google.Sentences = NO
|
|
31
|
+
|
|
32
|
+
# Passive-voice detection is noisy and often wrong on procedural docs.
|
|
33
|
+
Google.Passive = NO
|
|
34
|
+
|
|
35
|
+
# Heading capitalization: this repo uses sentence case (checked by review),
|
|
36
|
+
# but Google.Headings mis-parses RST directive titles and product names.
|
|
37
|
+
Google.Headings = NO
|
|
38
|
+
|
|
39
|
+
# "Will"/future tense is idiomatic in migration and release prose.
|
|
40
|
+
Google.Will = suggestion
|
|
41
|
+
|
|
42
|
+
# Ordinal/spelled-number and units rules flag many correct technical usages.
|
|
43
|
+
Google.Units = suggestion
|
|
44
|
+
Google.Ordinal = suggestion
|
|
45
|
+
|
|
46
|
+
# House style permits contractions, and this rule agrees (it suggests
|
|
47
|
+
# "don't" over "do not"), so keep it as a low-key suggestion.
|
|
48
|
+
Google.Contractions = suggestion
|
|
49
|
+
|
|
50
|
+
# Documenteer.We replaces Google.We (same "we" rule, with our wording/link).
|
|
51
|
+
Google.We = NO
|
|
52
|
+
|
|
53
|
+
# "RST", "TOML", "API", "DOI" etc. appear on nearly every page; spelling them
|
|
54
|
+
# out on each mention is not this project's convention.
|
|
55
|
+
Google.Acronyms = NO
|
|
56
|
+
|
|
57
|
+
# Parenthetical asides are common and acceptable in this reference prose.
|
|
58
|
+
Google.Parens = NO
|
|
59
|
+
|
|
60
|
+
# Google.Latin flags "e.g."/"i.e.", which house style permits. Disable.
|
|
61
|
+
Google.Latin = NO
|
|
62
|
+
|
|
63
|
+
# Vale.Terms enforces case consistency across the whole corpus and fires (at
|
|
64
|
+
# error level) on tokens that are correct in context: "sphinx" inside package
|
|
65
|
+
# and module names versus "Sphinx" the project. Too noisy to be useful here.
|
|
66
|
+
Vale.Terms = NO
|
|
67
|
+
|
|
68
|
+
# Em-dash spacing preference; house style is relaxed about this.
|
|
69
|
+
Google.EmDash = NO
|
|
70
|
+
|
|
71
|
+
# Exclamation is covered adequately; keep as a suggestion.
|
|
72
|
+
Google.Exclamation = suggestion
|
|
73
|
+
|
|
74
|
+
# Google's word list prefers "preceding" over "above" and "app" over
|
|
75
|
+
# "application", which misfire on "the example above" and on the Sphinx
|
|
76
|
+
# application object (the two together were most of the warnings on this
|
|
77
|
+
# corpus). Keep the list visible, but as suggestions.
|
|
78
|
+
Google.WordList = suggestion
|
|
79
|
+
Google.WordListCase = suggestion
|
|
80
|
+
|
|
81
|
+
# "Lowercase the first word after a colon" fires mostly on proper nouns here
|
|
82
|
+
# (Sphinx, Rubin, Documenteer, Zenodo).
|
|
83
|
+
Google.Colons = suggestion
|
|
84
|
+
|
|
85
|
+
# --- Path exclusions --------------------------------------------------------
|
|
86
|
+
# These paths are excluded from linting. Vale merges glob sections, so an
|
|
87
|
+
# excluded section must both clear BasedOnStyles *and* silence every rule that
|
|
88
|
+
# was individually demoted above (Vale keeps a per-rule key set in a broader
|
|
89
|
+
# section unless a narrower section overrides it).
|
|
90
|
+
|
|
91
|
+
# Symlink to the scriv-generated CHANGELOG.md; edit changelog.d/ fragments.
|
|
92
|
+
[docs/changelog.md]
|
|
93
|
+
BasedOnStyles =
|
|
94
|
+
Google.Will = NO
|
|
95
|
+
Google.Units = NO
|
|
96
|
+
Google.Ordinal = NO
|
|
97
|
+
Google.Exclamation = NO
|
|
98
|
+
Google.Contractions = NO
|
|
99
|
+
Google.WordList = NO
|
|
100
|
+
Google.WordListCase = NO
|
|
101
|
+
Google.Colons = NO
|
|
102
|
+
|
|
103
|
+
# Shared link targets only; no prose.
|
|
104
|
+
[docs/_rst_epilog.rst]
|
|
105
|
+
BasedOnStyles =
|
|
106
|
+
Google.Will = NO
|
|
107
|
+
Google.Units = NO
|
|
108
|
+
Google.Ordinal = NO
|
|
109
|
+
Google.Exclamation = NO
|
|
110
|
+
Google.Contractions = NO
|
|
111
|
+
Google.WordList = NO
|
|
112
|
+
Google.WordListCase = NO
|
|
113
|
+
Google.Colons = NO
|
|
114
|
+
|
|
115
|
+
# Generated automodapi API stubs.
|
|
116
|
+
[docs/dev/api/contents/**]
|
|
117
|
+
BasedOnStyles =
|
|
118
|
+
Google.Will = NO
|
|
119
|
+
Google.Units = NO
|
|
120
|
+
Google.Ordinal = NO
|
|
121
|
+
Google.Exclamation = NO
|
|
122
|
+
Google.Contractions = NO
|
|
123
|
+
Google.WordList = NO
|
|
124
|
+
Google.WordListCase = NO
|
|
125
|
+
Google.Colons = NO
|
|
126
|
+
|
|
127
|
+
# Technote templates, excluded from the Sphinx build as well.
|
|
128
|
+
[docs/technotes/_templates/**]
|
|
129
|
+
BasedOnStyles =
|
|
130
|
+
Google.Will = NO
|
|
131
|
+
Google.Units = NO
|
|
132
|
+
Google.Ordinal = NO
|
|
133
|
+
Google.Exclamation = NO
|
|
134
|
+
Google.Contractions = NO
|
|
135
|
+
Google.WordList = NO
|
|
136
|
+
Google.WordListCase = NO
|
|
137
|
+
Google.Colons = NO
|
|
@@ -16,11 +16,11 @@ make init # Initialize development environment
|
|
|
16
16
|
uv sync --extra technote --extra guide --group dev --group nox --group lint # Install with all extras
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
Tasks are run with [nox](https://nox.thea.codes/) (via [nox-uv](https://github.com/cthoyt/nox-uv)). Invoke nox through uv so the runner is provisioned automatically: `uv run --only-group=nox nox -s <session>`. The `test`, `typing`, and `demo` sessions are parametrized over both Python (3.12
|
|
19
|
+
Tasks are run with [nox](https://nox.thea.codes/) (via [nox-uv](https://github.com/cthoyt/nox-uv)). Invoke nox through uv so the runner is provisioned automatically: `uv run --only-group=nox nox -s <session>`. The `test`, `typing`, and `demo` sessions are parametrized over both Python (3.12 through 3.15) and Sphinx (8, 9, dev), so their session IDs carry both factors, e.g. `nox -s "test-3.13(sphinx='8')"`. uv furnishes the requested interpreter on demand. The canonical development Python is declared in `.python-version` (currently 3.13); uv, nox's default sessions, and the GitHub Actions workflows all read it from there. Bare `nox` runs a lean default set (the canonical Python × Sphinx 8/9); run `nox -l` to see the exact IDs.
|
|
20
20
|
|
|
21
21
|
### Testing and Quality Assurance
|
|
22
22
|
```bash
|
|
23
|
-
nox -s "test-3.13(sphinx='8')" # Run tests on Python 3.13 with Sphinx 8.x (sphinx also '9'/'dev'; python also '3.12')
|
|
23
|
+
nox -s "test-3.13(sphinx='8')" # Run tests on Python 3.13 with Sphinx 8.x (sphinx also '9'/'dev'; python also '3.12', '3.14', '3.15')
|
|
24
24
|
nox -s test # Run the full Python × Sphinx grid
|
|
25
25
|
nox -s coverage-report # Generate coverage report
|
|
26
26
|
nox -s "typing-3.13(sphinx='8')" # Run mypy type checking
|
|
@@ -35,8 +35,11 @@ Coverage is opt-in via `DOCUMENTEER_COVERAGE=1`, which runs the test suite under
|
|
|
35
35
|
```bash
|
|
36
36
|
nox -s docs # Build documentation
|
|
37
37
|
nox -s docs-linkcheck # Check documentation links
|
|
38
|
+
nox -s vale # Advisory prose lint (Vale + Google style); `-- path.rst` for one file
|
|
38
39
|
```
|
|
39
40
|
|
|
41
|
+
Vale is advisory only: it never fails CI, is not in the default nox sessions, and has no prek hook. Legitimate terms it flags go in `styles/config/vocabularies/Documenteer/accept.txt`; genuine typos get fixed in the source. See `docs/dev/vale.rst`.
|
|
42
|
+
|
|
40
43
|
### Cleanup
|
|
41
44
|
```bash
|
|
42
45
|
make clean # Remove build artifacts
|
|
@@ -67,11 +70,11 @@ make clean # Remove build artifacts
|
|
|
67
70
|
- `technote add-author`: Add authors to technote.toml from authordb
|
|
68
71
|
- `technote sync-authors`: Sync author info from central database
|
|
69
72
|
- `technote migrate`: Migrate legacy technotes to modern format
|
|
70
|
-
- `technote lint`: Lint a technote's metadata, structure, and content
|
|
73
|
+
- `technote lint`: Lint a technote's metadata, structure, and content. Rule codes are stable and carry their rule set's prefix: `TN` rules (TN0xx/TN1xx/TN2xx) check what any technote needs, and `R` rules (R0xx/R1xx) check Rubin's conventions and services. Each code has a landing page under docs/technotes/lint/
|
|
71
74
|
|
|
72
75
|
**Services** (`src/documenteer/services/`):
|
|
73
76
|
- `technoteauthor.py`: Author management for technotes
|
|
74
|
-
- `
|
|
77
|
+
- `technoteupdate.py`: Technote update and legacy-migration logic
|
|
75
78
|
|
|
76
79
|
### Key Design Patterns
|
|
77
80
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: documenteer
|
|
3
|
-
Version: 2.5.
|
|
3
|
+
Version: 2.5.0b4
|
|
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
|
|
@@ -17,6 +17,7 @@ Classifier: Programming Language :: Python :: 3
|
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.12
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.13
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.14
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
20
21
|
Classifier: Topic :: Documentation
|
|
21
22
|
Classifier: Topic :: Documentation :: Sphinx
|
|
22
23
|
Classifier: Typing :: Typed
|
|
@@ -45,7 +46,7 @@ Requires-Dist: packaging
|
|
|
45
46
|
Provides-Extra: guide
|
|
46
47
|
Requires-Dist: autodoc_pydantic; extra == "guide"
|
|
47
48
|
Requires-Dist: sphinx_design>=0.7.0; extra == "guide"
|
|
48
|
-
Requires-Dist: pydata-sphinx-theme<0.
|
|
49
|
+
Requires-Dist: pydata-sphinx-theme<0.24,>=0.19; extra == "guide"
|
|
49
50
|
Requires-Dist: sphinx-autodoc-typehints; extra == "guide"
|
|
50
51
|
Requires-Dist: sphinx-automodapi; extra == "guide"
|
|
51
52
|
Requires-Dist: sphinx-copybutton; extra == "guide"
|
|
@@ -62,7 +63,7 @@ Requires-Dist: sphinxcontrib-youtube; extra == "guide"
|
|
|
62
63
|
Requires-Dist: sphinx-favicon; extra == "guide"
|
|
63
64
|
Requires-Dist: sphinx-sitemap; extra == "guide"
|
|
64
65
|
Provides-Extra: technote
|
|
65
|
-
Requires-Dist: technote<0.
|
|
66
|
+
Requires-Dist: technote<0.13.0,>=0.12.0; extra == "technote"
|
|
66
67
|
Requires-Dist: sphinx-prompt; extra == "technote"
|
|
67
68
|
Requires-Dist: sphinxcontrib-mermaid>=1; extra == "technote"
|
|
68
69
|
Requires-Dist: diagrams>=0.24; extra == "technote"
|
{documenteer-2.5.0b2 → documenteer-2.5.0b4}/changelog.d/20260702_000000_DM-52076-technote-lint.md
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
### New features
|
|
2
2
|
|
|
3
|
-
- Added a `documenteer technote lint` command that checks a technote's metadata, structure, and content before a build. Each finding carries a stable rule code so a bad technote is reported as a triageable finding rather than a traceback, and `--strict/-s` promotes warnings to errors so CI can fail on them. Every rule has a landing page under [documenteer.lsst.io/technotes/lint](https://documenteer.lsst.io/technotes/lint/index.html) describing the rule, showing a failing technote, and walking through the fix; the report links to the page for each rule it fires. The rules:
|
|
3
|
+
- Added a `documenteer technote lint` command that checks a technote's metadata, structure, and content before a build. Each finding carries a stable rule code so a bad technote is reported as a triageable finding rather than a traceback, and `--strict/-s` promotes warnings to errors so CI can fail on them. Every rule has a landing page under [documenteer.lsst.io/technotes/lint](https://documenteer.lsst.io/technotes/lint/index.html) describing the rule, showing a failing technote, and walking through the fix; the report links to the page for each rule it fires. A code's prefix names the rule set it belongs to: `TN` rules check what any technote needs, and `R` rules check Rubin's conventions and services (its author database, its technote packaging). The rules:
|
|
4
4
|
|
|
5
|
-
- Structure: `technote.toml` exists (`TN004`), is valid TOML (`TN005`), and conforms to the technote schema (`TN001`); a Sphinx technote has an `index.{rst,md,ipynb}` content file (`TN006`); and `requirements.txt` declares `documenteer[technote]` (`
|
|
6
|
-
- Authors: every author declares a resolvable `internal_id` in the Rubin author database — flagging authors missing an ID (`
|
|
5
|
+
- Structure: `technote.toml` exists (`TN004`), is valid TOML (`TN005`), and conforms to the technote schema (`TN001`); a Sphinx technote has an `index.{rst,md,ipynb}` content file (`TN006`); and `requirements.txt` declares `documenteer[technote]` (`R002`) without pinning Sphinx separately (`R003`).
|
|
6
|
+
- Authors: every author declares a resolvable `internal_id` in the Rubin author database — flagging authors missing an ID (`R101`), IDs absent from or malformed in the database (`R102`, an error), and an unreachable database (`R103`, a transport-only warning). A missing or unknown ID is not a dead end: the finding names the ID the author probably wants — `Did you mean 'alsayyady' (matched by ORCID)?` — by searching the author database for their name and accepting only a confident match (a matching ORCID, or a single near-exact name match); an ambiguous search or failed lookup silently leaves the plain message.
|
|
7
7
|
- Content: the technote declares its abstract with the abstract directive (`TN201`) rather than an ordinary section heading (`TN202`), the content file can be parsed (`TN203`, for example a corrupt notebook), and the abstract directive has a body (`TN204`). `TN204` and `TN202` findings locate the problem as `file:line`; the common `TN204` cause is abstract text left unindented under `.. abstract::`, which reStructuredText reads as an empty directive, publishing an empty abstract and `og:description` while the source looks fine. The abstract scan matches directive names in any letter case (docutils lowercases them), accepts an abstract written on the `.. abstract::` marker line itself, and resolves `.. include::` and `` ```{include} `` directives one level deep so an abstract factored into another file is still found.
|
|
8
8
|
|
|
9
9
|
An unparseable `technote.toml` no longer hides the rest of the report: only the author checks, which need the parsed metadata, are skipped. When a `TN001` schema failure comes from a historical author-name form — `name = { name = "Full Name" }` (removed in technote 0.5) or `name = { given_names = "...", family_names = "..." }` (renamed in 2023) — the finding names the legacy form, shows the modern `name = { given = "...", family = "..." }` replacement, and points at `documenteer technote migrate`. Technote-series repositories that are not Sphinx projects — no index content file and no `conf.py`, built through the shared technote CI with a custom build command — are linted for their `technote.toml` alone, so a healthy non-Sphinx technote passes.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
### New features
|
|
2
2
|
|
|
3
|
-
- The user-guide configuration now checks external links with Ook's link-check service. The new `documenteer.ext.linkcheckservice` extension registers a builder over Sphinx's `linkcheck` name, so existing `make linkcheck` invocations transparently submit the project's external links to the service and report its cached, retry-buffered results, writing a machine-readable `linkcheck.json` artifact to the build output. Submissions authenticate with a bearer token from `OOK_TOKEN`; `broken` links fail the build, while `redirected`, `failing`, `unsupported`, and `blocked` links are reported at info level so a `-W` build doesn't fail on them (matching Sphinx's built-in linkcheck). New `[sphinx.linkcheck]` settings in `documenteer.toml` configure the integration (`use_service`, `service_url`, `poll_budget`, `strict`, `origin_base_url`). When `OOK_TOKEN` is missing or rejected the builder falls back to Sphinx's built-in in-process `linkcheck`; when the service is unreachable or the poll budget is exhausted it
|
|
3
|
+
- The user-guide configuration now checks external links with Ook's link-check service. The new `documenteer.ext.linkcheckservice` extension registers a builder over Sphinx's `linkcheck` name, so existing `make linkcheck` invocations transparently submit the project's external links to the service and report its cached, retry-buffered results, writing a machine-readable `linkcheck.json` artifact to the build output. Submissions authenticate with a bearer token from `OOK_TOKEN`; `broken` links fail the build, while `redirected`, `failing`, `unsupported`, and `blocked` links are reported at info level so a `-W` build doesn't fail on them (matching Sphinx's built-in linkcheck). New `[sphinx.linkcheck]` settings in `documenteer.toml` configure the integration (`use_service`, `service_url`, `poll_budget`, `strict`, `origin_base_url`). When `OOK_TOKEN` is missing or rejected the builder falls back to Sphinx's built-in in-process `linkcheck`; when the service is unreachable or the poll budget is exhausted it falls back the same way by default, or fails the build if `strict = true`. Set `use_service = false` to always use the built-in builder.
|
|
4
4
|
- The technote configuration also checks external links with the service, deriving the origin base URL from the technote's canonical URL in `technote.toml` (falling back to `https://<handle>.lsst.io`). Every setting is overridable in the technote's `conf.py` after the preset import (for example `documenteer_linkcheck_use_service = False`), and the technote `tox.ini` template now passes `OOK_TOKEN` through, so a technote whose CI sets the token opts in and one without a token falls back to the built-in `linkcheck`.
|