Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-sphinx-inline-tabs for
openSUSE:Factory checked in at 2026-01-07 16:02:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-sphinx-inline-tabs (Old)
and /work/SRC/openSUSE:Factory/.python-sphinx-inline-tabs.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-sphinx-inline-tabs"
Wed Jan 7 16:02:06 2026 rev:4 rq:1325686 version:2025.12.21.14
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-sphinx-inline-tabs/python-sphinx-inline-tabs.changes
2023-05-15 16:54:40.224288987 +0200
+++
/work/SRC/openSUSE:Factory/.python-sphinx-inline-tabs.new.1928/python-sphinx-inline-tabs.changes
2026-01-07 16:02:47.914573158 +0100
@@ -1,0 +2,8 @@
+Mon Jan 5 13:41:40 UTC 2026 - Markéta Machová <[email protected]>
+
+- Update to 2025.12.21.14:
+ * Docutils 0.22 compatibility
+ * Modernise project metadata
+ * Add basic tests for HTML markup
+
+-------------------------------------------------------------------
Old:
----
sphinx_inline_tabs-2023.4.21.tar.gz
New:
----
sphinx_inline_tabs-2025.12.21.14.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-sphinx-inline-tabs.spec ++++++
--- /var/tmp/diff_new_pack.lUBUdU/_old 2026-01-07 16:02:48.662604292 +0100
+++ /var/tmp/diff_new_pack.lUBUdU/_new 2026-01-07 16:02:48.666604458 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-sphinx-inline-tabs
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,10 +16,8 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%global skip_python2 1
Name: python-sphinx-inline-tabs
-Version: 2023.4.21
+Version: 2025.12.21.14
Release: 0
Summary: Add inline tabbed content to your Sphinx documentation
License: MIT
@@ -40,7 +38,7 @@
Add inline tabbed content to your Sphinx documentation.
%prep
-%setup -q -n sphinx_inline_tabs-%{version}
+%autosetup -p1 -n sphinx_inline_tabs-%{version}
%build
%pyproject_wheel
@@ -49,6 +47,10 @@
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
+%check
+# there are tests, but they test older Sphinx and older docutils than we have
+# https://github.com/pradyunsg/sphinx-inline-tabs/issues/55
+
%files %{python_files}
%doc README.md
%license LICENSE
++++++ sphinx_inline_tabs-2023.4.21.tar.gz ->
sphinx_inline_tabs-2025.12.21.14.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sphinx_inline_tabs-2023.4.21/.pre-commit-config.yaml
new/sphinx_inline_tabs-2025.12.21.14/.pre-commit-config.yaml
--- old/sphinx_inline_tabs-2023.4.21/.pre-commit-config.yaml 2023-03-29
00:48:54.163109300 +0200
+++ new/sphinx_inline_tabs-2025.12.21.14/.pre-commit-config.yaml
2025-12-21 14:28:48.888907200 +0100
@@ -1,6 +1,6 @@
repos:
- repo: https://github.com/psf/black
- rev: 23.1.0
+ rev: 23.7.0
hooks:
- id: black
@@ -10,7 +10,7 @@
- id: isort
- repo: https://github.com/PyCQA/flake8
- rev: 6.0.0
+ rev: 6.1.0
hooks:
- id: flake8
@@ -31,14 +31,15 @@
rev: 6.3.0
hooks:
- id: pydocstyle
- exclude: noxfile\.py|docs/conf\.py
+ exclude: noxfile\.py|docs/conf\.py|tests/docsets/.+
- repo: https://github.com/asottile/blacken-docs
- rev: 1.13.0
+ rev: 1.15.0
hooks:
- id: blacken-docs
- repo: https://github.com/pre-commit/mirrors-prettier
- rev: v3.0.0-alpha.6
+ rev: v3.0.1
hooks:
- id: prettier
+ exclude: tests/test_.+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sphinx_inline_tabs-2023.4.21/.readthedocs.yml
new/sphinx_inline_tabs-2025.12.21.14/.readthedocs.yml
--- old/sphinx_inline_tabs-2023.4.21/.readthedocs.yml 2021-08-17
10:19:55.068378000 +0200
+++ new/sphinx_inline_tabs-2025.12.21.14/.readthedocs.yml 2025-12-21
14:28:48.889382100 +0100
@@ -1,14 +1,15 @@
version: 2
build:
- image: latest
+ os: ubuntu-24.04
+ tools:
+ python: "3.8"
formats: [pdf]
sphinx:
configuration: docs/conf.py
python:
- version: 3.8
install:
- method: pip
path: .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sphinx_inline_tabs-2023.4.21/PKG-INFO
new/sphinx_inline_tabs-2025.12.21.14/PKG-INFO
--- old/sphinx_inline_tabs-2023.4.21/PKG-INFO 1970-01-01 01:00:00.000000000
+0100
+++ new/sphinx_inline_tabs-2025.12.21.14/PKG-INFO 1970-01-01
01:00:00.000000000 +0100
@@ -1,18 +1,20 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
Name: sphinx_inline_tabs
-Version: 2023.4.21
+Version: 2025.12.21.14
Summary: Add inline tabbed content to your Sphinx documentation.
-Home-page: https://github.com/pradyunsg/sphinx-inline-tabs
-Author: Pradyun Gedam
-Author-email: [email protected]
+Author-email: Pradyun Gedam <[email protected]>
Requires-Python: >=3.8
Description-Content-Type: text/markdown
-Requires-Dist: sphinx >= 3
+License-Expression: MIT
+License-File: LICENSE
+Requires-Dist: sphinx>=3
Requires-Dist: myst-parser ; extra == "doc"
Requires-Dist: furo ; extra == "doc"
Requires-Dist: pytest ; extra == "test"
Requires-Dist: pytest-cov ; extra == "test"
Requires-Dist: pytest-xdist ; extra == "test"
+Project-URL: Documentation, https://sphinx-inline-tabs.readthedocs.io
+Project-URL: Homepage, https://github.com/pradyunsg/sphinx-inline-tabs
Provides-Extra: doc
Provides-Extra: test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sphinx_inline_tabs-2023.4.21/pyproject.toml
new/sphinx_inline_tabs-2025.12.21.14/pyproject.toml
--- old/sphinx_inline_tabs-2023.4.21/pyproject.toml 2021-08-17
10:19:55.069514300 +0200
+++ new/sphinx_inline_tabs-2025.12.21.14/pyproject.toml 2025-12-21
14:28:48.889827300 +0100
@@ -1,20 +1,25 @@
[build-system]
-requires = ["flit_core >=2,<4"]
+requires = ["flit_core>=3.11,<4"]
build-backend = "flit_core.buildapi"
-[tool.flit.metadata]
-module = "sphinx_inline_tabs"
-author = "Pradyun Gedam"
-author-email = "[email protected]"
-home-page = "https://github.com/pradyunsg/sphinx-inline-tabs"
-description-file = "README.md"
+[project]
+name = "sphinx_inline_tabs"
+license = "MIT"
+license-files = ["LICENSE"]
+readme = "README.md"
+authors = [{name = "Pradyun Gedam", email = "[email protected]"}]
requires-python = ">=3.8"
-requires = ["sphinx >= 3"]
+dependencies = ["sphinx>=3"]
+dynamic = ["version", "description"]
-[tool.flit.metadata.requires-extra]
+[project.optional-dependencies]
test = [
"pytest",
"pytest-cov",
"pytest-xdist",
]
doc = ["myst-parser", "furo"]
+
+[project.urls]
+Homepage = "https://github.com/pradyunsg/sphinx-inline-tabs"
+Documentation = "https://sphinx-inline-tabs.readthedocs.io"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx_inline_tabs-2023.4.21/src/sphinx_inline_tabs/__init__.py
new/sphinx_inline_tabs-2025.12.21.14/src/sphinx_inline_tabs/__init__.py
--- old/sphinx_inline_tabs-2023.4.21/src/sphinx_inline_tabs/__init__.py
2023-04-21 22:25:10.071886800 +0200
+++ new/sphinx_inline_tabs-2025.12.21.14/src/sphinx_inline_tabs/__init__.py
2025-12-21 14:30:25.915319000 +0100
@@ -2,21 +2,24 @@
import os
-__version__ = "2023.04.21"
+from sphinx.application import Sphinx
+
+__version__ = "2025.12.21.14"
__all__ = ["setup"]
-def setup(app):
+def setup(app: Sphinx):
"""Entry point for sphinx theming."""
app.require_sphinx("3.0")
# We do imports from Sphinx, after validating the Sphinx version
- from ._impl import TabDirective, TabHtmlTransform, _TabInput, _TabLabel
+ from ._impl import TabContainer, TabDirective, TabHtmlTransform, TabInput,
TabLabel
app.add_directive("tab", TabDirective)
app.add_post_transform(TabHtmlTransform)
- app.add_node(_TabInput, html=(_TabInput.visit, _TabInput.depart))
- app.add_node(_TabLabel, html=(_TabLabel.visit, _TabLabel.depart))
+ app.add_node(TabInput, html=(TabInput.visit, TabInput.depart))
+ app.add_node(TabLabel, html=(TabLabel.visit, TabLabel.depart))
+ app.add_node(TabContainer, xml=(lambda _, __: None, lambda _, __: None))
# Include our static assets
static_dir = os.path.join(os.path.dirname(__file__), "static")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx_inline_tabs-2023.4.21/src/sphinx_inline_tabs/_impl.py
new/sphinx_inline_tabs-2025.12.21.14/src/sphinx_inline_tabs/_impl.py
--- old/sphinx_inline_tabs-2023.4.21/src/sphinx_inline_tabs/_impl.py
2023-03-29 00:47:44.824484600 +0200
+++ new/sphinx_inline_tabs-2025.12.21.14/src/sphinx_inline_tabs/_impl.py
2025-12-21 14:28:48.890517000 +0100
@@ -23,25 +23,33 @@
attributes.pop("classes")
attributes.pop("names")
attributes.pop("dupnames")
- attributes.pop("backrefs")
+ attributes.pop("backrefs", None)
+
+ if node._endtag:
+ text = translator.starttag(node, node._tagname, **attributes)
+ else:
+ text = translator.emptytag(node, node._tagname, **attributes)
- text = translator.starttag(node, node.tagname, **attributes)
translator.body.append(text.strip())
@staticmethod
def depart(translator, node):
- if node.endtag:
- translator.body.append(f"</{node.tagname}>")
+ if node._endtag:
+ translator.body.append(f"</{node._tagname}>")
+
+
+class TabInput(_GeneralHTMLTagElement):
+ """Represents a radio button for a tab."""
+ _tagname = "input"
+ _endtag = False
-class _TabInput(_GeneralHTMLTagElement):
- tagname = "input"
- endtag = False
+class TabLabel(_GeneralHTMLTagElement):
+ """Represents a label that holds the title for a tab."""
-class _TabLabel(_GeneralHTMLTagElement):
- tagname = "label"
- endtag = True
+ _tagname = "label"
+ _endtag = True
class TabDirective(SphinxDirective):
@@ -162,12 +170,12 @@
title, content = node.children
# <input>, for storing state in radio boxes.
- input_node = _TabInput(
+ input_node = TabInput(
type="radio", ids=[tab_id], name=tab_set_name,
classes=["tab-input"]
)
# <label>
- label_node = _TabLabel(
+ label_node = TabLabel(
"", *title.children, **{"for": tab_id}, classes=["tab-label"]
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sphinx_inline_tabs-2023.4.21/tests/conftest.py
new/sphinx_inline_tabs-2025.12.21.14/tests/conftest.py
--- old/sphinx_inline_tabs-2023.4.21/tests/conftest.py 1970-01-01
01:00:00.000000000 +0100
+++ new/sphinx_inline_tabs-2025.12.21.14/tests/conftest.py 2023-07-09
16:55:39.630362500 +0200
@@ -0,0 +1,3 @@
+"""Configuration for pytest."""
+
+pytest_plugins = "sphinx.testing.fixtures"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx_inline_tabs-2023.4.21/tests/docsets/basic/conf.py
new/sphinx_inline_tabs-2025.12.21.14/tests/docsets/basic/conf.py
--- old/sphinx_inline_tabs-2023.4.21/tests/docsets/basic/conf.py
1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx_inline_tabs-2025.12.21.14/tests/docsets/basic/conf.py
2023-07-09 15:56:55.432146800 +0200
@@ -0,0 +1,4 @@
+extensions = [
+ "myst_parser",
+ "sphinx_inline_tabs",
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx_inline_tabs-2023.4.21/tests/docsets/basic/index.rst
new/sphinx_inline_tabs-2025.12.21.14/tests/docsets/basic/index.rst
--- old/sphinx_inline_tabs-2023.4.21/tests/docsets/basic/index.rst
1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx_inline_tabs-2025.12.21.14/tests/docsets/basic/index.rst
2023-07-09 14:59:58.467199600 +0200
@@ -0,0 +1,6 @@
+Heading
+=======
+
+.. toctree::
+ markdown
+ restructuredtext
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx_inline_tabs-2023.4.21/tests/docsets/basic/markdown.md
new/sphinx_inline_tabs-2025.12.21.14/tests/docsets/basic/markdown.md
--- old/sphinx_inline_tabs-2023.4.21/tests/docsets/basic/markdown.md
1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx_inline_tabs-2025.12.21.14/tests/docsets/basic/markdown.md
2023-07-09 15:56:35.906697500 +0200
@@ -0,0 +1,9 @@
+# Markdown
+
+```{tab} Tab 1
+This is tab 1
+```
+
+```{tab} Tab 2
+This is tab 2
+```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx_inline_tabs-2023.4.21/tests/docsets/basic/restructuredtext.rst
new/sphinx_inline_tabs-2025.12.21.14/tests/docsets/basic/restructuredtext.rst
--- old/sphinx_inline_tabs-2023.4.21/tests/docsets/basic/restructuredtext.rst
1970-01-01 01:00:00.000000000 +0100
+++
new/sphinx_inline_tabs-2025.12.21.14/tests/docsets/basic/restructuredtext.rst
2023-07-09 15:56:38.669077900 +0200
@@ -0,0 +1,10 @@
+reStructuredText
+================
+
+.. tab:: Tab 1
+
+ This is tab 1
+
+.. tab:: Tab 2
+
+ This is tab 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx_inline_tabs-2023.4.21/tests/docsets/multiple/conf.py
new/sphinx_inline_tabs-2025.12.21.14/tests/docsets/multiple/conf.py
--- old/sphinx_inline_tabs-2023.4.21/tests/docsets/multiple/conf.py
1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx_inline_tabs-2025.12.21.14/tests/docsets/multiple/conf.py
2023-07-09 15:57:22.512615700 +0200
@@ -0,0 +1,4 @@
+extensions = [
+ "myst_parser",
+ "sphinx_inline_tabs",
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx_inline_tabs-2023.4.21/tests/docsets/multiple/index.rst
new/sphinx_inline_tabs-2025.12.21.14/tests/docsets/multiple/index.rst
--- old/sphinx_inline_tabs-2023.4.21/tests/docsets/multiple/index.rst
1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx_inline_tabs-2025.12.21.14/tests/docsets/multiple/index.rst
2023-07-09 15:57:22.513634000 +0200
@@ -0,0 +1,6 @@
+Heading
+=======
+
+.. toctree::
+ markdown
+ restructuredtext
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx_inline_tabs-2023.4.21/tests/docsets/multiple/markdown.md
new/sphinx_inline_tabs-2025.12.21.14/tests/docsets/multiple/markdown.md
--- old/sphinx_inline_tabs-2023.4.21/tests/docsets/multiple/markdown.md
1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx_inline_tabs-2025.12.21.14/tests/docsets/multiple/markdown.md
2023-07-09 15:57:49.191341000 +0200
@@ -0,0 +1,19 @@
+# Markdown
+
+```{tab} Tab 1
+This is tab 1
+```
+
+```{tab} Tab 2
+This is tab 2
+```
+
+This is some separator content.
+
+```{tab} Tab 1
+This is tab 1
+```
+
+```{tab} Tab 2
+This is tab 2
+```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx_inline_tabs-2023.4.21/tests/docsets/multiple/restructuredtext.rst
new/sphinx_inline_tabs-2025.12.21.14/tests/docsets/multiple/restructuredtext.rst
---
old/sphinx_inline_tabs-2023.4.21/tests/docsets/multiple/restructuredtext.rst
1970-01-01 01:00:00.000000000 +0100
+++
new/sphinx_inline_tabs-2025.12.21.14/tests/docsets/multiple/restructuredtext.rst
2023-07-09 15:58:00.334071900 +0200
@@ -0,0 +1,20 @@
+reStructuredText
+================
+
+.. tab:: Tab 1
+
+ This is tab 1
+
+.. tab:: Tab 2
+
+ This is tab 2
+
+This is some separator content.
+
+.. tab:: Tab 1
+
+ This is tab 1
+
+.. tab:: Tab 2
+
+ This is tab 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx_inline_tabs-2023.4.21/tests/test_markup/test_markup_basic_html_markdown_.html
new/sphinx_inline_tabs-2025.12.21.14/tests/test_markup/test_markup_basic_html_markdown_.html
---
old/sphinx_inline_tabs-2023.4.21/tests/test_markup/test_markup_basic_html_markdown_.html
1970-01-01 01:00:00.000000000 +0100
+++
new/sphinx_inline_tabs-2025.12.21.14/tests/test_markup/test_markup_basic_html_markdown_.html
2023-07-09 16:55:11.500547200 +0200
@@ -0,0 +1,30 @@
+<div class="body" role="main">
+ <section id="markdown">
+ <h1>
+ Markdown
+ <a class="headerlink" href="#markdown" title="Permalink to this heading">
+ ¶
+ </a>
+ </h1>
+ <div class="tab-set docutils">
+ <input checked="True" class="tab-input" id="tab-set--0-input--1"
name="tab-set--0" type="radio"/>
+ <label class="tab-label" for="tab-set--0-input--1">
+ Tab 1
+ </label>
+ <div class="tab-content docutils">
+ <p>
+ This is tab 1
+ </p>
+ </div>
+ <input class="tab-input" id="tab-set--0-input--2" name="tab-set--0"
type="radio"/>
+ <label class="tab-label" for="tab-set--0-input--2">
+ Tab 2
+ </label>
+ <div class="tab-content docutils">
+ <p>
+ This is tab 2
+ </p>
+ </div>
+ </div>
+ </section>
+</div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx_inline_tabs-2023.4.21/tests/test_markup/test_markup_basic_html_restructuredtext_.html
new/sphinx_inline_tabs-2025.12.21.14/tests/test_markup/test_markup_basic_html_restructuredtext_.html
---
old/sphinx_inline_tabs-2023.4.21/tests/test_markup/test_markup_basic_html_restructuredtext_.html
1970-01-01 01:00:00.000000000 +0100
+++
new/sphinx_inline_tabs-2025.12.21.14/tests/test_markup/test_markup_basic_html_restructuredtext_.html
2023-07-09 16:55:11.624540000 +0200
@@ -0,0 +1,30 @@
+<div class="body" role="main">
+ <section id="restructuredtext">
+ <h1>
+ reStructuredText
+ <a class="headerlink" href="#restructuredtext" title="Permalink to this
heading">
+ ¶
+ </a>
+ </h1>
+ <div class="tab-set docutils">
+ <input checked="True" class="tab-input" id="tab-set--0-input--1"
name="tab-set--0" type="radio"/>
+ <label class="tab-label" for="tab-set--0-input--1">
+ Tab 1
+ </label>
+ <div class="tab-content docutils">
+ <p>
+ This is tab 1
+ </p>
+ </div>
+ <input class="tab-input" id="tab-set--0-input--2" name="tab-set--0"
type="radio"/>
+ <label class="tab-label" for="tab-set--0-input--2">
+ Tab 2
+ </label>
+ <div class="tab-content docutils">
+ <p>
+ This is tab 2
+ </p>
+ </div>
+ </div>
+ </section>
+</div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx_inline_tabs-2023.4.21/tests/test_markup/test_markup_basic_xml_markdown_.xml
new/sphinx_inline_tabs-2025.12.21.14/tests/test_markup/test_markup_basic_xml_markdown_.xml
---
old/sphinx_inline_tabs-2023.4.21/tests/test_markup/test_markup_basic_xml_markdown_.xml
1970-01-01 01:00:00.000000000 +0100
+++
new/sphinx_inline_tabs-2025.12.21.14/tests/test_markup/test_markup_basic_xml_markdown_.xml
2023-07-09 17:06:37.487752400 +0200
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE document PUBLIC "+//IDN docutils.sourceforge.net//DTD Docutils
Generic//EN//XML" "http://docutils.sourceforge.net/docs/ref/docutils.dtd">
+<!-- Generated by Docutils 0.20.1 -->
+<document
source="/Users/pradyunsg/Developer/github/sphinx-inline-tabs/tests/docsets/basic/markdown.md"
xmlns:c="https://www.sphinx-doc.org/"
xmlns:changeset="https://www.sphinx-doc.org/"
xmlns:citation="https://www.sphinx-doc.org/"
xmlns:cpp="https://www.sphinx-doc.org/"
xmlns:index="https://www.sphinx-doc.org/"
xmlns:js="https://www.sphinx-doc.org/" xmlns:math="https://www.sphinx-doc.org/"
xmlns:py="https://www.sphinx-doc.org/" xmlns:rst="https://www.sphinx-doc.org/"
xmlns:std="https://www.sphinx-doc.org/">
+ <section ids="markdown" names="markdown">
+ <title>Markdown</title>
+ <label>Tab 1</label>
+ <container classes="tab-content" is_div="True">
+ <paragraph>This is tab 1</paragraph>
+ </container>
+ <label>Tab 2</label>
+ <container classes="tab-content" is_div="True">
+ <paragraph>This is tab 2</paragraph>
+ </container>
+ </section>
+</document>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx_inline_tabs-2023.4.21/tests/test_markup/test_markup_basic_xml_restructuredtext_.xml
new/sphinx_inline_tabs-2025.12.21.14/tests/test_markup/test_markup_basic_xml_restructuredtext_.xml
---
old/sphinx_inline_tabs-2023.4.21/tests/test_markup/test_markup_basic_xml_restructuredtext_.xml
1970-01-01 01:00:00.000000000 +0100
+++
new/sphinx_inline_tabs-2025.12.21.14/tests/test_markup/test_markup_basic_xml_restructuredtext_.xml
2023-07-09 17:06:22.347443800 +0200
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE document PUBLIC "+//IDN docutils.sourceforge.net//DTD Docutils
Generic//EN//XML" "http://docutils.sourceforge.net/docs/ref/docutils.dtd">
+<!-- Generated by Docutils 0.20.1 -->
+<document
source="/Users/pradyunsg/Developer/github/sphinx-inline-tabs/tests/docsets/basic/restructuredtext.rst"
xmlns:c="https://www.sphinx-doc.org/"
xmlns:changeset="https://www.sphinx-doc.org/"
xmlns:citation="https://www.sphinx-doc.org/"
xmlns:cpp="https://www.sphinx-doc.org/"
xmlns:index="https://www.sphinx-doc.org/"
xmlns:js="https://www.sphinx-doc.org/" xmlns:math="https://www.sphinx-doc.org/"
xmlns:py="https://www.sphinx-doc.org/" xmlns:rst="https://www.sphinx-doc.org/"
xmlns:std="https://www.sphinx-doc.org/">
+ <section ids="restructuredtext" names="restructuredtext">
+ <title>reStructuredText</title>
+ <label>Tab 1</label>
+ <container classes="tab-content" is_div="True">
+ <paragraph>This is tab 1</paragraph>
+ </container>
+ <label>Tab 2</label>
+ <container classes="tab-content" is_div="True">
+ <paragraph>This is tab 2</paragraph>
+ </container>
+ </section>
+</document>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx_inline_tabs-2023.4.21/tests/test_markup/test_markup_multiple_html_markdown_.html
new/sphinx_inline_tabs-2025.12.21.14/tests/test_markup/test_markup_multiple_html_markdown_.html
---
old/sphinx_inline_tabs-2023.4.21/tests/test_markup/test_markup_multiple_html_markdown_.html
1970-01-01 01:00:00.000000000 +0100
+++
new/sphinx_inline_tabs-2025.12.21.14/tests/test_markup/test_markup_multiple_html_markdown_.html
2023-07-09 16:55:11.101700800 +0200
@@ -0,0 +1,53 @@
+<div class="body" role="main">
+ <section id="markdown">
+ <h1>
+ Markdown
+ <a class="headerlink" href="#markdown" title="Permalink to this heading">
+ ¶
+ </a>
+ </h1>
+ <div class="tab-set docutils">
+ <input checked="True" class="tab-input" id="tab-set--0-input--1"
name="tab-set--0" type="radio"/>
+ <label class="tab-label" for="tab-set--0-input--1">
+ Tab 1
+ </label>
+ <div class="tab-content docutils">
+ <p>
+ This is tab 1
+ </p>
+ </div>
+ <input class="tab-input" id="tab-set--0-input--2" name="tab-set--0"
type="radio"/>
+ <label class="tab-label" for="tab-set--0-input--2">
+ Tab 2
+ </label>
+ <div class="tab-content docutils">
+ <p>
+ This is tab 2
+ </p>
+ </div>
+ </div>
+ <p>
+ This is some separator content.
+ </p>
+ <div class="tab-set docutils">
+ <input checked="True" class="tab-input" id="tab-set--1-input--1"
name="tab-set--1" type="radio"/>
+ <label class="tab-label" for="tab-set--1-input--1">
+ Tab 1
+ </label>
+ <div class="tab-content docutils">
+ <p>
+ This is tab 1
+ </p>
+ </div>
+ <input class="tab-input" id="tab-set--1-input--2" name="tab-set--1"
type="radio"/>
+ <label class="tab-label" for="tab-set--1-input--2">
+ Tab 2
+ </label>
+ <div class="tab-content docutils">
+ <p>
+ This is tab 2
+ </p>
+ </div>
+ </div>
+ </section>
+</div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx_inline_tabs-2023.4.21/tests/test_markup/test_markup_multiple_html_restructuredtext_.html
new/sphinx_inline_tabs-2025.12.21.14/tests/test_markup/test_markup_multiple_html_restructuredtext_.html
---
old/sphinx_inline_tabs-2023.4.21/tests/test_markup/test_markup_multiple_html_restructuredtext_.html
1970-01-01 01:00:00.000000000 +0100
+++
new/sphinx_inline_tabs-2025.12.21.14/tests/test_markup/test_markup_multiple_html_restructuredtext_.html
2023-07-09 16:55:11.293501600 +0200
@@ -0,0 +1,53 @@
+<div class="body" role="main">
+ <section id="restructuredtext">
+ <h1>
+ reStructuredText
+ <a class="headerlink" href="#restructuredtext" title="Permalink to this
heading">
+ ¶
+ </a>
+ </h1>
+ <div class="tab-set docutils">
+ <input checked="True" class="tab-input" id="tab-set--0-input--1"
name="tab-set--0" type="radio"/>
+ <label class="tab-label" for="tab-set--0-input--1">
+ Tab 1
+ </label>
+ <div class="tab-content docutils">
+ <p>
+ This is tab 1
+ </p>
+ </div>
+ <input class="tab-input" id="tab-set--0-input--2" name="tab-set--0"
type="radio"/>
+ <label class="tab-label" for="tab-set--0-input--2">
+ Tab 2
+ </label>
+ <div class="tab-content docutils">
+ <p>
+ This is tab 2
+ </p>
+ </div>
+ </div>
+ <p>
+ This is some separator content.
+ </p>
+ <div class="tab-set docutils">
+ <input checked="True" class="tab-input" id="tab-set--1-input--1"
name="tab-set--1" type="radio"/>
+ <label class="tab-label" for="tab-set--1-input--1">
+ Tab 1
+ </label>
+ <div class="tab-content docutils">
+ <p>
+ This is tab 1
+ </p>
+ </div>
+ <input class="tab-input" id="tab-set--1-input--2" name="tab-set--1"
type="radio"/>
+ <label class="tab-label" for="tab-set--1-input--2">
+ Tab 2
+ </label>
+ <div class="tab-content docutils">
+ <p>
+ This is tab 2
+ </p>
+ </div>
+ </div>
+ </section>
+</div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx_inline_tabs-2023.4.21/tests/test_markup/test_markup_multiple_xml_markdown_.xml
new/sphinx_inline_tabs-2025.12.21.14/tests/test_markup/test_markup_multiple_xml_markdown_.xml
---
old/sphinx_inline_tabs-2023.4.21/tests/test_markup/test_markup_multiple_xml_markdown_.xml
1970-01-01 01:00:00.000000000 +0100
+++
new/sphinx_inline_tabs-2025.12.21.14/tests/test_markup/test_markup_multiple_xml_markdown_.xml
2023-07-09 17:06:25.563500600 +0200
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE document PUBLIC "+//IDN docutils.sourceforge.net//DTD Docutils
Generic//EN//XML" "http://docutils.sourceforge.net/docs/ref/docutils.dtd">
+<!-- Generated by Docutils 0.20.1 -->
+<document
source="/Users/pradyunsg/Developer/github/sphinx-inline-tabs/tests/docsets/multiple/markdown.md"
xmlns:c="https://www.sphinx-doc.org/"
xmlns:changeset="https://www.sphinx-doc.org/"
xmlns:citation="https://www.sphinx-doc.org/"
xmlns:cpp="https://www.sphinx-doc.org/"
xmlns:index="https://www.sphinx-doc.org/"
xmlns:js="https://www.sphinx-doc.org/" xmlns:math="https://www.sphinx-doc.org/"
xmlns:py="https://www.sphinx-doc.org/" xmlns:rst="https://www.sphinx-doc.org/"
xmlns:std="https://www.sphinx-doc.org/">
+ <section ids="markdown" names="markdown">
+ <title>Markdown</title>
+ <label>Tab 1</label>
+ <container classes="tab-content" is_div="True">
+ <paragraph>This is tab 1</paragraph>
+ </container>
+ <label>Tab 2</label>
+ <container classes="tab-content" is_div="True">
+ <paragraph>This is tab 2</paragraph>
+ </container>
+ <paragraph>This is some separator content.</paragraph>
+ <label>Tab 1</label>
+ <container classes="tab-content" is_div="True">
+ <paragraph>This is tab 1</paragraph>
+ </container>
+ <label>Tab 2</label>
+ <container classes="tab-content" is_div="True">
+ <paragraph>This is tab 2</paragraph>
+ </container>
+ </section>
+</document>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sphinx_inline_tabs-2023.4.21/tests/test_markup/test_markup_multiple_xml_restructuredtext_.xml
new/sphinx_inline_tabs-2025.12.21.14/tests/test_markup/test_markup_multiple_xml_restructuredtext_.xml
---
old/sphinx_inline_tabs-2023.4.21/tests/test_markup/test_markup_multiple_xml_restructuredtext_.xml
1970-01-01 01:00:00.000000000 +0100
+++
new/sphinx_inline_tabs-2025.12.21.14/tests/test_markup/test_markup_multiple_xml_restructuredtext_.xml
2023-07-09 17:06:28.039943000 +0200
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE document PUBLIC "+//IDN docutils.sourceforge.net//DTD Docutils
Generic//EN//XML" "http://docutils.sourceforge.net/docs/ref/docutils.dtd">
+<!-- Generated by Docutils 0.20.1 -->
+<document
source="/Users/pradyunsg/Developer/github/sphinx-inline-tabs/tests/docsets/multiple/restructuredtext.rst"
xmlns:c="https://www.sphinx-doc.org/"
xmlns:changeset="https://www.sphinx-doc.org/"
xmlns:citation="https://www.sphinx-doc.org/"
xmlns:cpp="https://www.sphinx-doc.org/"
xmlns:index="https://www.sphinx-doc.org/"
xmlns:js="https://www.sphinx-doc.org/" xmlns:math="https://www.sphinx-doc.org/"
xmlns:py="https://www.sphinx-doc.org/" xmlns:rst="https://www.sphinx-doc.org/"
xmlns:std="https://www.sphinx-doc.org/">
+ <section ids="restructuredtext" names="restructuredtext">
+ <title>reStructuredText</title>
+ <label>Tab 1</label>
+ <container classes="tab-content" is_div="True">
+ <paragraph>This is tab 1</paragraph>
+ </container>
+ <label>Tab 2</label>
+ <container classes="tab-content" is_div="True">
+ <paragraph>This is tab 2</paragraph>
+ </container>
+ <paragraph>This is some separator content.</paragraph>
+ <label>Tab 1</label>
+ <container classes="tab-content" is_div="True">
+ <paragraph>This is tab 1</paragraph>
+ </container>
+ <label>Tab 2</label>
+ <container classes="tab-content" is_div="True">
+ <paragraph>This is tab 2</paragraph>
+ </container>
+ </section>
+</document>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sphinx_inline_tabs-2023.4.21/tests/test_markup.py
new/sphinx_inline_tabs-2025.12.21.14/tests/test_markup.py
--- old/sphinx_inline_tabs-2023.4.21/tests/test_markup.py 1970-01-01
01:00:00.000000000 +0100
+++ new/sphinx_inline_tabs-2025.12.21.14/tests/test_markup.py 2023-07-09
16:40:45.657500300 +0200
@@ -0,0 +1,52 @@
+"""Tests to ensure that the generated markup is correct.
+"""
+
+from pathlib import Path
+
+import bs4
+import pytest
+from pytest_regressions.file_regression import FileRegressionFixture
+from sphinx.testing.path import path as sphinx_path
+from sphinx.testing.util import SphinxTestApp
+
+DOCSET_ROOT = Path(__file__).parent / "docsets"
+INPUT_FILES = {
+ "markdown": "markdown.md",
+ "restructuredtext": "restructuredtext.rst",
+}
+
+
+def only_role_main(html: str) -> str:
+ """Return the content of the main role."""
+ soup = bs4.BeautifulSoup(html, "html.parser")
+ node = soup.find(attrs={"role": "main"})
+ assert node
+ return node.prettify(formatter=bs4.formatter.HTMLFormatter(indent=2))
+
+
[email protected]("format", ["markdown", "restructuredtext"])
[email protected]("builder", ["html", "xml"])
[email protected]("docset", DOCSET_ROOT.glob("*"), ids=lambda path:
path.name)
+def test_markup(
+ format: str,
+ builder: str,
+ docset: Path,
+ file_regression: FileRegressionFixture,
+ tmpdir: str,
+) -> None:
+ # GIVEN
+ srcdir = sphinx_path(docset)
+ builddir = sphinx_path(tmpdir)
+ app = SphinxTestApp(srcdir=srcdir, builddir=builddir, buildername=builder)
+
+ infile = Path(app.srcdir) / INPUT_FILES[format]
+ outfile = Path(app.outdir) / f"{format}.{builder}"
+
+ # WHEN
+ app.build(filenames=[str(infile)])
+
+ # THEN
+ content = outfile.read_text()
+ if builder == "html":
+ content = only_role_main(content)
+ file_regression.check(content, extension=f".{builder}")