diff --git a/docs/conf.py b/docs/conf.py index ef2cb5b88..833dfa215 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -166,6 +166,12 @@ html_static_path = ["resources"] # directly to the root of the documentation. # html_extra_path = [] +html_css_files = ["css/dark.css"] + +html_js_files = [ + "js/activate_tab.js", +] + # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. # html_last_updated_fmt = '%b %d, %Y' @@ -313,10 +319,6 @@ texinfo_documents = [ # texinfo_no_detailmenu = False -def setup(app): - app.add_css_file("css/dark.css") - - linkcheck_allowed_redirects = { r"https://www.bestpractices.dev/projects/6331": r"https://www.bestpractices.dev/en/.*", r"https://badges.gitter.im/python-pillow/Pillow.svg": r"https://badges.gitter.im/repo.svg", diff --git a/docs/installation.rst b/docs/installation.rst index ed25c551a..78900aa57 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -1,6 +1,14 @@ Installation ============ +.. raw:: html + + + Warnings -------- diff --git a/docs/resources/js/activate_tab.js b/docs/resources/js/activate_tab.js new file mode 100644 index 000000000..92522b5ce --- /dev/null +++ b/docs/resources/js/activate_tab.js @@ -0,0 +1,36 @@ +// Based on https://stackoverflow.com/a/38241481/724176 +function getOS() { + const userAgent = window.navigator.userAgent, + platform = window.navigator.userAgentData?.platform || window.navigator.platform, + macosPlatforms = ["macOS", "Macintosh", "MacIntel", "MacPPC", "Mac68K"], + windowsPlatforms = ["Win32", "Win64", "Windows", "WinCE"]; + + if (macosPlatforms.includes(platform)) { + return "macOS"; + } else if (windowsPlatforms.includes(platform)) { + return "Windows"; + } else if (/Android/.test(userAgent)) { + return "Android"; + } else if (/Linux/.test(platform)) { + return "Linux"; + } +} + +function activateTab(tabName) { + // Find all label elements with the specified tab name + const labels = document.querySelectorAll(".tab-label"); + + labels.forEach((label) => { + if (label.textContent == tabName) { + // Find the associated input element using the "for" attribute + const tabInputId = label.getAttribute("for"); + const tabInput = document.getElementById(tabInputId); + + // Check if the input element exists before attempting to set the "checked" attribute + if (tabInput) { + // Activate the tab by setting its "checked" attribute to true + tabInput.checked = true; + } + } + }); +}