Настройки Sphinx#

Подавить все warnings подсветки#

suppress_warnings = [
    'misc.highlighting_failure',
    'myst.xref_missing',
]

Настройка для лучшей работы с якорями#

myst_enable_extensions = [
    "colon_fence",
    "deflist",
    "html_image",
    "linkify",
    "replacements",
    "smartquotes",
]

Включить автоматическую генерацию якорей для заголовков#

myst_heading_anchors = 3  # Создавать якоря для заголовков до 3 уровня

Вставить оглавление прямо в документ#

# Заголовок документа
```{contents}
:depth: 3
:local:
```

Текст документа...

Или в начале файла:#

# Django

**Содержание:**
```{toctree}
:maxdepth: 2
```

## Установка
## Настройка
## Использование

Глобальная настройка оглавления для всех страниц#

# conf.py
# Автоматически добавлять оглавление на каждую страницу
rst_prolog = """
.. contents:: Содержание
   :depth: 2
   :local:
"""

Для Markdown (через MyST):

myst_enable_extensions = [
    "colon_fence",
    "deflist",
]

# Добавить оглавление автоматически
def setup(app):
    app.connect('source-read', add_toc_to_md)

def add_toc_to_md(app, docname, source):
    if source[0].endswith('.md'):
        toc = "\n```{contents}\n:depth: 2\n:local:\n```\n\n"
        source[0] = toc + source[0]

Добавление pdf-файла#

  ```{eval-rst}
   .. raw:: html
   <iframe src="../_static/pdf/emmet-cheatsheet.pdf" width="100%" height="800px"></iframe>
```

или

<iframe src="../_static/emmet-cheatsheet.pdf" width="100%" height="800px" style="border: none;"></iframe>
<embed src="../_static/emmet-cheatsheet.pdf" type="application/pdf" width="100%" height="800px" />

В теме sphinx_book_theme#

  • убрать кнопки Next…

html_theme = 'sphinx_book_theme'

html_theme_options = {
    "show_prev_next": False,  # Убрать кнопки Previous/Next
}
  • Добавить footer

html_theme_options = {
    "show_prev_next": False,
    
    # Добавить footer
    "extra_footer": """
        <div style="text-align: center; padding: 20px;">
            <p>© 2025 SSV. Все права защищены.</p>
            <p><a href="mailto:email@example.com">Связаться с нами</a></p>
        </div>
    """,
}