diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 7b1598129..adcbd20e8 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -26,10 +26,10 @@ jobs: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - - name: Set up Python 3.11 + - name: Set up Python 3.13 uses: actions/setup-python@v5 with: - python-version: 3.11 + python-version: 3.13 - uses: actions/cache@v4 with: path: ~/.cache/pip diff --git a/doc/_themes/pretix_theme/layout.html b/doc/_themes/pretix_theme/layout.html index b0fa5c142..bca924e3b 100644 --- a/doc/_themes/pretix_theme/layout.html +++ b/doc/_themes/pretix_theme/layout.html @@ -6,10 +6,14 @@ {%- else %} {%- set titlesuffix = "" %} {%- endif %} +{%- set lang_attr = 'en' if language == None else (language | replace('_', '-')) %} + +{# Build sphinx_version_info tuple from sphinx_version string in pure Jinja #} +{%- set (_ver_major, _ver_minor) = (sphinx_version.split('.') | list)[:2] | map('int') -%} +{%- set sphinx_version_info = (_ver_major, _ver_minor, -1) -%} - - += (7, 2) %} data-content_root="{{ content_root }}"{% endif %}> {{ metatags }} @@ -18,59 +22,50 @@ {{ title|striptags|e }}{{ titlesuffix }} {% endblock %} - - {#- CSS #} - {%- for css in css_files %} - {%- if css|attr("rel") %} - + {#- CSS #} + {%- for css_file in css_files %} + {%- if css_file|attr("filename") %} + {{ css_tag(css_file) }} {%- else %} - + {%- endif %} - {%- endfor %} + {%- endfor %} - {%- for cssfile in extra_css_files %} - - {%- endfor -%} + {#- FAVICON #} + {%- if favicon_url %} + + {%- endif %} - {#- FAVICON - favicon_url is the only context var necessary since Sphinx 4. - In Sphinx<4, we use favicon but need to prepend path info. - #} - {%- set _favicon_url = favicon_url | default(pathto('_static/' + (favicon or ""), 1)) %} - {%- if favicon_url or favicon %} - - {%- endif %} - - {#- CANONICAL URL (deprecated) #} - {%- if theme_canonical_url and not pageurl %} + {#- CANONICAL URL (deprecated) #} + {%- if theme_canonical_url and not pageurl %} - {%- endif -%} + {%- endif -%} - {#- CANONICAL URL #} - {%- if pageurl %} + {#- CANONICAL URL #} + {%- if pageurl %} - {%- endif -%} + {%- endif -%} - {#- JAVASCRIPTS #} - {%- block scripts %} - - {%- if not embedded %} - {# XXX Sphinx 1.8.0 made this an external js-file, quick fix until we refactor the template to inherert more blocks directly from sphinx #} - {%- for scriptfile in script_files %} - {{ js_tag(scriptfile) }} - {%- endfor %} + {#- JAVASCRIPTS #} + {%- block scripts %} + {%- if not embedded %} + {%- for scriptfile in script_files %} + {{ js_tag(scriptfile) }} + {%- endfor %} + {%- if READTHEDOCS or DEBUG %} + + {%- endif %} + {#- OPENSEARCH #} {%- if use_opensearch %} {%- endif %} - {%- endif %} - {%- endblock %} + {%- endif %} + {%- endblock %} {%- block linktags %} {%- if hasdoc('about') %} @@ -123,23 +118,23 @@ {% endblock %} - + {%- endblock %} {% if theme_display_version %} {%- set nav_version = version %} @@ -158,53 +153,42 @@
{# MOBILE NAV, TRIGGLES SIDE NAV ON TOGGLE #} - + - - {# PAGE CONTENT #} -
-
- {% include "breadcrumbs.html" %} -
-
- {% block body %}{% endblock %} -
-
- {% block comments %}{% endblock %} -
-
- {% include "footer.html" %} +
+ {%- block content %} + {%- if theme_style_external_links|tobool %} + -
-
{% include "versions.html" %} - {% if not embedded %} - - - {%- for scriptfile in script_files %} - - {%- endfor %} - - {% endif %} - {# RTD hosts this file, so just load on non RTD builds #} {% if not READTHEDOCS %} @@ -214,7 +198,7 @@ {% if theme_sticky_navigation %} {% endif %} diff --git a/doc/_themes/pretix_theme/layout_old.html b/doc/_themes/pretix_theme/layout_old.html index 9f2d1999b..4d14790db 100644 --- a/doc/_themes/pretix_theme/layout_old.html +++ b/doc/_themes/pretix_theme/layout_old.html @@ -1,136 +1,86 @@ -{# - basic/layout.html - ~~~~~~~~~~~~~~~~~ - - Master layout template for Sphinx themes. - - :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS. - :license: BSD, see LICENSE for details. -#} -{%- block doctype -%} - -{%- endblock %} -{%- set reldelim1 = reldelim1 is not defined and ' »' or reldelim1 %} -{%- set reldelim2 = reldelim2 is not defined and ' |' or reldelim2 %} -{%- set render_sidebar = (not embedded) and (not theme_nosidebar|tobool) and - (sidebars != []) %} +{# TEMPLATE VAR SETTINGS #} {%- set url_root = pathto('', 1) %} -{# XXX necessary? #} {%- if url_root == '#' %}{% set url_root = '' %}{% endif %} {%- if not embedded and docstitle %} {%- set titlesuffix = " — "|safe + docstitle|e %} {%- else %} {%- set titlesuffix = "" %} {%- endif %} +{%- set lang_attr = 'en' if language == None else (language | replace('_', '-')) %} -{%- macro relbar() %} - -{%- endmacro %} +{# Build sphinx_version_info tuple from sphinx_version string in pure Jinja #} +{%- set (_ver_major, _ver_minor) = (sphinx_version.split('.') | list)[:2] | map('int') -%} +{%- set sphinx_version_info = (_ver_major, _ver_minor, -1) -%} -{%- macro sidebar() %} - {%- if render_sidebar %} -
-
- {%- block sidebarlogo %} - {%- if logo %} - - {%- endif %} - {%- endblock %} - {%- if sidebars != None %} - {#- new style sidebar: explicitly include/exclude templates #} - {%- for sidebartemplate in sidebars %} - {%- include sidebartemplate %} - {%- endfor %} - {%- else %} - {#- old style sidebars: using blocks -- should be deprecated #} - {%- block sidebartoc %} - {%- include "localtoc.html" %} - {%- endblock %} - {%- block sidebarrel %} - {%- include "relations.html" %} - {%- endblock %} - {%- block sidebarsourcelink %} - {%- include "sourcelink.html" %} - {%- endblock %} - {%- if customsidebar %} - {%- include customsidebar %} - {%- endif %} - {%- block sidebarsearch %} - {%- include "searchbox.html" %} - {%- endblock %} - {%- endif %} -
-
- {%- endif %} -{%- endmacro %} + += (7, 2) %} data-content_root="{{ content_root }}"{% endif %}> + + + {%- if READTHEDOCS and not embedded %} + + {%- endif %} + {{- metatags }} + + {%- block htmltitle %} + {{ title|striptags|e }}{{ titlesuffix }} + {%- endblock -%} -{%- macro script() %} - + {#- CSS #} + {%- for css_file in css_files %} + {%- if css_file|attr("filename") %} + {{ css_tag(css_file) }} + {%- else %} + + {%- endif %} + {%- endfor %} + + {# + "extra_css_files" is an undocumented Read the Docs theme specific option. + There is no need to check for ``|attr("filename")`` here because it's always a string. + Note that this option should be removed in favor of regular ``html_css_files``: + https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-html_css_files + #} + {%- for css_file in extra_css_files %} + + {%- endfor -%} + + {#- FAVICON #} + {%- if favicon_url %} + + {%- endif %} + + {#- CANONICAL URL (deprecated) #} + {%- if theme_canonical_url and not pageurl %} + + {%- endif -%} + + {#- CANONICAL URL #} + {%- if pageurl %} + + {%- endif -%} + + {#- JAVASCRIPTS #} + {%- block scripts %} + {%- if not embedded %} {%- for scriptfile in script_files %} - + {{ js_tag(scriptfile) }} {%- endfor %} -{%- endmacro %} + -{%- macro css() %} - - - {%- for cssfile in css_files %} - - {%- endfor %} -{%- endmacro %} + {%- if READTHEDOCS or DEBUG %} + + {%- endif %} - - - - {{ metatags }} - {%- block htmltitle %} - {{ title|striptags|e }}{{ titlesuffix }} - {%- endblock %} - {{ css() }} - {%- if not embedded %} - {{ script() }} + {#- OPENSEARCH #} {%- if use_opensearch %} {%- endif %} - {%- if favicon %} - - {%- endif %} - {%- if theme_canonical_url %} - - {%- endif %} - {%- endif %} -{%- block linktags %} + {%- endif %} + {%- endblock %} + + {%- block linktags %} {%- if hasdoc('about') %} {%- endif %} @@ -143,67 +93,135 @@ {%- if hasdoc('copyright') %} {%- endif %} - - {%- if parents %} - - {%- endif %} {%- if next %} {%- endif %} {%- if prev %} {%- endif %} -{%- endblock %} -{%- block extrahead %} {% endblock %} - - -{%- block header %}{% endblock %} - -{%- block relbar1 %}{{ relbar() }}{% endblock %} - -{%- block content %} - {%- block sidebar1 %} {# possible location for sidebar #} {% endblock %} - -
- {%- block document %} -
- {%- if render_sidebar %} -
- {%- endif %} -
- {% block body %} {% endblock %} -
- {%- if render_sidebar %} -
- {%- endif %} -
{%- endblock %} + {%- block extrahead %} {% endblock %} + - {%- block sidebar2 %}{{ sidebar() }}{% endblock %} -
-
-{%- endblock %} + -{%- block relbar2 %}{{ relbar() }}{% endblock %} + {%- block extrabody %} {% endblock %} +
+ {#- SIDE NAV, TOGGLES ON MOBILE #} + + +
+ + {#- MOBILE NAV, TRIGGLES SIDE NAV ON TOGGLE #} + {#- Translators: This is an ARIA section label for the navigation menu that is visible when viewing the page on mobile devices -#} + + +
+ {%- block content %} + {%- if theme_style_external_links|tobool %} + +
+
+ {% include "versions.html" -%} + + + + {#- Do not conflict with RTD insertion of analytics script #} + {%- if not READTHEDOCS %} + {%- if theme_analytics_id %} + + + -{%- block footer %} - -

asdf asdf asdf asdf 22

-{%- endblock %} - - + {%- endif %} + {%- block footer %} {% endblock %} + + + \ No newline at end of file diff --git a/doc/api/deviceauth.rst b/doc/api/deviceauth.rst index 99d9006b9..acf3d22a8 100644 --- a/doc/api/deviceauth.rst +++ b/doc/api/deviceauth.rst @@ -39,7 +39,7 @@ as well as the type of underlying hardware. Example: "rsa_pubkey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqh…nswIDAQAB\n-----END PUBLIC KEY-----\n" } -The ``rsa_pubkey`` is optional any only required for certain fatures such as working with reusable +The ``rsa_pubkey`` is optional any only required for certain features such as working with reusable media and NFC cryptography. Every initialization token can only be used once. On success, you will receive a response containing diff --git a/doc/api/resources/item_program_times.rst b/doc/api/resources/item_program_times.rst index eedf3be0a..db8a6d336 100644 --- a/doc/api/resources/item_program_times.rst +++ b/doc/api/resources/item_program_times.rst @@ -46,28 +46,28 @@ Endpoints Vary: Accept Content-Type: application/json - { - "count": 3, - "next": null, - "previous": null, - "results": [ - { - "id": 2, - "start": "2025-08-14T22:00:00Z", - "end": "2025-08-15T00:00:00Z" - }, - { - "id": 3, - "start": "2025-08-12T22:00:00Z", - "end": "2025-08-13T22:00:00Z" - }, - { - "id": 14, - "start": "2025-08-15T22:00:00Z", - "end": "2025-08-17T22:00:00Z" - } - ] - } + { + "count": 3, + "next": null, + "previous": null, + "results": [ + { + "id": 2, + "start": "2025-08-14T22:00:00Z", + "end": "2025-08-15T00:00:00Z" + }, + { + "id": 3, + "start": "2025-08-12T22:00:00Z", + "end": "2025-08-13T22:00:00Z" + }, + { + "id": 14, + "start": "2025-08-15T22:00:00Z", + "end": "2025-08-17T22:00:00Z" + } + ] + } :param organizer: The ``slug`` field of the organizer to fetch :param event: The ``slug`` field of the event to fetch diff --git a/doc/requirements.rtd.txt b/doc/requirements.rtd.txt index ca98fe9ab..2905c9d09 100644 --- a/doc/requirements.rtd.txt +++ b/doc/requirements.rtd.txt @@ -1,9 +1,8 @@ -sphinx==7.4.* -jinja2==3.1.* -sphinx-rtd-theme -sphinxcontrib-httpdomain -sphinxcontrib-images -sphinxcontrib-jquery -sphinxcontrib-spelling==8.* -sphinxemoji +sphinx==9.1.* +sphinx-rtd-theme~=3.1.0rc1 +sphinxcontrib-httpdomain~=1.8.1 +sphinxcontrib-images~=1.0.1 +sphinxcontrib-jquery~=4.1 +sphinxcontrib-spelling~=8.0.2 +sphinxemoji~=0.3.2 pyenchant==3.3.* diff --git a/doc/requirements.txt b/doc/requirements.txt index 5de0c0984..249eed05b 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -1,10 +1,9 @@ -e ../ -sphinx==7.4.* -jinja2==3.1.* -sphinx-rtd-theme -sphinxcontrib-httpdomain -sphinxcontrib-images -sphinxcontrib-jquery -sphinxcontrib-spelling==8.* -sphinxemoji +sphinx==9.1.* +sphinx-rtd-theme~=3.1.0rc1 +sphinxcontrib-httpdomain~=1.8.1 +sphinxcontrib-images~=1.0.1 +sphinxcontrib-jquery~=4.1 +sphinxcontrib-spelling~=8.0.2 +sphinxemoji~=0.3.2 pyenchant==3.3.*