Сфинкс не удаляет флаги doctest в выводе html
Я не могу устранить флаги doctest (т.е. <BLANKLINE>
, # doctest: +ELLIPSIS
) для вывода html. Я могу генерировать документацию так, как мне хотелось бы, поэтому ошибок там нет, но она включает в себя эти флаги, которые я бы хотел удалить. Документация Sphinx здесь утверждает, что это возможно, поэтому я, должно быть, делаю что-то не так. Мои примеры документации выполнены в стиле numpy, и я попытался использовать расширения как napoleon, так и numpydoc.
Вот шаги, которые я предпринял.
- бежать
sphinx-quickstart
(Благоприятнаяautodoc
а такжеdoctest
расширения) - бежать
sphinx-apidoc
генерировать.rst файлы - бежать
make doctest
(все тесты проходят) - бежать
make html
Я пробовал настройку trim_doctest_flags
а также doctest_test_doctest_blocks
переменные в conf.py
без успеха.
Есть ли что-то, что мне не хватает, чтобы вызвать sphinx, чтобы удалить их для HTML-документов? Я надеюсь, что этой информации достаточно, чтобы указать правильное направление, так как документы выглядят хорошо, за исключением этой проблемы. Тем не менее, я могу предоставить более подробную информацию или пример, если это необходимо.
Обновление: пример MCV (с использованием Sphinx 1.8.2)
структура каталогов и файлов
.
├── trial
│ ├── __init__.py
│ └── trial.py
└── trialDocs
├── build
├── Makefile
└── source
├── _static
├── _templates
├── conf.py
├── index.rst
├── modules.rst
└── trial.rst
conf.py
# -*- coding: utf-8 -*-
#
# Configuration file for the Sphinx documentation builder.
import os
import sys
sys.path.insert(0, os.path.abspath('../../trial'))
project = 'trial'
copyright = '2019, trial'
author = 'trial'
version = ''
release = 'trial'
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.doctest',
'sphinx.ext.napoleon',
]
templates_path = ['_templates']
source_suffix = '.rst'
master_doc = 'index'
language = None
exclude_patterns = []
pygments_style = None
html_theme = 'alabaster'
htmlhelp_basename = 'trialdoc'
latex_elements = {}
latex_documents = [(master_doc, 'trial.tex', 'trial Documentation', 'trial', 'manual'),]
man_pages = [(master_doc, 'trial', 'trial Documentation', [author], 1)]
texinfo_documents = [(master_doc, 'trial', 'trial Documentation', author, 'trial', 'One line description of project.', 'Miscellaneous'),]
epub_title = project
epub_exclude_files = ['search.html']
doctest_global_setup = """
from trial import *
"""
trim_doctest_flags=True
trial.rst - это было сгенерировано с помощью sphinx-apidoc
trial package
=============
Module contents
---------------
.. automodule:: trial
:members:
:undoc-members:
:show-inheritance:
trial.py
def withBlankline():
"""
Use blanklines in example.
Determine if sphinx will eliminate <BLANKLINE> for html.
Examples
--------
>>> withBlankline()
<BLANKLINE>
blanklines above and below
<BLANKLINE>
"""
print()
print('blanklines above and below')
print()
class Example():
def __init__(self):
pass
def withEllipsis(self):
"""
Use ellipsis in example.
Determine if sphinx will eliminate # doctest: +ELLIPSIS for html.
Examples
--------
>>> e = Example()
>>> e.withEllipsis() # doctest: +ELLIPSIS
abc...xyz
"""
print('abcdefghijklmnopqrstuvwxyz')
с помощью make html
или же sphinx-build -b html source build
выходной файл trial.html:
0 ответов
Судя по комментарию @mzjn, похоже, что это была ошибка, исправленная в Sphinx 2.2.0:
Проблема: комментарии doctest не обрезаются, начиная с Sphinx 1.8.0 - Проблема № 6545