sphinx-codeautolink 0.17.1__tar.gz → 0.17.3__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.
- {sphinx_codeautolink-0.17.1/src/sphinx_codeautolink.egg-info → sphinx_codeautolink-0.17.3}/PKG-INFO +1 -1
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/contributing.rst +10 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/docs/src/about.rst +8 -2
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/docs/src/examples.rst +5 -11
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/docs/src/index.rst +1 -1
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/docs/src/release_notes.rst +10 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/pyproject.toml +3 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/__init__.py +2 -2
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/extension/__init__.py +16 -4
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/extension/backref.py +7 -1
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/extension/block.py +28 -2
- sphinx_codeautolink-0.17.3/src/sphinx_codeautolink/locale/fr/LC_MESSAGES/sphinx-codeautolink.mo +0 -0
- sphinx_codeautolink-0.17.3/src/sphinx_codeautolink/locale/fr/LC_MESSAGES/sphinx-codeautolink.po +25 -0
- sphinx_codeautolink-0.17.3/src/sphinx_codeautolink/locale/nl/LC_MESSAGES/sphinx-codeautolink.mo +0 -0
- sphinx_codeautolink-0.17.3/src/sphinx_codeautolink/locale/nl/LC_MESSAGES/sphinx-codeautolink.po +27 -0
- sphinx_codeautolink-0.17.3/src/sphinx_codeautolink/locale/ru/LC_MESSAGES/sphinx-codeautolink.po +25 -0
- sphinx_codeautolink-0.17.3/src/sphinx_codeautolink/locale/uk/LC_MESSAGES/sphinx-codeautolink.po +25 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3/src/sphinx_codeautolink.egg-info}/PKG-INFO +1 -1
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink.egg-info/SOURCES.txt +8 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/__init__.py +58 -1
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/_check.py +12 -4
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_extdoctest_doctest.txt +0 -3
- sphinx_codeautolink-0.17.3/tests/extension/ref/lexer_extdoctest_setup.txt +35 -0
- sphinx_codeautolink-0.17.3/tests/extension/ref/lexer_extdoctest_setup_wrong.txt +15 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_extdoctest_testcode.txt +0 -1
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tox.ini +3 -3
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/LICENSE +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/MANIFEST.in +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/docs/requirements.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/docs/src/404.rst +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/docs/src/conf.py +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/docs/src/example_library.rst +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/docs/src/lib.py +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/docs/src/reference.rst +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/docs/src/static/custom.css +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/readme_pypi.rst +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/requirements/build +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/requirements/dev +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/requirements/docs +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/requirements/extras +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/requirements/tests +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/setup.cfg +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/extension/cache.py +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/extension/directive.py +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/extension/resolve.py +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/extension/translation.py +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/locale/de/LC_MESSAGES/sphinx-codeautolink.mo +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/locale/de/LC_MESSAGES/sphinx-codeautolink.po +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/locale/es/LC_MESSAGES/sphinx-codeautolink.mo +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/locale/es/LC_MESSAGES/sphinx-codeautolink.po +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/locale/fi/LC_MESSAGES/sphinx-codeautolink.mo +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/locale/fi/LC_MESSAGES/sphinx-codeautolink.po +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/locale/it/LC_MESSAGES/sphinx-codeautolink.mo +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/locale/it/LC_MESSAGES/sphinx-codeautolink.po +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/locale/sphinx-codeautolink.pot +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/parse.py +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/static/sphinx-codeautolink.css +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/warn.py +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink.egg-info/dependency_links.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink.egg-info/requires.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink.egg-info/top_level.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/__init__.py +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/fail/concat_invalid.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/fail/custom_block_import_invalid.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/fail/custom_block_syntax_error.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/fail/failed_resolve_invalid_location.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/fail/failed_resolve_no_module.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/fail/failed_resolve_return_type.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/fail/match_block_warning.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/fail/missing_inventory.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/fail/no_backreference.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/fail/no_module_docs.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/fail/preface_invalid_arg.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/fail/ref_import_star_invalid.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/fail/ref_invalid_block_type.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/fail/ref_invalid_syntax.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/fail/ref_invalid_syntax_complex.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/fail/ref_ipython_non-python.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/fail/skip_invalid.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/class_mro_fix.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/concat_default.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/concat_off.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/concat_on_across_sections.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/concat_on_breaks.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/concat_section_breaks.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/concat_section_returns_to_global.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/custom_block.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/custom_block_imported.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/empty_project.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/inventory_map_is_needed.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/inventory_map_not_needed.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_bazel.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_default.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_default_fail.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_doctest.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_doctest_empty_input.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_highlight_language.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_highlight_none.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_ipython.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_ipython3.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_ipython_directive.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_ipython_directive_comment.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_ipython_syntax.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_literal.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_non_python_block.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_py.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_py3.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_pycon.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_pycon_implicit.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_pyi.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_python3.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_sage.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/lexer_starlark.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/line_numbers.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/preface_concatenated.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/preface_consumed_non_python.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/preface_document.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/preface_global.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/preface_global_multiline.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/preface_global_overwritten.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/preface_multiline.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/preface_multiline_and_arg.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/preface_multiple.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/preface_single.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_assign_targets.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_builtins.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_chain.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_chain_call.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_class_attr.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_class_meth_returns_self.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_class_type_attr.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_decorator.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_fluent_attrs.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_fluent_call.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_func_args.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_func_no_module.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_import_as.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_import_from.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_import_from_complex.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_import_multiple.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_import_multiple_libs.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_import_star.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_import_submodule.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_imported_func.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_imported_func_relocated.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_inherited.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_intersphinx_only.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_invalid_func.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_invalid_typehint.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_optional.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_optional_future.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_shadow_builtin.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/ref_simple.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/search_css_duplicates_removed.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/skip_file.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/skip_next.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/skip_next_consumed_non_python.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/skip_off.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/ref/skip_section.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/src/class_mro_fix.py +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/src/future_project.py +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/src/parser_func.py +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/src/test_project/__init__.py +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/src/test_project/sub.py +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/table/tab_autodoc_empty.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/table/tab_autodoc_links.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/table/tab_manual_collapse.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/table/tab_manual_empty.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/table/tab_manual_links.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/table/tab_manual_links_subsection.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/extension/table/tab_no_table.txt +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/parse/__init__.py +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/parse/_util.py +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/parse/assign.py +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/parse/chain.py +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/parse/match.py +0 -0
- {sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/tests/parse/scope.py +0 -0
{sphinx_codeautolink-0.17.1/src/sphinx_codeautolink.egg-info → sphinx_codeautolink-0.17.3}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: sphinx-codeautolink
|
|
3
|
-
Version: 0.17.
|
|
3
|
+
Version: 0.17.3
|
|
4
4
|
Summary: Automatic links from code examples to reference documentation.
|
|
5
5
|
Author-email: Felix Hildén <felix.hilden@gmail.com>
|
|
6
6
|
Maintainer-email: Felix Hildén <felix.hilden@gmail.com>
|
|
@@ -37,6 +37,16 @@ For tips and tricks on contributing, see `how to submit a contribution
|
|
|
37
37
|
specifically `opening a pull request
|
|
38
38
|
<https://opensource.guide/how-to-contribute/#opening-a-pull-request>`_.
|
|
39
39
|
|
|
40
|
+
If you want to contribute to someone else's fork and find yourself forgetting
|
|
41
|
+
how to do it every time, here's the runbook:
|
|
42
|
+
|
|
43
|
+
.. code:: sh
|
|
44
|
+
|
|
45
|
+
git remote add [name] git@github.com:[name]/sphinx-codeautolink.git
|
|
46
|
+
git fetch [name]
|
|
47
|
+
git switch -c branch [name]/branch
|
|
48
|
+
git remote rm [name]
|
|
49
|
+
|
|
40
50
|
Testing
|
|
41
51
|
-------
|
|
42
52
|
The installation can be verified, and any changes tested by running tox.
|
|
@@ -16,8 +16,8 @@ is injected after the ordinary Sphinx build is finished.
|
|
|
16
16
|
|
|
17
17
|
Caveats
|
|
18
18
|
-------
|
|
19
|
-
- **Only works with HTML documentation**, disabled otherwise. If the
|
|
20
|
-
is off, it silently removes directives that would produce output.
|
|
19
|
+
- **Only works with HTML or DIRHTML documentation**, disabled otherwise. If the
|
|
20
|
+
extension is off, it silently removes directives that would produce output.
|
|
21
21
|
- **Only processes blocks, not inline code**. Sphinx has great tools
|
|
22
22
|
for linking definitions inline, and longer code should be in a block anyway.
|
|
23
23
|
- **Doesn't run example code**. Therefore all possible resolvable types are not
|
|
@@ -79,6 +79,12 @@ Locally defined custom block parsers in :confval:`codeautolink_custom_blocks`
|
|
|
79
79
|
cannot be passed to Pickle, which prevents parallel Sphinx builds.
|
|
80
80
|
Please consider using an importable function instead.
|
|
81
81
|
|
|
82
|
+
Priority
|
|
83
|
+
********
|
|
84
|
+
The extension parses code blocks in the ``doctree-read`` Sphinx event.
|
|
85
|
+
The priority is set to 490 to catch nodes removed by ``sphinx.ext.doctest``
|
|
86
|
+
(priority 500). In other cases the priority of the extension is default.
|
|
87
|
+
|
|
82
88
|
Copying code blocks
|
|
83
89
|
-------------------
|
|
84
90
|
If you feel like code links make copying code a bit more difficult,
|
|
@@ -215,24 +215,18 @@ Please specify a ``type`` in :rst:dir:`autolink-examples`:
|
|
|
215
215
|
|
|
216
216
|
Doctest code blocks
|
|
217
217
|
-------------------
|
|
218
|
-
Using the ``sphinx.ext.doctest`` extension for code examples requires
|
|
219
|
-
|
|
220
|
-
To help in that, :func:`clean_pycon <sphinx_codeautolink.clean_pycon>`
|
|
221
|
-
is provided as a ready-made transformer.
|
|
222
|
-
|
|
223
|
-
.. code:: python
|
|
218
|
+
Using the ``sphinx.ext.doctest`` extension for code examples only requires
|
|
219
|
+
activating the extension::
|
|
224
220
|
|
|
225
221
|
extensions = [
|
|
226
222
|
...,
|
|
227
223
|
"sphinx.ext.doctest",
|
|
228
224
|
]
|
|
229
|
-
codeautolink_custom_blocks = {
|
|
230
|
-
"python3": None,
|
|
231
|
-
"pycon3": "sphinx_codeautolink.clean_pycon",
|
|
232
|
-
}
|
|
233
225
|
|
|
234
226
|
``doctest`` and ``testcode`` blocks now work as expected.
|
|
235
|
-
|
|
227
|
+
Code in :rst:dir:`testsetup` is considered to be the first block
|
|
228
|
+
:rst:dir:`autolink-preface` before each matching test group.
|
|
229
|
+
However, `skipif` is not supported.
|
|
236
230
|
|
|
237
231
|
.. doctest::
|
|
238
232
|
|
|
@@ -68,7 +68,7 @@ Caveats
|
|
|
68
68
|
-------
|
|
69
69
|
For a more thorough explanation, see :ref:`about`.
|
|
70
70
|
|
|
71
|
-
- Only works with HTML documentation
|
|
71
|
+
- Only works with HTML or DIRHTML documentation
|
|
72
72
|
- Only processes blocks, not inline code
|
|
73
73
|
- Doesn't run example code
|
|
74
74
|
- Parsing and type hint resolving is incomplete
|
|
@@ -8,6 +8,16 @@ These release notes are based on
|
|
|
8
8
|
sphinx-codeautolink adheres to
|
|
9
9
|
`Semantic Versioning <https://semver.org>`_.
|
|
10
10
|
|
|
11
|
+
0.17.3 (2025-03-06)
|
|
12
|
+
-------------------
|
|
13
|
+
- Fix Sphinx InventoryItem deprecation warning (:issue:`173`)
|
|
14
|
+
- Add support for the DIRHTML Sphinx builder (:issue:`188`)
|
|
15
|
+
|
|
16
|
+
0.17.2 (2025-03-02)
|
|
17
|
+
-------------------
|
|
18
|
+
- Support :rst:dir:`testsetup` from ``sphinx.ext.doctest`` as another
|
|
19
|
+
type of preface (:issue:`186`)
|
|
20
|
+
|
|
11
21
|
0.17.1 (2025-02-24)
|
|
12
22
|
-------------------
|
|
13
23
|
- Add translations via i18n (:issue:`164`)
|
{sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/__init__.py
RENAMED
|
@@ -8,7 +8,7 @@ from .extension import SphinxCodeAutoLink, backref, directive
|
|
|
8
8
|
from .extension.block import clean_ipython, clean_pycon
|
|
9
9
|
from .extension.translation import MESSAGE_CATALOG_NAME
|
|
10
10
|
|
|
11
|
-
__version__ = "0.17.
|
|
11
|
+
__version__ = "0.17.3"
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
def setup(app: Sphinx):
|
|
@@ -66,7 +66,7 @@ def setup(app: Sphinx):
|
|
|
66
66
|
|
|
67
67
|
app.connect("builder-inited", state.build_inited)
|
|
68
68
|
app.connect("autodoc-process-docstring", state.autodoc_process_docstring)
|
|
69
|
-
app.connect("doctree-read", state.parse_blocks)
|
|
69
|
+
app.connect("doctree-read", state.parse_blocks, priority=490)
|
|
70
70
|
app.connect("env-merge-info", state.merge_environments)
|
|
71
71
|
app.connect("env-purge-doc", state.purge_doc_from_environment)
|
|
72
72
|
app.connect("env-updated", state.create_references)
|
|
@@ -7,6 +7,7 @@ from functools import wraps
|
|
|
7
7
|
from pathlib import Path
|
|
8
8
|
from traceback import print_exc
|
|
9
9
|
|
|
10
|
+
from sphinx import version_info as sphinx_version
|
|
10
11
|
from sphinx.ext.intersphinx import InventoryAdapter
|
|
11
12
|
from sphinx.util import import_object
|
|
12
13
|
|
|
@@ -89,7 +90,7 @@ class SphinxCodeAutoLink:
|
|
|
89
90
|
@print_exceptions()
|
|
90
91
|
def build_inited(self, app) -> None:
|
|
91
92
|
"""Handle initial setup."""
|
|
92
|
-
if app.builder.name
|
|
93
|
+
if app.builder.name not in ("html", "dirhtml"):
|
|
93
94
|
self.do_nothing = True
|
|
94
95
|
return
|
|
95
96
|
|
|
@@ -177,7 +178,9 @@ class SphinxCodeAutoLink:
|
|
|
177
178
|
}
|
|
178
179
|
inter_inv = InventoryAdapter(app.env).main_inventory
|
|
179
180
|
transposed = transpose_inventory(inter_inv, relative_to=app.outdir)
|
|
180
|
-
transposed.update(
|
|
181
|
+
transposed.update(
|
|
182
|
+
transpose_inventory(inventory, relative_to=app.outdir, use_tuple=True)
|
|
183
|
+
)
|
|
181
184
|
return transposed
|
|
182
185
|
|
|
183
186
|
@print_exceptions()
|
|
@@ -268,6 +271,7 @@ class SphinxCodeAutoLink:
|
|
|
268
271
|
visitor = CodeRefsVisitor(
|
|
269
272
|
doctree,
|
|
270
273
|
code_refs=self.code_refs,
|
|
274
|
+
builder=app.builder.name,
|
|
271
275
|
warn_no_backreference=self.warn_no_backreference,
|
|
272
276
|
)
|
|
273
277
|
doctree.walk(visitor)
|
|
@@ -289,12 +293,15 @@ class SphinxCodeAutoLink:
|
|
|
289
293
|
self.inventory,
|
|
290
294
|
self.custom_blocks,
|
|
291
295
|
self.search_css_classes,
|
|
296
|
+
builder_name=app.builder.name,
|
|
292
297
|
)
|
|
293
298
|
|
|
294
299
|
self.cache.write()
|
|
295
300
|
|
|
296
301
|
|
|
297
|
-
def transpose_inventory(
|
|
302
|
+
def transpose_inventory(
|
|
303
|
+
inv: dict, relative_to: str, *, use_tuple: bool = False
|
|
304
|
+
) -> dict[str, str]:
|
|
298
305
|
"""
|
|
299
306
|
Transpose Sphinx inventory from {type: {name: (..., location)}} to {name: location}.
|
|
300
307
|
|
|
@@ -306,13 +313,18 @@ def transpose_inventory(inv: dict, relative_to: str) -> dict[str, str]:
|
|
|
306
313
|
Sphinx inventory
|
|
307
314
|
relative_to
|
|
308
315
|
if a local file is found, transform it to be relative to this dir
|
|
316
|
+
use_tuple
|
|
317
|
+
force using Sphinx inventory tuple interface,
|
|
318
|
+
TODO: move to class interface if it becomes public (#173)
|
|
309
319
|
"""
|
|
310
320
|
transposed = {}
|
|
311
321
|
for type_, items in inv.items():
|
|
312
322
|
if not type_.startswith("py:"):
|
|
313
323
|
continue
|
|
314
324
|
for item, info in items.items():
|
|
315
|
-
location =
|
|
325
|
+
location = (
|
|
326
|
+
info.uri if not use_tuple and sphinx_version >= (8, 2) else info[2]
|
|
327
|
+
)
|
|
316
328
|
if not location.startswith("http"):
|
|
317
329
|
location = str(Path(location).relative_to(relative_to))
|
|
318
330
|
transposed[item] = location
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""Backreference tables implementation."""
|
|
2
2
|
|
|
3
3
|
from dataclasses import dataclass
|
|
4
|
+
from pathlib import Path
|
|
4
5
|
|
|
5
6
|
from docutils import nodes
|
|
6
7
|
|
|
@@ -62,11 +63,13 @@ class CodeRefsVisitor(nodes.SparseNodeVisitor):
|
|
|
62
63
|
self,
|
|
63
64
|
*args,
|
|
64
65
|
code_refs: dict[str, list[CodeExample]],
|
|
66
|
+
builder: str,
|
|
65
67
|
warn_no_backreference: bool = False,
|
|
66
68
|
**kwargs,
|
|
67
69
|
) -> None:
|
|
68
70
|
super().__init__(*args, **kwargs)
|
|
69
71
|
self.code_refs = code_refs
|
|
72
|
+
self.builder = builder
|
|
70
73
|
self.warn_no_backreference = warn_no_backreference
|
|
71
74
|
|
|
72
75
|
def unknown_departure(self, node) -> None:
|
|
@@ -79,7 +82,10 @@ class CodeRefsVisitor(nodes.SparseNodeVisitor):
|
|
|
79
82
|
|
|
80
83
|
items = []
|
|
81
84
|
for ref in self.code_refs.get(node.ref, []):
|
|
82
|
-
|
|
85
|
+
if self.builder == "dirhtml" and Path(ref.document).name != "index":
|
|
86
|
+
link = ref.document + "/index.html"
|
|
87
|
+
else:
|
|
88
|
+
link = ref.document + ".html"
|
|
83
89
|
if ref.ref_id is not None:
|
|
84
90
|
link += f"#{ref.ref_id}"
|
|
85
91
|
items.append((link, " / ".join(ref.headings)))
|
{sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3}/src/sphinx_codeautolink/extension/block.py
RENAMED
|
@@ -125,6 +125,7 @@ class CodeBlockAnalyser(nodes.SparseNodeVisitor):
|
|
|
125
125
|
self.global_preface = global_preface
|
|
126
126
|
self.file_preface = []
|
|
127
127
|
self.prefaces = []
|
|
128
|
+
self.doctest_preface: dict[str, list[str]] = {}
|
|
128
129
|
self.transformers = BUILTIN_BLOCKS.copy()
|
|
129
130
|
self.transformers.update(custom_blocks)
|
|
130
131
|
self.valid_blocks = self.transformers.keys()
|
|
@@ -198,10 +199,21 @@ class CodeBlockAnalyser(nodes.SparseNodeVisitor):
|
|
|
198
199
|
"""Pop latest title."""
|
|
199
200
|
self.title_stack.pop()
|
|
200
201
|
|
|
201
|
-
def visit_doctest_block(self, node):
|
|
202
|
+
def visit_doctest_block(self, node: nodes.doctest_block):
|
|
202
203
|
"""Visit a Python doctest block."""
|
|
203
204
|
return self.parse_source(node, "pycon")
|
|
204
205
|
|
|
206
|
+
def visit_comment(self, node: nodes.comment):
|
|
207
|
+
"""Visit an ext.doctest setup block."""
|
|
208
|
+
if node.get("testnodetype") == "testsetup":
|
|
209
|
+
groups = node["groups"]
|
|
210
|
+
lines = [ln for c in node.children for ln in c.astext().split("\n")]
|
|
211
|
+
for g in groups:
|
|
212
|
+
if g == "*":
|
|
213
|
+
self.doctest_preface = {"*": lines}
|
|
214
|
+
else:
|
|
215
|
+
self.doctest_preface[g] = lines
|
|
216
|
+
|
|
205
217
|
def visit_literal_block(self, node: nodes.literal_block):
|
|
206
218
|
"""Visit a generic literal block."""
|
|
207
219
|
return self.parse_source(node, node.get("language", self.highlight_lang))
|
|
@@ -213,6 +225,15 @@ class CodeBlockAnalyser(nodes.SparseNodeVisitor):
|
|
|
213
225
|
prefaces = self.prefaces
|
|
214
226
|
self.prefaces = []
|
|
215
227
|
|
|
228
|
+
if node.get("testnodetype") == "doctest":
|
|
229
|
+
groups = node["groups"]
|
|
230
|
+
doctest_prefaces = [
|
|
231
|
+
ln
|
|
232
|
+
for g in groups
|
|
233
|
+
for ln in self.doctest_preface.get(g, self.doctest_preface.get("*", []))
|
|
234
|
+
]
|
|
235
|
+
prefaces = doctest_prefaces + prefaces
|
|
236
|
+
|
|
216
237
|
skip = self.skip
|
|
217
238
|
if skip == "next":
|
|
218
239
|
self.skip = None
|
|
@@ -354,9 +375,14 @@ def link_html(
|
|
|
354
375
|
inventory: dict,
|
|
355
376
|
custom_blocks: dict,
|
|
356
377
|
search_css_classes: list,
|
|
378
|
+
builder_name: str = "html",
|
|
357
379
|
) -> None:
|
|
358
380
|
"""Inject links to code blocks on disk."""
|
|
359
|
-
|
|
381
|
+
if builder_name == "dirhtml" and Path(document).name != "index":
|
|
382
|
+
html_file = Path(out_dir) / document / "index.html"
|
|
383
|
+
else:
|
|
384
|
+
html_file = Path(out_dir) / (document + ".html")
|
|
385
|
+
|
|
360
386
|
text = html_file.read_text("utf-8")
|
|
361
387
|
soup = BeautifulSoup(text, "html.parser")
|
|
362
388
|
|
sphinx_codeautolink-0.17.3/src/sphinx_codeautolink/locale/fr/LC_MESSAGES/sphinx-codeautolink.mo
ADDED
|
Binary file
|
sphinx_codeautolink-0.17.3/src/sphinx_codeautolink/locale/fr/LC_MESSAGES/sphinx-codeautolink.po
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# French translations for sphinx-codeautolink.
|
|
2
|
+
# Copyright (C) 2025 ORGANIZATION
|
|
3
|
+
# This file is distributed under the same license as the sphinx-codeautolink project.
|
|
4
|
+
# Colin Marquardt <cmarqu42@gmail.com>, 2025.
|
|
5
|
+
#
|
|
6
|
+
msgid ""
|
|
7
|
+
msgstr ""
|
|
8
|
+
"Project-Id-Version: 1\n"
|
|
9
|
+
"Report-Msgid-Bugs-To: cmarqu42@gmail.com\n"
|
|
10
|
+
"POT-Creation-Date: 2025-02-23 17:30+0200\n"
|
|
11
|
+
"PO-Revision-Date: 2025-02-25 22:23+0100\n"
|
|
12
|
+
"Last-Translator: Colin Marquardt <cmarqu42@gmail.com>\n"
|
|
13
|
+
"Language: fr\n"
|
|
14
|
+
"Language-Team: Colin Marquardt <cmarqu42@gmail.com>\n"
|
|
15
|
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
16
|
+
"MIME-Version: 1.0\n"
|
|
17
|
+
"Content-Type: text/plain; charset=utf-8\n"
|
|
18
|
+
"Content-Transfer-Encoding: 8bit\n"
|
|
19
|
+
"Generated-By: Babel 2.17.0\n"
|
|
20
|
+
|
|
21
|
+
msgid "References to"
|
|
22
|
+
msgstr "Références à"
|
|
23
|
+
|
|
24
|
+
msgid "Expand for references to"
|
|
25
|
+
msgstr "Étendre pour les références à"
|
sphinx_codeautolink-0.17.3/src/sphinx_codeautolink/locale/nl/LC_MESSAGES/sphinx-codeautolink.mo
ADDED
|
Binary file
|
sphinx_codeautolink-0.17.3/src/sphinx_codeautolink/locale/nl/LC_MESSAGES/sphinx-codeautolink.po
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Dutch (Netherlands) translations for sphinx-codeautolink.
|
|
2
|
+
# Copyright (C) 2025 ORGANIZATION
|
|
3
|
+
# This file is distributed under the same license as the sphinx-codeautolink
|
|
4
|
+
# project.
|
|
5
|
+
# Trevor James Smith <smith.trevorj@ouranos.ca>, 2025.
|
|
6
|
+
#
|
|
7
|
+
msgid ""
|
|
8
|
+
msgstr ""
|
|
9
|
+
"Project-Id-Version: 1\n"
|
|
10
|
+
"Report-Msgid-Bugs-To: smith.trevorj@ouranos.ca\n"
|
|
11
|
+
"POT-Creation-Date: 2025-02-23 17:30+0200\n"
|
|
12
|
+
"PO-Revision-Date: 2025-02-26 09:04-0500\n"
|
|
13
|
+
"Last-Translator: Trevor James Smith <smith.trevorj@ouranos.ca>\n"
|
|
14
|
+
"Language: nl\n"
|
|
15
|
+
"Language-Team: Trevor James Smith <smith.trevorj@ouranos.ca>\n"
|
|
16
|
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
17
|
+
"MIME-Version: 1.0\n"
|
|
18
|
+
"Content-Type: text/plain; charset=utf-8\n"
|
|
19
|
+
"Content-Transfer-Encoding: 8bit\n"
|
|
20
|
+
"Generated-By: Babel 2.17.0\n"
|
|
21
|
+
|
|
22
|
+
msgid "References to"
|
|
23
|
+
msgstr "Referenties naar"
|
|
24
|
+
|
|
25
|
+
msgid "Expand for references to"
|
|
26
|
+
msgstr "Uitklappen voor referenties naar"
|
|
27
|
+
|
sphinx_codeautolink-0.17.3/src/sphinx_codeautolink/locale/ru/LC_MESSAGES/sphinx-codeautolink.po
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Russian translations for sphinx-codeautolink.
|
|
2
|
+
# Copyright (C) 2025 ORGANIZATION
|
|
3
|
+
# This file is distributed under the same license as the sphinx-codeautolink project.
|
|
4
|
+
# Yuriy Skalko <yuriy.skalko@gmail.com>, 2025.
|
|
5
|
+
#
|
|
6
|
+
msgid ""
|
|
7
|
+
msgstr ""
|
|
8
|
+
"Project-Id-Version: 1\n"
|
|
9
|
+
"Report-Msgid-Bugs-To: yuriy.skalko@gmail.com\n"
|
|
10
|
+
"POT-Creation-Date: 2025-02-24 17:30+0200\n"
|
|
11
|
+
"PO-Revision-Date: 2025-02-24 18:42+0100\n"
|
|
12
|
+
"Last-Translator: Yuriy Skalko <yuriy.skalko@gmail.com>\n"
|
|
13
|
+
"Language: ru\n"
|
|
14
|
+
"Language-Team: Yuriy Skalko <yuriy.skalko@gmail.com>\n"
|
|
15
|
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
16
|
+
"MIME-Version: 1.0\n"
|
|
17
|
+
"Content-Type: text/plain; charset=utf-8\n"
|
|
18
|
+
"Content-Transfer-Encoding: 8bit\n"
|
|
19
|
+
"Generated-By: Babel 2.17.0\n"
|
|
20
|
+
|
|
21
|
+
msgid "References to"
|
|
22
|
+
msgstr "Ссылки на"
|
|
23
|
+
|
|
24
|
+
msgid "Expand for references to"
|
|
25
|
+
msgstr "Раскрыть ссылки на"
|
sphinx_codeautolink-0.17.3/src/sphinx_codeautolink/locale/uk/LC_MESSAGES/sphinx-codeautolink.po
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Ukrainian translations for sphinx-codeautolink.
|
|
2
|
+
# Copyright (C) 2025 ORGANIZATION
|
|
3
|
+
# This file is distributed under the same license as the sphinx-codeautolink project.
|
|
4
|
+
# Yuriy Skalko <yuriy.skalko@gmail.com>, 2025.
|
|
5
|
+
#
|
|
6
|
+
msgid ""
|
|
7
|
+
msgstr ""
|
|
8
|
+
"Project-Id-Version: 1\n"
|
|
9
|
+
"Report-Msgid-Bugs-To: yuriy.skalko@gmail.com\n"
|
|
10
|
+
"POT-Creation-Date: 2025-02-24 17:30+0200\n"
|
|
11
|
+
"PO-Revision-Date: 2025-02-24 18:42+0100\n"
|
|
12
|
+
"Last-Translator: Yuriy Skalko <yuriy.skalko@gmail.com>\n"
|
|
13
|
+
"Language: uk\n"
|
|
14
|
+
"Language-Team: Yuriy Skalko <yuriy.skalko@gmail.com>\n"
|
|
15
|
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
16
|
+
"MIME-Version: 1.0\n"
|
|
17
|
+
"Content-Type: text/plain; charset=utf-8\n"
|
|
18
|
+
"Content-Transfer-Encoding: 8bit\n"
|
|
19
|
+
"Generated-By: Babel 2.17.0\n"
|
|
20
|
+
|
|
21
|
+
msgid "References to"
|
|
22
|
+
msgstr "Посилання на"
|
|
23
|
+
|
|
24
|
+
msgid "Expand for references to"
|
|
25
|
+
msgstr "Розгорнути посилання на"
|
{sphinx_codeautolink-0.17.1 → sphinx_codeautolink-0.17.3/src/sphinx_codeautolink.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: sphinx-codeautolink
|
|
3
|
-
Version: 0.17.
|
|
3
|
+
Version: 0.17.3
|
|
4
4
|
Summary: Automatic links from code examples to reference documentation.
|
|
5
5
|
Author-email: Felix Hildén <felix.hilden@gmail.com>
|
|
6
6
|
Maintainer-email: Felix Hildén <felix.hilden@gmail.com>
|
|
@@ -42,8 +42,14 @@ src/sphinx_codeautolink/locale/es/LC_MESSAGES/sphinx-codeautolink.mo
|
|
|
42
42
|
src/sphinx_codeautolink/locale/es/LC_MESSAGES/sphinx-codeautolink.po
|
|
43
43
|
src/sphinx_codeautolink/locale/fi/LC_MESSAGES/sphinx-codeautolink.mo
|
|
44
44
|
src/sphinx_codeautolink/locale/fi/LC_MESSAGES/sphinx-codeautolink.po
|
|
45
|
+
src/sphinx_codeautolink/locale/fr/LC_MESSAGES/sphinx-codeautolink.mo
|
|
46
|
+
src/sphinx_codeautolink/locale/fr/LC_MESSAGES/sphinx-codeautolink.po
|
|
45
47
|
src/sphinx_codeautolink/locale/it/LC_MESSAGES/sphinx-codeautolink.mo
|
|
46
48
|
src/sphinx_codeautolink/locale/it/LC_MESSAGES/sphinx-codeautolink.po
|
|
49
|
+
src/sphinx_codeautolink/locale/nl/LC_MESSAGES/sphinx-codeautolink.mo
|
|
50
|
+
src/sphinx_codeautolink/locale/nl/LC_MESSAGES/sphinx-codeautolink.po
|
|
51
|
+
src/sphinx_codeautolink/locale/ru/LC_MESSAGES/sphinx-codeautolink.po
|
|
52
|
+
src/sphinx_codeautolink/locale/uk/LC_MESSAGES/sphinx-codeautolink.po
|
|
47
53
|
src/sphinx_codeautolink/static/sphinx-codeautolink.css
|
|
48
54
|
tests/__init__.py
|
|
49
55
|
tests/extension/__init__.py
|
|
@@ -83,6 +89,8 @@ tests/extension/ref/lexer_default_fail.txt
|
|
|
83
89
|
tests/extension/ref/lexer_doctest.txt
|
|
84
90
|
tests/extension/ref/lexer_doctest_empty_input.txt
|
|
85
91
|
tests/extension/ref/lexer_extdoctest_doctest.txt
|
|
92
|
+
tests/extension/ref/lexer_extdoctest_setup.txt
|
|
93
|
+
tests/extension/ref/lexer_extdoctest_setup_wrong.txt
|
|
86
94
|
tests/extension/ref/lexer_extdoctest_testcode.txt
|
|
87
95
|
tests/extension/ref/lexer_highlight_language.txt
|
|
88
96
|
tests/extension/ref/lexer_highlight_none.txt
|
|
@@ -278,6 +278,7 @@ Test project
|
|
|
278
278
|
|
|
279
279
|
for file in subfiles:
|
|
280
280
|
assert_links(result_dir / (file + ".html"), links)
|
|
281
|
+
|
|
281
282
|
assert check_link_targets(result_dir) == n_subfiles * len(links)
|
|
282
283
|
|
|
283
284
|
|
|
@@ -312,6 +313,60 @@ Test project
|
|
|
312
313
|
assert "sphinx-codeautolink-a" in str(blocks[1])
|
|
313
314
|
|
|
314
315
|
|
|
316
|
+
def test_dirhtml_builder(tmp_path: Path):
|
|
317
|
+
index = """
|
|
318
|
+
Test project
|
|
319
|
+
============
|
|
320
|
+
|
|
321
|
+
.. toctree::
|
|
322
|
+
:maxdepth: 2
|
|
323
|
+
|
|
324
|
+
page1/index
|
|
325
|
+
page2
|
|
326
|
+
subdir/page3
|
|
327
|
+
|
|
328
|
+
Index Page Code
|
|
329
|
+
---------------
|
|
330
|
+
|
|
331
|
+
.. code:: python
|
|
332
|
+
|
|
333
|
+
import test_project
|
|
334
|
+
test_project.bar()
|
|
335
|
+
|
|
336
|
+
.. automodule:: test_project
|
|
337
|
+
"""
|
|
338
|
+
|
|
339
|
+
page = """
|
|
340
|
+
Page {idx}
|
|
341
|
+
===========
|
|
342
|
+
|
|
343
|
+
.. code:: python
|
|
344
|
+
|
|
345
|
+
import test_project
|
|
346
|
+
test_project.bar()
|
|
347
|
+
|
|
348
|
+
.. autolink-examples:: test_project.bar
|
|
349
|
+
"""
|
|
350
|
+
|
|
351
|
+
files = {
|
|
352
|
+
"conf.py": default_conf,
|
|
353
|
+
"index.rst": index,
|
|
354
|
+
"page1/index.rst": page.format(idx=1),
|
|
355
|
+
"page2.rst": page.format(idx=2),
|
|
356
|
+
"subdir/page3.rst": page.format(idx=3),
|
|
357
|
+
}
|
|
358
|
+
links = ["test_project", "test_project.bar"]
|
|
359
|
+
|
|
360
|
+
result_dir = _sphinx_build(tmp_path, "dirhtml", files)
|
|
361
|
+
|
|
362
|
+
assert_links(result_dir / "index.html", links)
|
|
363
|
+
assert_links(result_dir / "page1/index.html", links)
|
|
364
|
+
assert_links(result_dir / "page2/index.html", links)
|
|
365
|
+
assert_links(result_dir / "subdir/page3/index.html", links)
|
|
366
|
+
|
|
367
|
+
assert check_link_targets(result_dir) == len(links) * 4
|
|
368
|
+
|
|
369
|
+
|
|
315
370
|
def _sphinx_build(
|
|
316
371
|
folder: Path, builder: str, files: dict[str, str], n_processes: int | None = None
|
|
317
372
|
) -> Path:
|
|
@@ -319,7 +374,9 @@ def _sphinx_build(
|
|
|
319
374
|
src_dir = folder / "src"
|
|
320
375
|
src_dir.mkdir(exist_ok=True)
|
|
321
376
|
for name, content in files.items():
|
|
322
|
-
|
|
377
|
+
path = src_dir / name
|
|
378
|
+
path.parent.mkdir(exist_ok=True, parents=True)
|
|
379
|
+
path.write_text(content, "utf-8")
|
|
323
380
|
|
|
324
381
|
build_dir = folder / "build"
|
|
325
382
|
args = ["-M", builder, str(src_dir), str(build_dir), "-W"]
|
|
@@ -12,7 +12,7 @@ external_site_ids = {}
|
|
|
12
12
|
def check_link_targets(root: Path) -> int:
|
|
13
13
|
"""Validate links in HTML site at root, return number of links found."""
|
|
14
14
|
site_docs = {
|
|
15
|
-
p
|
|
15
|
+
p: BeautifulSoup(p.read_text("utf-8"), "html.parser")
|
|
16
16
|
for p in root.glob("**/*.html")
|
|
17
17
|
}
|
|
18
18
|
site_ids = {k: gather_ids(v) for k, v in site_docs.items()}
|
|
@@ -27,10 +27,18 @@ def check_link_targets(root: Path) -> int:
|
|
|
27
27
|
external_site_ids[base] = gather_ids(sub_soup)
|
|
28
28
|
ids = external_site_ids[base]
|
|
29
29
|
else:
|
|
30
|
-
|
|
30
|
+
target_path = (doc.parent / base).resolve()
|
|
31
|
+
if target_path.is_dir():
|
|
32
|
+
target_path /= "index.html"
|
|
33
|
+
assert target_path.exists(), (
|
|
34
|
+
f"Target path {target_path!s} not found while validating"
|
|
35
|
+
f" link for `{link.string}` in {doc.relative_to(root)!s}!"
|
|
36
|
+
)
|
|
37
|
+
ids = site_ids[target_path]
|
|
38
|
+
|
|
31
39
|
assert id_ in ids, (
|
|
32
|
-
f"ID {id_} not found in {base}"
|
|
33
|
-
f"
|
|
40
|
+
f"ID {id_} not found in {base} while validating link"
|
|
41
|
+
f" for `{link.string}` in {doc.relative_to(root)!s}!"
|
|
34
42
|
)
|
|
35
43
|
total += 1
|
|
36
44
|
return total
|
|
@@ -4,10 +4,7 @@ attr
|
|
|
4
4
|
test_project.Foo
|
|
5
5
|
test_project.Foo
|
|
6
6
|
# split
|
|
7
|
-
from sphinx_codeautolink.extension.block import clean_pycon
|
|
8
7
|
extensions.append("sphinx.ext.doctest")
|
|
9
|
-
codeautolink_custom_blocks = {"pycon3": clean_pycon}
|
|
10
|
-
suppress_warnings = ["config.cache"]
|
|
11
8
|
# split
|
|
12
9
|
Test project
|
|
13
10
|
============
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
test_project.bar
|
|
2
|
+
tp.bar
|
|
3
|
+
test.Foo
|
|
4
|
+
# split
|
|
5
|
+
extensions.append("sphinx.ext.doctest")
|
|
6
|
+
# split
|
|
7
|
+
Test project
|
|
8
|
+
============
|
|
9
|
+
|
|
10
|
+
.. testsetup::
|
|
11
|
+
|
|
12
|
+
import test_project
|
|
13
|
+
|
|
14
|
+
.. doctest::
|
|
15
|
+
|
|
16
|
+
>>> test_project.bar()
|
|
17
|
+
|
|
18
|
+
.. testsetup:: *
|
|
19
|
+
|
|
20
|
+
.. doctest::
|
|
21
|
+
|
|
22
|
+
>>> test_project.Foo()
|
|
23
|
+
|
|
24
|
+
.. testsetup:: thisgroup
|
|
25
|
+
|
|
26
|
+
import test_project as tp
|
|
27
|
+
|
|
28
|
+
import test_project as test
|
|
29
|
+
|
|
30
|
+
.. doctest:: thisgroup
|
|
31
|
+
|
|
32
|
+
>>> tp.bar()
|
|
33
|
+
>>> test.Foo()
|
|
34
|
+
|
|
35
|
+
.. automodule:: test_project
|
|
@@ -35,7 +35,7 @@ commands = coverage run
|
|
|
35
35
|
[testenv:doc8]
|
|
36
36
|
description = Check documentation .rst files
|
|
37
37
|
allowlist_externals = doc8
|
|
38
|
-
commands = doc8 docs/src
|
|
38
|
+
commands = doc8 docs/src --quiet
|
|
39
39
|
|
|
40
40
|
[testenv:docs]
|
|
41
41
|
description = Build Sphinx documentation
|
|
@@ -62,7 +62,7 @@ description = Build and check package
|
|
|
62
62
|
deps = -r requirements/build
|
|
63
63
|
allowlist_externals = rm, cmd
|
|
64
64
|
commands =
|
|
65
|
-
python -m build
|
|
65
|
+
python -m build -C--quiet
|
|
66
66
|
twine check --strict dist/*
|
|
67
67
|
commands_post =
|
|
68
68
|
lin,mac: rm -r dist
|
|
@@ -76,7 +76,7 @@ commands_pre =
|
|
|
76
76
|
lin,mac: rm -rf dist
|
|
77
77
|
win: cmd /c if exist dist rmdir /s /q dist
|
|
78
78
|
commands =
|
|
79
|
-
python -m build
|
|
79
|
+
python -m build -C--quiet
|
|
80
80
|
twine check --strict dist/*
|
|
81
81
|
twine upload dist/* --config-file .pypirc
|
|
82
82
|
commands_post =
|
|
File without changes
|