Commit Graph

4936 Commits

Author SHA1 Message Date
Takeshi KOMIYA
fb4dde3fdb Merge pull request #8755 from tk0miya/8745_KeyError_for_new_auto_footnote_refs
Fix #8745: i18n: KeyError if a new auto footnote_ref in translations
2021-01-28 00:12:14 +09:00
Takeshi KOMIYA
9d706b6fb5 Merge branch '3.x' into latex_memoir_french_footnote 2021-01-28 00:05:20 +09:00
jfbu
f937facc69 Fix #8214: duplicate entries in latex index if term also in glossary
This makes .idx files contain \spxentry{..} with no space, whether or
not the \index latex command is encountered in main text or e.g. in a
label of a description list (like happens for terms from a glossary).

Xindy does not care about spaces, but Makeindex doesn't merge entries
whose typesetting is to be done via \spxentry{..} or \spxentry {..}.

An alternative work-around would be for Sphinx LaTeX writer to use some
wrapper, say, \sphinxindexwrap, only to fetch the argument and force TeX
tokenization and then hand over it to \index command.

But we choose to let \spxentry expand to its own name, with no trailing
space (it gets its final definition only from the python.ist file in
case of Makeindex).

In case both the :index: role and the glossary are on same page, Xindy
and Makeindex behave differently: the former gives only once the page
number, the latter issues them twice (but the indexed term only once),
and there is warning in the .ilg file. But this is unrelated and we
can't do here anything about it.
2021-01-26 19:18:47 +01:00
jfbu
5c96add193 LaTeX: sync with upstream footnotehyper
This fixes #7576
2021-01-26 16:29:30 +01:00
jfbu
2772909861 Fix #8442: missing index entries in pdf output with memoir + xindy 2021-01-26 10:32:53 +01:00
Takeshi KOMIYA
241577f65e Merge branch '8137_urldecode' into 3.x 2021-01-26 02:11:13 +09:00
Takeshi KOMIYA
d6498f8209 Merge pull request #8757 from tk0miya/8756_viewcode_purge_doc
Fix #8756: viewcode: highlighted code is generated even if not referenced
2021-01-25 22:52:45 +09:00
Takeshi KOMIYA
9a156baa87 Fix #7118: quickstart: got Mojibake if libreadline unavailable
Do not output escape sequence for libreadline (\1 and \2) when
libreadline is unavailable.
2021-01-25 20:36:53 +09:00
Takeshi KOMIYA
8203642c41 Merge pull request #8752 from tk0miya/1638_permalinks_for_glossary_terms
Close #1638: html: Add permalink icons to glossary terms
2021-01-25 20:35:44 +09:00
Takeshi KOMIYA
16a8a17779 Merge pull request #8747 from tk0miya/8134_args_for_mock_decorator
Fix #8134: autodoc: crashes when mocked decorator takes arguments
2021-01-25 20:33:40 +09:00
Takeshi KOMIYA
8dc8c01425 Fix #8756: viewcode: highlighted code is generated even if not referenced
viewcode does not purge unreferenced modules on incremental build.  This
adds env-purge-doc handler to clean them.
2021-01-25 01:50:21 +09:00
Takeshi KOMIYA
81ba9273ca Fix #8745: i18n: KeyError if a new auto footnote_ref in translations
Some writers will be crashed by KeyError because of lack of the refid if
a new auto footnote reference is added to the message catalog by
translation misses.

This detects the invalid footnote references and removes them on
the translation phase.
2021-01-25 00:30:50 +09:00
Takeshi KOMIYA
949ec8737f Close #1638: html: Add permalink icons to glossary terms 2021-01-24 23:35:37 +09:00
Takeshi KOMIYA
b5ff272f77 Close #7642: std domain: Optimize case-insensitive match of term
Since 3.0.1, the term role has matched to the words in glossary
case-sensitively.  It's important change for preventing conflicts by
word cases.  But, it also brings a problem for references in natural
text.

This optimizes the case-insensitive match of the term role.  It allows
to search glossary words twice with no performance penalty; the first
search is case sensitive and another is case insenstive.
2021-01-24 23:32:53 +09:00
Takeshi KOMIYA
a78c6b799f Fix #8134: autodoc: crashes when mocked decorator takes arguments
autodoc crashed when a decorator in mocked module takes arguments
because mock system returns the first argument for the decorator as a
decorated object.

This changes the approach for mocking decorators that remembers
arguments for each decoration, and fetch the latest argument on
generating document.
2021-01-24 14:18:00 +09:00
Takeshi KOMIYA
15cbc6dbb0 Close #6550: html: Allow to use HTML permalink texts
Add new configuration variables: `html_permalinks` and
`html_permalinks_icon`.

This refines the settings around HTML permalinks.

* html_add_permalinks
  * Deprecated.
* html_permalinks
  * Enable or disable permalinks feature.
* html_permalinks_icon
  * Change the icon for permalinks
2021-01-24 14:17:07 +09:00
Takeshi KOMIYA
97f54bdf31 Merge pull request #8733 from tk0miya/update_underscore.js-1.12.0
Update Underscore.js to 1.12.0
2021-01-24 14:07:16 +09:00
Takeshi KOMIYA
deda1918fc Merge pull request #8731 from tk0miya/8004_preprocess_types_for_google
Fix #8004: napoleon_preprocess_types for Google style docstrings
2021-01-24 13:59:21 +09:00
Takeshi KOMIYA
2522b61185 Merge pull request #8729 from tk0miya/8727_namespace_subpackage
Fix #8727: apidoc: namespace module file is not generated if no submodules
2021-01-24 13:58:33 +09:00
jfbu
e63365f94e Fix #8735
It is hard to provide a unit test, because the problem only raises a
LaTeX warning and shows as broken internal links in pdf output.

As the fix moves some LaTeX code to the end of preamble, user or
extension code may have to be moved there too.  However, a large part of
it already was delayed.  I checked that sphinxmessages.tex does not
introduce preamble code which would be broken from missing macros due
to this change.
2021-01-23 11:21:29 +01:00
Takeshi KOMIYA
85e49ab20f Update CHANGES for PR #8247 2021-01-23 17:10:12 +09:00
Takeshi KOMIYA
1b4265da4d Update Underscore.js to 1.12.0 2021-01-23 16:41:59 +09:00
Takeshi KOMIYA
440e64a91b Fix #8004: napoleon_preprocess_types for Google style docstrings
Type definitions in Google style docstrings are rendered as references
when :confval:`napoleon_preprocess_types` enabled.
2021-01-23 14:20:19 +09:00
Takeshi KOMIYA
650f8ea237 Fix #8727: apidoc: namespace module file is not generated if no submodules
sphinx-apidoc should generate a namespace module file when
`--implicit-namespace` option given.  This fixes the case the namespace
module has subpackages, but no submodules.
2021-01-23 00:40:16 +09:00
Takeshi KOMIYA
a71028bf9e Merge pull request #8719 from tk0miya/8714_kbd_capslock
Fix #8714: html: kbd role with "Caps Lock" rendered incorrectly
2021-01-22 22:07:06 +09:00
Takeshi KOMIYA
d6f41227d7 Fix #8714: html: kbd role with "Caps Lock" rendered incorrectly
`:kbd:` role has to support keys in consist of multiple words (ex. caps
lock, num lock, etc.)
2021-01-22 21:58:19 +09:00
Takeshi KOMIYA
5260143afe Fix #8704: viewcode: anchors are generated in incremental build
The anchors for viewcode was generated in the reading phase only if
supported builder is used.  It causes anchors are missing on the
incremental build after the build for non supported builder.

This introduces `viewcode_anchor` node to insert the anchor even if non
supported builders.  They will be converted to the anchor tag in the
resolving phase for supported builders.  Or, they will be removed for
non supported builders.
2021-01-22 21:41:42 +09:00
Takeshi KOMIYA
d5d072bc3a Merge branch '3.4.x' into 3.x 2021-01-22 21:40:27 +09:00
Takeshi KOMIYA
86c75cea13 Merge pull request #8721 from tk0miya/8720_viewcode_incremental_build
Fix #8720: viewcode: module pages are generated for epub on incremental build
2021-01-22 21:14:00 +09:00
François Freitag
aa5e4e2da0 Deprecate linkcheck builder {broken,good,redirected}
These attributes were used to cache checked links and avoid issuing
another web request to the same URI.

Since 82ef497a8c, links are pre-processed
to ensure uniqueness. This caching the results of checked links is no
longer useful.
2021-01-21 17:06:51 +01:00
Takeshi KOMIYA
b2bb12ad91 Fix #8720: viewcode: module pages are generated for epub on incremental build
The module pages should be generated for epub only if enabled via
configuration.  But they are generated after the build for other
viewcode-supported builders.  This checks the current builder on
generating module pages.
2021-01-22 00:51:21 +09:00
Takeshi KOMIYA
82ef497a8c Merge pull request #8702 from tk0miya/4304_linkcheck_same_url
linkcheck: Do not check the availability of the same URL repeatedly
2021-01-20 21:12:22 +09:00
Takeshi KOMIYA
cead0f6ddf linkcheck: Fix race condition that could lead to checking the availability of the same URL twice
So far, linkcheck scans all of references and images from documents, and
checks them parallel.  As a result, some URL would be checked twice (or
more) by race condition.

This collects the URL via post-transforms, and removes duplicated URLs
before checking availability.

refs: #4303
2021-01-20 20:58:27 +09:00
Takeshi KOMIYA
8a0ec3b7a4 Merge pull request #8708 from tk0miya/refactor_autosummary
refactor: autosummary: Deprecate _simple_info() and _simple_warn()
2021-01-20 20:53:53 +09:00
Jakob Lykke Andersen
67c4ca6b21 Merge pull request #8706 from jakobandersen/cpp_operator
C++, also hyperlink operators in expr and alias
2021-01-19 19:04:13 +01:00
Takeshi KOMIYA
d49f3a1c78 refactor: autosummary: Deprecate _simple_info() and _simple_warn() 2021-01-20 02:23:34 +09:00
Jakob Lykke Andersen
ab7562513b C++, also hyperlink operators in expr and alias 2021-01-19 17:45:28 +01:00
Takeshi KOMIYA
ef7f57325c Update CHANGES for PR #8658 2021-01-19 21:17:26 +09:00
Takeshi KOMIYA
40f2c832ff Merge pull request #8698 from tk0miya/8681_viewcode_incremental_build
Close #8681: viewcode: Support incremental build
2021-01-19 02:42:21 +09:00
Takeshi KOMIYA
2e01c34acf Close #8681: viewcode: Support incremental build
Now viewcode supports incremental build. It generates HTML files only
when the original python code is updated from last build.
2021-01-19 02:30:11 +09:00
Takeshi KOMIYA
bc56384fb9 Fix #1112: download role creates duplicated copies
`:download:` role creates duplicated copies when the document contains
two or more the role for the same file, but in different form.  It
considers two paths are different when one contains relative path like
`path/to/../file.dat`.

Internally, `env.relfn2path()` does not normalize the given path in
relative form.  As a result, download role can't detect the same paths
are given.  This adds `os.path.normpath()` to `env.relfn2path()` to
normalize the path.
2021-01-19 02:27:20 +09:00
Takeshi KOMIYA
d88166e84b Close #8514: autodoc: Default values of overloads are taken from actual implementation
As a well-known idiom, mypy recommends to use ellipsis ("...") for
default argument values as a elided style.  This allows to write the
style and helps to document it with copying the default argument
values from actual implementation.

Note: This does not copy the default argument value when the argument
of overloaded function has its own default value.
2021-01-17 02:32:50 +09:00
Takeshi KOMIYA
425cd1af02 Fix #8693: autodoc: Default values for overloads are rendered as string
The default values for overloaded functions are rendered as string
literal unexpectedly because autodoc extracts code snippets from
the source code, not actual value (ex. int, ellipsis, and so on).

This introduces a simple wrapper class; `DefaultValue` to render these
code snippets like actual values, not string literals.
2021-01-17 02:30:20 +09:00
Takeshi KOMIYA
90ab89311f Merge pull request #8667 from tk0miya/8652_invalid_type_comments
Fix #8652: autodoc: variable comments are ignored if invalid type comments found
2021-01-16 21:40:34 +09:00
Takeshi KOMIYA
d635d94eeb Merge pull request #8685 from tk0miya/8683_strftime_z
Fix #8683: html_last_updated_fmt does not support UTC offset (%z)
2021-01-14 01:11:24 +09:00
Takeshi KOMIYA
b742bde8e6 Merge pull request #8684 from tk0miya/2030_automatic_dedent
Fix #2030: automatic dedent support in code-block directive
2021-01-14 01:11:02 +09:00
Takeshi KOMIYA
fddc42847f Fix #2030: automatic dedent support in code-block directive 2021-01-13 01:10:28 +09:00
Takeshi KOMIYA
6101077aab Merge pull request #8680 from tk0miya/deprecate_DocumenterBridge.reporter
refactor: Deprecate DocumenterBrdige.reporter
2021-01-13 01:08:45 +09:00
Takeshi KOMIYA
233e359330 Merge pull request #8679 from tk0miya/8651_xref_for_rubric
Fix #8651: cross-reference for a rubric having inline item is broken
2021-01-13 01:01:36 +09:00
Takeshi KOMIYA
8ff8b5532c Fix #8683: html_last_updated_fmt generates wrong time zone for %Z
sphinx.util.i18n:format_date() converts '%Z' to full name of time zone
unexpectedly.  It should be converted to short name.
2021-01-13 00:50:01 +09:00