I am trying to generate a document for Confluence. The source data is an RST document containing LaTeX formulas, which sometimes include Cyrillic characters.
Here is my conf.py configuration file:
extensions = [
'sphinxcontrib.confluencebuilder',
]
confluence_publish = True
confluence_space_key = 'user_space'
confluence_server_url = 'https://confluence.com'
confluence_page_hierarchy = True
confluence_page_generation_notice = True
confluence_prev_next_buttons_location = 'top'
confluence_server_user = 'login'
confluence_server_pass = 'password'
source_encoding = 'utf-8'
Platform: linux; (Linux-5.15.153.1-microsoft-standard-WSL2-x86_64-with-glibc2.29)
Extensions:
- sphinx.ext.mathjax (7.1.2)
- alabaster (0.7.13)
- sphinxcontrib.applehelp (1.0.4)
- sphinxcontrib.devhelp (1.0.2)
- sphinxcontrib.htmlhelp (2.0.1)
- sphinxcontrib.serializinghtml (1.1.5)
- sphinxcontrib.qthelp (1.0.3)
- sphinxcontrib.confluencebuilder (2.5.2)
When I run the build command
sphinx-build -b confluence path/to/rst tmp/path
I encounter the following traceback:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/sphinx/cmd/build.py", line 290, in build_main
app.build(args.force_all, args.filenames)
File "/usr/local/lib/python3.8/dist-packages/sphinx/application.py", line 351, in build
self.builder.build_update()
File "/usr/local/lib/python3.8/dist-packages/sphinx/builders/__init__.py", line 290, in build_update
self.build(to_build,
File "/usr/local/lib/python3.8/dist-packages/sphinx/builders/__init__.py", line 360, in build
self.write(docnames, list(updated_docnames), method)
File "/usr/local/lib/python3.8/dist-packages/sphinx/builders/__init__.py", line 556, in write
self.prepare_writing(docnames)
File "/usr/local/lib/python3.8/dist-packages/sphinxcontrib/confluencebuilder/builder.py", line 317, in prepare_writing
self._prepare_doctree_writing(docname, doctree)
File "/usr/local/lib/python3.8/dist-packages/sphinxcontrib/confluencebuilder/builder.py", line 399, in _prepare_doctree_writing
doctree_transmute(self, doctree)
File "/usr/local/lib/python3.8/dist-packages/sphinxcontrib/confluencebuilder/transmute/__init__.py", line 90, in doctree_transmute
prepare_math_images(builder, doctree)
File "/usr/local/lib/python3.8/dist-packages/sphinxcontrib/confluencebuilder/transmute/__init__.py", line 132, in prepare_math_images
mf, depth = imgmath.render_math(mock_translator, node.astext())
File "/usr/local/lib/python3.8/dist-packages/sphinx/ext/imgmath.py", line 259, in render_math
dvipath = compile_math(latex, self.builder)
File "/usr/local/lib/python3.8/dist-packages/sphinx/ext/imgmath.py", line 143, in compile_math
subprocess.run(command, capture_output=True, cwd=tempdir, check=True,
File "/usr/lib/python3.8/subprocess.py", line 495, in run
stdout, stderr = process.communicate(input, timeout=timeout)
File "/usr/lib/python3.8/subprocess.py", line 1028, in communicate
stdout, stderr = self._communicate(input, endtime, timeout)
File "/usr/lib/python3.8/subprocess.py", line 1906, in _communicate
stdout = self._translate_newlines(stdout,
File "/usr/lib/python3.8/subprocess.py", line 905, in _translate_newlines
data = data.decode(encoding, errors)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 1403: ordinal not in range(128)
What can I do to resolve the 'ascii' codec can't decode error in my Sphinx build process when generating a Confluence document from an RST file containing LaTeX formulas with Cyrillic characters?
ascii
seems to be hardcoded encoding at github.com/sphinx-doc/sphinx/blob/master/sphinx/ext/…