Commit Graph

12176 Commits

Author SHA1 Message Date
jfbu
2825e338c2 LaTeX: support for Greek and Cyrillic
0. do not escape Unicode Greek letters via LaTeX math mark-up: pass them
   through un-modified to LaTeX document,

1. if "fontenc" receives extra option LGR, then pdflatex will support
   Unicode Greek letters (not in math), and with extra option T2A it
   will support (most) Unicode Cyrillic letters.

2. for pdflatex with LGR, this will use "textalpha" LaTeX package and
   "substitutefont" package to set up some automatic font substitution
   to work around the unavailability of Greek with "times"
   package (which is default font package chosen by Sphinx for
   pdflatex), same with T2A and "substitutefont" for Cyrillic.

3. for xelatex/lualatex, set up Computer Modern Unicode as default font,
   as it supports Cyrillic and Greek scripts,

4. for platex, don't do anything special as the engine already has
   its default font supporting Cyrillic and Greek (even in math mode!)

Closes: #5251
Fixes:  #5248
Fixes:  #5247
2018-11-16 21:14:51 +01:00
Stephen Finucane
1c07f0004f doc: Add "theming" to usage guide
This one is a little unusual. The current theming doc mixes user-focused
documentation with developer-focused documentation. This is confusing
and unnecessary. Resolve the issue by splitting the doc in two. The
user-focused docs are moved to the advanced section of the usage guide,
while the developer docs remain where they are, pending the addition of
a developer guide.

Signed-off-by: Stephen Finucane <stephen@that.guru>
2018-11-16 15:23:33 +01:00
Jon Dufresne
3bc938ceba Drop explicit dependency: typed_ast
typed-ast has been a required dependency of mypy since v0.470. Can rely
on it being installed as a transient dependency and not list it
explicitly. For the change in mypy, see:

a207754a7e
2018-11-16 05:23:56 -08:00
Stephen Finucane
356ebd5596 doc: Rework "theming" document
Signed-off-by: Stephen Finucane <stephen@that.guru>
2018-11-16 13:33:36 +01:00
Stephen Finucane
71e8477597 doc: Add "websupport" to usage guide
Signed-off-by: Stephen Finucane <stephen@that.guru>
2018-11-16 13:23:06 +01:00
Stephen Finucane
e766336a2b doc: Rework "websupport" documents
Signed-off-by: Stephen Finucane <stephen@that.guru>
2018-11-16 13:23:01 +01:00
Stephen Finucane
23afd29cbb doc: Add "setuptools" to usage guide
Signed-off-by: Stephen Finucane <stephen@that.guru>
2018-11-16 13:22:38 +01:00
Stephen Finucane
d380617c3b doc: Add "internationalization" to the usage guide
This is added to the new "advanced" subsection.

Signed-off-by: Stephen Finucane <stephen@that.guru>
2018-11-16 13:20:46 +01:00
Stephen Finucane
b7ff889050 doc: Rework "internationalization" document
Shuffle some things around, add some additional markup, and fix header
styles.

Signed-off-by: Stephen Finucane <stephen@that.guru>
2018-11-16 12:42:27 +01:00
Stephen Finucane
ac9f6a8b05 Fix two nits with the TextBuilder class
- 'logger' was unused and can be removed
- 'TextTranslator.sectionchars' was overridden in '__init__' and doesn't
  need to be defined

Signed-off-by: Stephen Finucane <stephen@that.guru>
2018-11-16 11:15:05 +01:00
cocoatomo
212ecd203d Partially revert "Simplify XRefRole constructor" 2018-11-16 16:51:56 +09:00
Takeshi KOMIYA
bcf7f9f8eb
Merge pull request #5628 from tk0miya/5627_qthelp
Fix #5627: index.html missing in QtHelp
2018-11-14 23:45:45 +09:00
Takeshi KOMIYA
6c94801ec2
Merge pull request #5621 from jdufresne/str-bytes
Fix all BytesWarning identified through tests
2018-11-14 20:05:48 +09:00
Takeshi KOMIYA
3a81caf148
Merge pull request #5631 from jdufresne/dict
Always prefer dict literals over calls to dict()
2018-11-14 20:04:12 +09:00
Takeshi KOMIYA
4fd14cf5e1
Merge pull request #5632 from jdufresne/super-json
Use super() in SphinxJSONEncoder
2018-11-14 20:02:04 +09:00
Takeshi KOMIYA
19b1078f6d
Merge pull request #5633 from jdufresne/js-test
Improve JS handling in test_search.py
2018-11-14 20:01:13 +09:00
Jon Dufresne
4cda774566 Improve JS handling in test_search.py
- Reuse jsload() in all tests to reduce duplication.
- Fix -2 index to -1, to include the entire JSON string. Was previously
  chopping off the final '}'.
- Assert the serialized string ends with a closing parenthesis
2018-11-13 21:25:46 -08:00
Jon Dufresne
8c46a94bca Use super() in SphinxJSONEncoder
This case was missed as part of
710ca3d7c3.
2018-11-13 21:22:30 -08:00
Jon Dufresne
1ae049b2ee Always prefer dict literals over calls to dict()
Dict literals are always slightly faster and are idiomatic modern
Python.
2018-11-13 18:44:16 -08:00
Jon Dufresne
41ad0d5347 Fix all BytesWarning identified through tests
Code should not arbitrarily mix bytes & str values. The values should be
understood and deliberate. When Python is run with the -b option, this
change fixes warnings of the form:

  BytesWarning: str() on a bytes instance
2018-11-13 18:08:49 -08:00
Jean-François B
3a512ef68c
Merge branch '1.8' into 5520_latex_caption_package 2018-11-14 00:12:27 +01:00
jfbu
7f19885641 LaTeX: compatibility with caption package
This compatibility is mainly re-instored for convenience of user to
style the fonts used for the caption, and also possibly influence the
horizontal position via "width" or "margin" option of caption package
(attention that caption package obeys the document class tacit "twoside"
option, so if left and right margins are not set-up to be the same,
positioning of caption will depend on parity of the page number).

Regarding vertical skips, for captions placed on top (which is the table
templates default and also the literalblockcappos default), this commit
ensures that the vertical spacing separating the caption last baseline
to the top of framing is governed by \sphinxbelowcaptionspace in all
these three cases: tabular(y), longtable, literal blocks; the "skip"
option of caption package is ignored for them.

The "skip" is obeyed for the spacing between an image and its caption,
which currently in Sphinx is always below the image (no customization of
the figure caption vertical placement is currently available).

If literalblockcappos is "b" (captions follow code-blocks), this commit
removes the caption-package added \abovecaptionskip, so that "skip" is
also ignored for code-blocks in this case. This looks better due to the
extra space already added by the framing of the code-block and achieves
same spacing as without caption package (presumably loaded mainly to
style the fonts used for the caption). However in future maybe caption's
package "skip" should be obeyed for "literalblock" caption type.

Fixes: 5520
2018-11-13 23:55:11 +01:00
Takeshi KOMIYA
45ad2e41a5
Merge pull request #5610 from tk0miya/refactor_domains
Refactor std domain: Add add_object() and add_program_option()
2018-11-14 00:55:06 +09:00
Takeshi KOMIYA
c80b5fe58f
Merge pull request #5606 from sphinx-doc/fix_typehints3
Fix type annotations for RoleFunction
2018-11-14 00:53:28 +09:00
Takeshi KOMIYA
d5e4bc0e75
Merge pull request #5622 from jdufresne/inval
Fix "invalid escape sequence" warnings emitted during tests
2018-11-14 00:47:44 +09:00
Takeshi KOMIYA
a6fc9259b0
Merge pull request #5620 from jdufresne/dep-force-decode
Deprecate and drop internal use of force_decode()
2018-11-14 00:47:41 +09:00
Jon Dufresne
555960d668 Deprecate and drop internal use of force_decode()
In the Python 3 only code base, this function is no longer necessary.
The type of values is well understood and deliberate. Code should avoid
arbitrary mixing of bytes & str.

By removing force_decode() calls from docstring values, can deprecate
the now unused 'encoding' arguments to various autodoc methods.
2018-11-13 07:16:39 -08:00
Jon Dufresne
444a7212b6 Fix "invalid escape sequence" warnings emitted during tests
sphinx/tests/test_quickstart.py:221: DeprecationWarning: invalid escape sequence '\*'
    content = filename.bytes().decode('unicode-escape')
  sphinx/tests/test_quickstart.py:221: DeprecationWarning: invalid escape sequence '\`'
    content = filename.bytes().decode('unicode-escape')
2018-11-13 07:14:24 -08:00
Takeshi KOMIYA
a6298b7aaf Update CHANGES 2018-11-13 22:59:50 +09:00
Takeshi KOMIYA
58208232d9 Revert "qthelp: Fix URLs for project_files in Windows"
This reverts commit cb831bb703.
2018-11-13 22:59:21 +09:00
Takeshi KOMIYA
6b0e0fa3eb
Merge pull request #5613 from jdufresne/extras
Simplify tox configuration with 'extras' option
2018-11-13 22:41:17 +09:00
Takeshi KOMIYA
3abd705b35
Merge pull request #5626 from jdufresne/pycompat-u
Deprecate sphinx.util.pycompat.u
2018-11-13 22:38:16 +09:00
Takeshi KOMIYA
a0aee7a0f3
Merge pull request #5619 from tk0miya/5614_broken_incremental_build
Fix #5614: autodoc: incremental build is broken when builtin modules …
2018-11-13 22:30:37 +09:00
Takeshi KOMIYA
48e5b900ae
Merge pull request #5623 from jdufresne/comments
Remove commented out dead code in sphinx/testing/util.py
2018-11-13 21:52:05 +09:00
Takeshi KOMIYA
fddeab4c6d
Merge pull request #5624 from jdufresne/fix-ignore
Correct type annotation to remove 'type: ignore' comment
2018-11-13 21:50:08 +09:00
Takeshi KOMIYA
2f5b79b943
Merge pull request #5625 from jdufresne/unused
Remove dead code `or '.'`
2018-11-13 21:49:45 +09:00
Jon Dufresne
6fbf4a2f99 Deprecate sphinx.util.pycompat.u
It is now simply a constant equal to the empty string. Provides no
further utility.
2018-11-12 16:31:27 -08:00
Jon Dufresne
0137b0287a Remove dead code or '.'
The expression `os.path.dirname(__file__)` always evaluates as a truthy
value. The `or '.'` is never evaluated.
2018-11-12 14:31:29 -08:00
Jon Dufresne
1c9c9df68d Correct type annotation to remove 'type: ignore' comment 2018-11-12 13:26:21 -08:00
Jon Dufresne
88de460c43 Remove commented out dead code in sphinx/testing/util.py
Commented since d47a7587f9 (Sep 21, 2014).
2018-11-12 12:45:24 -08:00
Jon Dufresne
fc5aedd378 Simplify tox configuration with 'extras' option
https://tox.readthedocs.io/en/latest/config.html#conf-extras

> extras(MULTI-LINE-LIST)
>
> New in version 2.4.
>
> A list of “extras” to be installed with the sdist or develop install.
> For example, extras = testing is equivalent to [testing] in a pip
> install command.
2018-11-12 08:17:22 -08:00
Takeshi KOMIYA
33a60ee80e Fix #5614: autodoc: incremental build is broken when builtin modules are imported 2018-11-13 01:05:13 +09:00
Takeshi KOMIYA
97e2a547fa
Merge pull request #5609 from tk0miya/test_filterwarnings
test: Filter warnings on testing
2018-11-12 23:21:06 +09:00
Takeshi KOMIYA
b6fb808317
Merge pull request #5481 from jdufresne/binary-type
Remove use of six.binary_type; use bytes instead
2018-11-12 22:44:59 +09:00
Jon Dufresne
27a6787d63 Remove use of six.binary_type
Remove type checks for cases that don't apply to Python 3.

For remaining uses, use bytes instead
2018-11-11 19:09:47 -08:00
Takeshi KOMIYA
7ff3d1875a
Merge pull request #5612 from tk0miya/removal_six
Remove use six.move module
2018-11-12 11:13:58 +09:00
Takeshi KOMIYA
6d8dc3639d
Merge pull request #5615 from jdufresne/six-u
Remove use of six.u
2018-11-12 11:11:15 +09:00
Takeshi KOMIYA
e89b1d342e
Merge pull request #5617 from jdufresne/super
Use super() to call parent class's method
2018-11-12 11:03:42 +09:00
Jon Dufresne
710ca3d7c3 Use super() to call parent class's method 2018-11-11 13:07:12 -08:00
Jon Dufresne
6ada18b9a8 Remove use of six.u 2018-11-11 12:24:44 -08:00