Commit Graph
16607 Commits
Author SHA1 Message Date
Takeshi KOMIYA 7318d1dfd4 autodoc: Support type union operator (PEP-604) (refs: #8775)
Upgrade autodoc to support type union operator introduced in
PEP-604. It's available only with python 3.10+.
2021-01-31 23:38:36 +09:00
Jean-François B be20f17892 Merge pull request #8779 from jfbu/latex_hlist_support
Fix #8072: Directive hlist not implemented in LaTeX
2021-01-29 21:05:19 +01:00
Jean-François B 879bf54a05 Merge pull request #8781 from jfbu/latex_hyphenation_of_first_word
Fix #8780: long words in narrow columns may not be hyphenated
2021-01-29 20:57:54 +01:00
jfbu 9abe2edf93 Remove unneeded versionchanged data in docs of hlist directive 2021-01-29 20:21:07 +01:00
jfbu 17642a5e6b Add \nobreak inside \sphinxAtStartPar
Else, a non-hyphenatable long word as first word in a narrow column in a
longtable/tabular (with column type e.g. p{1cm} from tabularcolumns
directive) gets shifted downwards vertically in PDF output.

Memo:

1. I did not find other cases where such a vertical shift may occur (I
tried with deeply nested lists and artificial words such as 'A'*32) with
LaTeX mark-up produced by Sphinx,

2. but with the support of hlist directive via PR #8779 using multicols
environment, there is again this situation of downwards shift of
non-hyphenatable long first words.  But it occurs whether or not
\sphinxAtStartPar is used (\nobreak does not modify this).
2021-01-29 13:10:21 +01:00
jfbu d6e11b89e9 Fix suppression of needed whiteline, encapsulate into \sphinxAtStartPar
Define it to do nothing with lualatex engine
2021-01-29 10:40:50 +01:00
jfbu 185a2d27fe Fix #8780: long words in narrow columns may not be hyphenated
This is done by adding '\hskip0pt\relax\n' whenever a paragraph starts.
2021-01-29 00:24:44 +01:00
jfbu a68a05533d Fix #8072: Directive hlist not implemented in LaTeX
Adds ``multicol`` LaTeX package requirement, but it is a required
part of any latex distribution.
2021-01-28 21:21:01 +01:00
Takeshi KOMIYA 57126d9ee2 Merge pull request #8773 from francoisfreitag/app-build
Linkcheck: Use app.build() to trigger the test build
2021-01-28 23:28:31 +09:00
Takeshi KOMIYA 14f2c9ebfa Merge pull request #8770 from francoisfreitag/else
linkcheck: Raise on unknown status in process_result()
2021-01-28 23:27:27 +09:00
François Freitag c7eb7cd127 Linkcheck: Use app.build() to trigger the test build
Instead of using application members to access the builder and trigger a
build, use the main app interface.
It ensures the builder setup is realistic, builder cleanups are executed
and the build-finished events are emitted.
2021-01-27 18:55:36 +01:00
François Freitag 227955cbe8 linkcheck: Raise on unknown status in process_result()
Helps catching programming errors. The else clause should never be
reached.
2021-01-27 17:36:10 +01:00
Takeshi KOMIYA 7f63c5442e Merge pull request #8766 from tk0miya/8232_graphviz_in_subdir
graphviz: Image node is not rendered if graph file is in subdir (refs: #8232)
2021-01-28 01:01:42 +09:00
Takeshi KOMIYA 2952d9a0c3 graphviz: Image node is not rendered if graph file is in subdir (refs: #8232)
To support images for graphviz, graphviz commands (ex. dots) should be
invoked at the directory placed the graph file.
2021-01-28 00:49:14 +09:00
Takeshi KOMIYA 62dad2f133 Merge pull request #8765 from jfbu/latex_memoir_french_footnote
LaTeX: sync with upstream footnotehyper
2021-01-28 00:13:17 +09:00
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
Takeshi KOMIYA af97da37a7 Merge pull request #8767 from jfbu/8214_duplicate_in_latex_index
Fix #8214: duplicate entries in latex index if term also in glossary
2021-01-28 00:03:54 +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
Takeshi KOMIYA 9f2f6b0037 Merge pull request #8764 from jfbu/8442_latex_memoir_index
Fix #8442: missing index entries in pdf output with memoir + xindy
2021-01-27 00:10:29 +09:00
Takeshi KOMIYA e0321ebab8 Merge pull request #8763 from tk0miya/refactor_doc3
doc: Apply :params: to some APIs in app class
2021-01-27 00:05:38 +09:00
Takeshi KOMIYA f22ef55af3 Merge pull request #8762 from tk0miya/refactor_doc2
doc: Add hyperlinks to classifiers for sphinx extensions and themes
2021-01-27 00:05:14 +09: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 84ef92226f doc: Apply :params: to some APIs in app class 2021-01-26 01:19:47 +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 37b07ca7a0 Merge pull request #8754 from tk0miya/7118_quickstart_mojibake
Fix #7118: quickstart: got Mojibake if libreadline unavailable
2021-01-25 22:51:14 +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 ec375087b8 Merge pull request #8740 from tk0miya/7642_optimize_case_insensitive_match_of_term
Close #7642: std domain: Optimize case-insensitive match of term
2021-01-24 23:46:59 +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 a3e83a80f0 Merge pull request #8746 from jfbu/latex_improve_our_pdfdocs
Improve Sphinx own pdf docs
2021-01-24 23:31:42 +09:00
Takeshi KOMIYA a5c716b635 Merge pull request #8753 from francoisfreitag/rm-n
Linkcheck: Derive number of links from the post-transform result
2021-01-24 22:55:33 +09:00
Takeshi KOMIYA 6c01d7614b Merge branch '3.x' into rm-n 2021-01-24 22:43:33 +09:00
Takeshi KOMIYA 2e0d7e539a Merge pull request #8751 from francoisfreitag/mult-open
Linkcheck: Don’t repeatedly open/close log files
2021-01-24 21:22:47 +09:00
François Freitag 1121e5e8bc Linkcheck: Derive number of links from the post-transform result
The number of links to check is the number of links in self.hyperlinks,
populated by the post-transform.
2021-01-24 12:24:52 +01:00
François Freitag 54df51e86f Linkcheck: Don’t repeatedly open/close log files
Opening and closing a file requires processing from the operating
system. Repeatedly opening and closing wastes system resources and
hinders buffering, causing a flush (disk I/O) after each write
operation.

Using a context manager ensures the logs are flushed to disk and files
are properly closed whether the program exists successfully or an
exception occurs. Compared to the previous implementation, a brutal
shutdown of the machine (e.g. power cord disconnected) could cause some
log lines not to be written. That should not be an issue in practice.

Now, files are created and truncated when linkcheck submitted the links
to check to the threads and is ready to process the results, instead of
when the builder is constructed. It keeps the file operations closer to
their use.
2021-01-24 12:15:07 +01:00
Takeshi KOMIYA 34417831c5 doc: Add hyperlinks to classifiers for sphinx extensions and themes 2021-01-24 16:45:50 +09:00
Takeshi KOMIYA 51d500833e Merge branch '3.x' into 7774_remove_develop.rst 2021-01-24 16:34:47 +09:00
Takeshi KOMIYA 41ee2d6e65 Merge pull request #8738 from tk0miya/8118_today_fmt
Fix #8118: doc: the default setting of today_fmt
2021-01-24 14:42:20 +09:00
Takeshi KOMIYA 851716cd1a Merge pull request #8744 from tk0miya/refactor_doc4
doc: Apply :params: to some APIs in app class
2021-01-24 14:39:21 +09:00
Takeshi KOMIYA becf8f43be Merge pull request #8599 from tk0miya/6550_html_permalinks_icon
Close #6550: html: Allow to use HTML permalink texts
2021-01-24 14:30:06 +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 59036b1e65 Update sphinx/application.py 2021-01-24 14:16:26 +09:00