From 71e3162832a720519f639addd25c1d9f61213806 Mon Sep 17 00:00:00 2001
From: Wulian <1055917385@qq.com>
Date: Sat, 21 Dec 2024 07:23:20 +0800
Subject: [PATCH 01/11] Improve sidebar responsiveness and resizability
---
python_docs_theme/layout.html | 1 +
python_docs_theme/static/pydoctheme.css | 5 ++++-
python_docs_theme/static/sidebar-resizer.js | 23 +++++++++++++++++++++
3 files changed, 28 insertions(+), 1 deletion(-)
create mode 100644 python_docs_theme/static/sidebar-resizer.js
diff --git a/python_docs_theme/layout.html b/python_docs_theme/layout.html
index 9762b06..9d92c19 100644
--- a/python_docs_theme/layout.html
+++ b/python_docs_theme/layout.html
@@ -78,6 +78,7 @@
{{ _('Navigation') }}
+
{%- endif -%}
{%- endif -%}
{{ super() }}
diff --git a/python_docs_theme/static/pydoctheme.css b/python_docs_theme/static/pydoctheme.css
index 0f6f8d3..c8911df 100644
--- a/python_docs_theme/static/pydoctheme.css
+++ b/python_docs_theme/static/pydoctheme.css
@@ -149,6 +149,9 @@ div.sphinxsidebar {
border-radius: 5px;
line-height: 130%;
font-size: smaller;
+ width: 300px;
+ resize: horizontal;
+ overflow: auto;
}
div.sphinxsidebar h3,
@@ -157,7 +160,7 @@ div.sphinxsidebar h4 {
}
div.sphinxsidebarwrapper {
- width: 217px;
+ width: 100%;
box-sizing: border-box;
height: 100%;
overflow-x: hidden;
diff --git a/python_docs_theme/static/sidebar-resizer.js b/python_docs_theme/static/sidebar-resizer.js
new file mode 100644
index 0000000..aef6772
--- /dev/null
+++ b/python_docs_theme/static/sidebar-resizer.js
@@ -0,0 +1,23 @@
+document.addEventListener('DOMContentLoaded', function() {
+ const sidebar = document.querySelector('.sphinxsidebar');
+ const resizer = document.createElement('div');
+ resizer.className = 'sidebar-resizer';
+ sidebar.appendChild(resizer);
+
+ resizer.addEventListener('mousedown', function(e) {
+ document.addEventListener('mousemove', resizeSidebar);
+ document.addEventListener('mouseup', stopResize);
+ });
+
+ function resizeSidebar(e) {
+ const newWidth = e.clientX - sidebar.getBoundingClientRect().left;
+ if (newWidth > 150 && newWidth < window.innerWidth - 100) {
+ sidebar.style.width = newWidth + 'px';
+ }
+ }
+
+ function stopResize() {
+ document.removeEventListener('mousemove', resizeSidebar);
+ document.removeEventListener('mouseup', stopResize);
+ }
+});
From 0a2c552c0d950442230db5ce640a4ee5c4d363dc Mon Sep 17 00:00:00 2001
From: Wulian233 <1055917385@qq.com>
Date: Sat, 21 Dec 2024 09:07:26 +0800
Subject: [PATCH 02/11] css
---
python_docs_theme/layout.html | 1 -
python_docs_theme/static/pydoctheme.css | 4 +++-
python_docs_theme/static/sidebar-resizer.js | 23 ---------------------
3 files changed, 3 insertions(+), 25 deletions(-)
delete mode 100644 python_docs_theme/static/sidebar-resizer.js
diff --git a/python_docs_theme/layout.html b/python_docs_theme/layout.html
index 9d92c19..9762b06 100644
--- a/python_docs_theme/layout.html
+++ b/python_docs_theme/layout.html
@@ -78,7 +78,6 @@ {{ _('Navigation') }}
-
{%- endif -%}
{%- endif -%}
{{ super() }}
diff --git a/python_docs_theme/static/pydoctheme.css b/python_docs_theme/static/pydoctheme.css
index c8911df..1cd6601 100644
--- a/python_docs_theme/static/pydoctheme.css
+++ b/python_docs_theme/static/pydoctheme.css
@@ -150,6 +150,8 @@ div.sphinxsidebar {
line-height: 130%;
font-size: smaller;
width: 300px;
+ min-width: 200px;
+ max-width: 500px;
resize: horizontal;
overflow: auto;
}
@@ -160,7 +162,7 @@ div.sphinxsidebar h4 {
}
div.sphinxsidebarwrapper {
- width: 100%;
+ width: 300px;
box-sizing: border-box;
height: 100%;
overflow-x: hidden;
diff --git a/python_docs_theme/static/sidebar-resizer.js b/python_docs_theme/static/sidebar-resizer.js
deleted file mode 100644
index aef6772..0000000
--- a/python_docs_theme/static/sidebar-resizer.js
+++ /dev/null
@@ -1,23 +0,0 @@
-document.addEventListener('DOMContentLoaded', function() {
- const sidebar = document.querySelector('.sphinxsidebar');
- const resizer = document.createElement('div');
- resizer.className = 'sidebar-resizer';
- sidebar.appendChild(resizer);
-
- resizer.addEventListener('mousedown', function(e) {
- document.addEventListener('mousemove', resizeSidebar);
- document.addEventListener('mouseup', stopResize);
- });
-
- function resizeSidebar(e) {
- const newWidth = e.clientX - sidebar.getBoundingClientRect().left;
- if (newWidth > 150 && newWidth < window.innerWidth - 100) {
- sidebar.style.width = newWidth + 'px';
- }
- }
-
- function stopResize() {
- document.removeEventListener('mousemove', resizeSidebar);
- document.removeEventListener('mouseup', stopResize);
- }
-});
From b670b72ce7709d616381794d344c747667c3e080 Mon Sep 17 00:00:00 2001
From: Wulian233 <1055917385@qq.com>
Date: Wed, 22 Jan 2025 09:51:48 +0800
Subject: [PATCH 03/11] improve
---
python_docs_theme/layout.html | 1 +
python_docs_theme/static/pydoctheme.css | 27 ++++++++++++++++-----
python_docs_theme/static/sidebar-resizer.js | 23 ++++++++++++++++++
3 files changed, 45 insertions(+), 6 deletions(-)
create mode 100644 python_docs_theme/static/sidebar-resizer.js
diff --git a/python_docs_theme/layout.html b/python_docs_theme/layout.html
index 9762b06..9d92c19 100644
--- a/python_docs_theme/layout.html
+++ b/python_docs_theme/layout.html
@@ -78,6 +78,7 @@ {{ _('Navigation') }}
+
{%- endif -%}
{%- endif -%}
{{ super() }}
diff --git a/python_docs_theme/static/pydoctheme.css b/python_docs_theme/static/pydoctheme.css
index 1cd6601..619980d 100644
--- a/python_docs_theme/static/pydoctheme.css
+++ b/python_docs_theme/static/pydoctheme.css
@@ -1,5 +1,10 @@
@import url('classic.css');
+/* Smooth scroll */
+html {
+ scroll-behavior: smooth;
+}
+
/* Common colours */
:root {
--good-color: rgb(41 100 51);
@@ -129,6 +134,7 @@ form.inline-search input[type='submit'] {
}
div.document {
+ animation: fadeIn 0.6s ease-in-out;
display: flex;
/* Don't let long code literals extend beyond the right side of the screen */
overflow-wrap: break-word;
@@ -149,11 +155,7 @@ div.sphinxsidebar {
border-radius: 5px;
line-height: 130%;
font-size: smaller;
- width: 300px;
- min-width: 200px;
- max-width: 500px;
- resize: horizontal;
- overflow: auto;
+ transition: width 0.3s ease;
}
div.sphinxsidebar h3,
@@ -162,7 +164,7 @@ div.sphinxsidebar h4 {
}
div.sphinxsidebarwrapper {
- width: 300px;
+ width: 217px;
box-sizing: border-box;
height: 100%;
overflow-x: hidden;
@@ -210,6 +212,9 @@ div.sphinxsidebar input[type='text'] {
width: 12px;
border-radius: 0 5px 5px 0;
border-left: none;
+ position: absolute;
+ right: 0;
+ transition: background-color 0.3s ease, color 0.3s ease;
}
#sidebarbutton span {
@@ -766,3 +771,13 @@ div.versionremoved .versionmodified {
display: none;
}
}
+
+/* Animation */
+@keyframes fadeIn {
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 1;
+ }
+}
diff --git a/python_docs_theme/static/sidebar-resizer.js b/python_docs_theme/static/sidebar-resizer.js
new file mode 100644
index 0000000..aef6772
--- /dev/null
+++ b/python_docs_theme/static/sidebar-resizer.js
@@ -0,0 +1,23 @@
+document.addEventListener('DOMContentLoaded', function() {
+ const sidebar = document.querySelector('.sphinxsidebar');
+ const resizer = document.createElement('div');
+ resizer.className = 'sidebar-resizer';
+ sidebar.appendChild(resizer);
+
+ resizer.addEventListener('mousedown', function(e) {
+ document.addEventListener('mousemove', resizeSidebar);
+ document.addEventListener('mouseup', stopResize);
+ });
+
+ function resizeSidebar(e) {
+ const newWidth = e.clientX - sidebar.getBoundingClientRect().left;
+ if (newWidth > 150 && newWidth < window.innerWidth - 100) {
+ sidebar.style.width = newWidth + 'px';
+ }
+ }
+
+ function stopResize() {
+ document.removeEventListener('mousemove', resizeSidebar);
+ document.removeEventListener('mouseup', stopResize);
+ }
+});
From 6eaf14c4abfb6b954917d9496800b46b7e4554b4 Mon Sep 17 00:00:00 2001
From: Wulian233 <1055917385@qq.com>
Date: Wed, 22 Jan 2025 09:55:37 +0800
Subject: [PATCH 04/11] css
---
python_docs_theme/layout.html | 1 -
python_docs_theme/static/pydoctheme.css | 6 +++++-
python_docs_theme/static/sidebar-resizer.js | 23 ---------------------
3 files changed, 5 insertions(+), 25 deletions(-)
delete mode 100644 python_docs_theme/static/sidebar-resizer.js
diff --git a/python_docs_theme/layout.html b/python_docs_theme/layout.html
index 9d92c19..9762b06 100644
--- a/python_docs_theme/layout.html
+++ b/python_docs_theme/layout.html
@@ -78,7 +78,6 @@ {{ _('Navigation') }}
-
{%- endif -%}
{%- endif -%}
{{ super() }}
diff --git a/python_docs_theme/static/pydoctheme.css b/python_docs_theme/static/pydoctheme.css
index 619980d..94be9e7 100644
--- a/python_docs_theme/static/pydoctheme.css
+++ b/python_docs_theme/static/pydoctheme.css
@@ -2,7 +2,11 @@
/* Smooth scroll */
html {
- scroll-behavior: smooth;
+ scroll-behavior: auto;
+}
+
+:target {
+ scroll-behavior: auto;
}
/* Common colours */
diff --git a/python_docs_theme/static/sidebar-resizer.js b/python_docs_theme/static/sidebar-resizer.js
deleted file mode 100644
index aef6772..0000000
--- a/python_docs_theme/static/sidebar-resizer.js
+++ /dev/null
@@ -1,23 +0,0 @@
-document.addEventListener('DOMContentLoaded', function() {
- const sidebar = document.querySelector('.sphinxsidebar');
- const resizer = document.createElement('div');
- resizer.className = 'sidebar-resizer';
- sidebar.appendChild(resizer);
-
- resizer.addEventListener('mousedown', function(e) {
- document.addEventListener('mousemove', resizeSidebar);
- document.addEventListener('mouseup', stopResize);
- });
-
- function resizeSidebar(e) {
- const newWidth = e.clientX - sidebar.getBoundingClientRect().left;
- if (newWidth > 150 && newWidth < window.innerWidth - 100) {
- sidebar.style.width = newWidth + 'px';
- }
- }
-
- function stopResize() {
- document.removeEventListener('mousemove', resizeSidebar);
- document.removeEventListener('mouseup', stopResize);
- }
-});
From 37a655bfebf18264e359104ab2ad136e5f0b7b8e Mon Sep 17 00:00:00 2001
From: Wulian <1055917385@qq.com>
Date: Wed, 22 Jan 2025 10:04:01 +0800
Subject: [PATCH 05/11] Update pydoctheme.css
---
python_docs_theme/static/pydoctheme.css | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/python_docs_theme/static/pydoctheme.css b/python_docs_theme/static/pydoctheme.css
index 94be9e7..91389ed 100644
--- a/python_docs_theme/static/pydoctheme.css
+++ b/python_docs_theme/static/pydoctheme.css
@@ -6,7 +6,7 @@ html {
}
:target {
- scroll-behavior: auto;
+ scroll-behavior: smooth;
}
/* Common colours */
From 926bd9df208aee924b44f6b1be175f27ce56660d Mon Sep 17 00:00:00 2001
From: Wulian <1055917385@qq.com>
Date: Wed, 22 Jan 2025 10:11:40 +0800
Subject: [PATCH 06/11] Update pydoctheme.css
---
python_docs_theme/static/pydoctheme.css | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/python_docs_theme/static/pydoctheme.css b/python_docs_theme/static/pydoctheme.css
index 91389ed..1922cb3 100644
--- a/python_docs_theme/static/pydoctheme.css
+++ b/python_docs_theme/static/pydoctheme.css
@@ -5,7 +5,7 @@ html {
scroll-behavior: auto;
}
-:target {
+html:has(:target) {
scroll-behavior: smooth;
}
From 438dccc1d87a076ca001c6c1980db6327c53e250 Mon Sep 17 00:00:00 2001
From: Wulian233 <1055917385@qq.com>
Date: Wed, 22 Jan 2025 10:21:19 +0800
Subject: [PATCH 07/11] trying...
---
python_docs_theme/layout.html | 1 +
python_docs_theme/static/pydoctheme.css | 9 ---------
python_docs_theme/static/smooth.js | 15 +++++++++++++++
3 files changed, 16 insertions(+), 9 deletions(-)
create mode 100644 python_docs_theme/static/smooth.js
diff --git a/python_docs_theme/layout.html b/python_docs_theme/layout.html
index 9762b06..c06ffd9 100644
--- a/python_docs_theme/layout.html
+++ b/python_docs_theme/layout.html
@@ -77,6 +77,7 @@ {{ _('Navigation') }}
+
{%- endif -%}
{%- endif -%}
diff --git a/python_docs_theme/static/pydoctheme.css b/python_docs_theme/static/pydoctheme.css
index 1922cb3..4ef3319 100644
--- a/python_docs_theme/static/pydoctheme.css
+++ b/python_docs_theme/static/pydoctheme.css
@@ -1,14 +1,5 @@
@import url('classic.css');
-/* Smooth scroll */
-html {
- scroll-behavior: auto;
-}
-
-html:has(:target) {
- scroll-behavior: smooth;
-}
-
/* Common colours */
:root {
--good-color: rgb(41 100 51);
diff --git a/python_docs_theme/static/smooth.js b/python_docs_theme/static/smooth.js
new file mode 100644
index 0000000..a897ab2
--- /dev/null
+++ b/python_docs_theme/static/smooth.js
@@ -0,0 +1,15 @@
+window.addEventListener('load', function() {
+ document.documentElement.style.scrollBehavior = 'auto';
+
+ const target = window.location.hash;
+ if (target) {
+ window.scrollTo(0, 0);
+ document.querySelector(target)?.scrollIntoView();
+ }
+
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
+ anchor.addEventListener('click', function(e) {
+ document.documentElement.style.scrollBehavior = 'smooth';
+ });
+ });
+});
From 131c81c313ac681db680610143ba56056627badf Mon Sep 17 00:00:00 2001
From: Wulian <1055917385@qq.com>
Date: Wed, 22 Jan 2025 16:53:07 +0800
Subject: [PATCH 08/11] accessibility
---
python_docs_theme/static/pydoctheme.css | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/python_docs_theme/static/pydoctheme.css b/python_docs_theme/static/pydoctheme.css
index 4ef3319..8afe70f 100644
--- a/python_docs_theme/static/pydoctheme.css
+++ b/python_docs_theme/static/pydoctheme.css
@@ -776,3 +776,18 @@ div.versionremoved .versionmodified {
opacity: 1;
}
}
+
+@media (prefers-reduced-motion) {
+ div.document {
+ animation: none;
+ transition: none;
+ }
+
+ #sidebarbutton {
+ transition: none;
+ }
+
+ html {
+ scroll-behavior: auto;
+ }
+}
\ No newline at end of file
From 978ff2bcfdd66971d4a49729d22f222454a76c98 Mon Sep 17 00:00:00 2001
From: Wulian233 <1055917385@qq.com>
Date: Fri, 24 Jan 2025 12:17:50 +0800
Subject: [PATCH 09/11] remove smooth scroll
---
python_docs_theme/layout.html | 1 -
python_docs_theme/static/pydoctheme.css | 6 +-----
python_docs_theme/static/smooth.js | 15 ---------------
3 files changed, 1 insertion(+), 21 deletions(-)
delete mode 100644 python_docs_theme/static/smooth.js
diff --git a/python_docs_theme/layout.html b/python_docs_theme/layout.html
index c06ffd9..9762b06 100644
--- a/python_docs_theme/layout.html
+++ b/python_docs_theme/layout.html
@@ -77,7 +77,6 @@ {{ _('Navigation') }}
-
{%- endif -%}
{%- endif -%}
diff --git a/python_docs_theme/static/pydoctheme.css b/python_docs_theme/static/pydoctheme.css
index 8afe70f..83515f3 100644
--- a/python_docs_theme/static/pydoctheme.css
+++ b/python_docs_theme/static/pydoctheme.css
@@ -777,7 +777,7 @@ div.versionremoved .versionmodified {
}
}
-@media (prefers-reduced-motion) {
+@media (prefers-reduced-motion: reduce) {
div.document {
animation: none;
transition: none;
@@ -786,8 +786,4 @@ div.versionremoved .versionmodified {
#sidebarbutton {
transition: none;
}
-
- html {
- scroll-behavior: auto;
- }
}
\ No newline at end of file
diff --git a/python_docs_theme/static/smooth.js b/python_docs_theme/static/smooth.js
deleted file mode 100644
index a897ab2..0000000
--- a/python_docs_theme/static/smooth.js
+++ /dev/null
@@ -1,15 +0,0 @@
-window.addEventListener('load', function() {
- document.documentElement.style.scrollBehavior = 'auto';
-
- const target = window.location.hash;
- if (target) {
- window.scrollTo(0, 0);
- document.querySelector(target)?.scrollIntoView();
- }
-
- document.querySelectorAll('a[href^="#"]').forEach(anchor => {
- anchor.addEventListener('click', function(e) {
- document.documentElement.style.scrollBehavior = 'smooth';
- });
- });
-});
From c3b891434c143a2528f9b3e58bf42c9d242dbeea Mon Sep 17 00:00:00 2001
From: Wulian <1055917385@qq.com>
Date: Sat, 25 Jan 2025 10:59:22 +0800
Subject: [PATCH 10/11] remove fadein
---
python_docs_theme/static/pydoctheme.css | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/python_docs_theme/static/pydoctheme.css b/python_docs_theme/static/pydoctheme.css
index 83515f3..6cedf01 100644
--- a/python_docs_theme/static/pydoctheme.css
+++ b/python_docs_theme/static/pydoctheme.css
@@ -129,7 +129,6 @@ form.inline-search input[type='submit'] {
}
div.document {
- animation: fadeIn 0.6s ease-in-out;
display: flex;
/* Don't let long code literals extend beyond the right side of the screen */
overflow-wrap: break-word;
@@ -768,18 +767,8 @@ div.versionremoved .versionmodified {
}
/* Animation */
-@keyframes fadeIn {
- from {
- opacity: 0;
- }
- to {
- opacity: 1;
- }
-}
-
@media (prefers-reduced-motion: reduce) {
div.document {
- animation: none;
transition: none;
}
From b064bafbb1546c2f01e79fd5fc124284899834e1 Mon Sep 17 00:00:00 2001
From: Wulian <1055917385@qq.com>
Date: Mon, 27 Jan 2025 06:36:27 +0800
Subject: [PATCH 11/11] fix lint action
---
python_docs_theme/static/pydoctheme.css | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/python_docs_theme/static/pydoctheme.css b/python_docs_theme/static/pydoctheme.css
index 6cedf01..80f4082 100644
--- a/python_docs_theme/static/pydoctheme.css
+++ b/python_docs_theme/static/pydoctheme.css
@@ -775,4 +775,4 @@ div.versionremoved .versionmodified {
#sidebarbutton {
transition: none;
}
-}
\ No newline at end of file
+}