From 6fe464f24ab9639167569bebefbb31cc6675531e Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Tue, 24 Sep 2024 08:07:18 -0700 Subject: [PATCH 1/6] Infra: move numerical index to own page --- .../pep_zero_generator/pep_index_generator.py | 3 +++ .../pep_zero_generator/writer.py | 27 +++++++++++++------ peps/contents.rst | 3 ++- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/pep_sphinx_extensions/pep_zero_generator/pep_index_generator.py b/pep_sphinx_extensions/pep_zero_generator/pep_index_generator.py index 8fbf5cc7e65..2dc3e7ff52d 100644 --- a/pep_sphinx_extensions/pep_zero_generator/pep_index_generator.py +++ b/pep_sphinx_extensions/pep_zero_generator/pep_index_generator.py @@ -63,6 +63,9 @@ def write_peps_json(peps: list[parser.PEP], path: Path) -> None: def create_pep_zero(app: Sphinx, env: BuildEnvironment, docnames: list[str]) -> None: peps = _parse_peps(Path(app.srcdir)) + numerical_index_text = writer.PEPZeroWriter().write_numerical_index(peps) + subindices.update_sphinx("numerical", numerical_index_text, docnames, env) + pep0_text = writer.PEPZeroWriter().write_pep0(peps, builder=env.settings["builder"]) pep0_path = subindices.update_sphinx("pep-0000", pep0_text, docnames, env) peps.append(parser.PEP(pep0_path)) diff --git a/pep_sphinx_extensions/pep_zero_generator/writer.py b/pep_sphinx_extensions/pep_zero_generator/writer.py index e0507cc7f29..123d42a243d 100644 --- a/pep_sphinx_extensions/pep_zero_generator/writer.py +++ b/pep_sphinx_extensions/pep_zero_generator/writer.py @@ -132,6 +132,17 @@ def emit_pep_category(self, category: str, peps: list[PEP]) -> None: self.emit_text(" -") self.emit_newline() + def write_numerical_index(self, peps: list[PEP]) -> str: + self.emit_text(".. _numerical-index:") + self.emit_newline() + + self.emit_title("Numerical Index") + self.emit_table(peps) + self.emit_newline() + + numerical_index_string = "\n".join(self.output) + return numerical_index_string + def write_pep0( self, peps: list[PEP], @@ -139,7 +150,7 @@ def write_pep0( intro: str = INTRO, is_pep0: bool = True, builder: str = None, - ): + ) -> str: if len(peps) == 0: return "" @@ -176,6 +187,12 @@ def write_pep0( ) self.emit_newline() + # PEPs by number + if is_pep0: + self.emit_title("Numerical Index") + self.emit_text("All PEPs :ref:`sorted by number `.") + self.emit_newline() + # PEPs by category self.emit_title("Index by Category") meta, info, provisional, accepted, open_, finished, historical, deferred, dead = _classify_peps(peps) @@ -203,12 +220,6 @@ def write_pep0( self.emit_newline() - # PEPs by number - self.emit_title("Numerical Index") - self.emit_table(peps) - - self.emit_newline() - # Reserved PEP numbers if is_pep0: self.emit_title("Reserved PEP Numbers") @@ -264,7 +275,7 @@ def write_pep0( self.emit_newline() self.emit_newline() - pep0_string = "\n".join(map(str, self.output)) + pep0_string = "\n".join(self.output) return pep0_string diff --git a/peps/contents.rst b/peps/contents.rst index 5d5c23ee3a6..1878d5db990 100644 --- a/peps/contents.rst +++ b/peps/contents.rst @@ -14,6 +14,7 @@ This is an internal Sphinx page; please go to the :doc:`PEP Index `. :glob: :caption: PEP Table of Contents (needed for Sphinx): - pep-* api/* + numerical + pep-* topic/* From 86151ac327403b968f375543d2faa949f02559fc Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+aa-turner@users.noreply.github.com> Date: Wed, 25 Sep 2024 11:45:01 +0100 Subject: [PATCH 2/6] Remove source link --- pep_sphinx_extensions/pep_theme/templates/page.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pep_sphinx_extensions/pep_theme/templates/page.html b/pep_sphinx_extensions/pep_theme/templates/page.html index 1bc41d89766..1ad0e2190cb 100644 --- a/pep_sphinx_extensions/pep_theme/templates/page.html +++ b/pep_sphinx_extensions/pep_theme/templates/page.html @@ -53,7 +53,7 @@

Python Enhancement Proposals

Contents

{{ toc }}
- {%- if not pagename.startswith(("pep-0000", "topic")) %} + {%- if not pagename.startswith(("numerical", "pep-0000", "topic")) %} Page Source (GitHub) {%- endif %} From 4e378fee07175ab1464b628e4c02507b30957c7c Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Wed, 25 Sep 2024 17:38:50 +0300 Subject: [PATCH 3/6] Apply suggestions from code review Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- pep_sphinx_extensions/pep_zero_generator/writer.py | 6 +++++- peps/contents.rst | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pep_sphinx_extensions/pep_zero_generator/writer.py b/pep_sphinx_extensions/pep_zero_generator/writer.py index 123d42a243d..ffd23275d73 100644 --- a/pep_sphinx_extensions/pep_zero_generator/writer.py +++ b/pep_sphinx_extensions/pep_zero_generator/writer.py @@ -133,6 +133,7 @@ def emit_pep_category(self, category: str, peps: list[PEP]) -> None: self.emit_newline() def write_numerical_index(self, peps: list[PEP]) -> str: + """Write PEPs by number.""" self.emit_text(".. _numerical-index:") self.emit_newline() @@ -190,7 +191,10 @@ def write_pep0( # PEPs by number if is_pep0: self.emit_title("Numerical Index") - self.emit_text("All PEPs :ref:`sorted by number `.") + self.emit_text( + "The :doc:`numerical index ` contains " + "a table of all PEPs :ref:`sorted by number `." + ) self.emit_newline() # PEPs by category diff --git a/peps/contents.rst b/peps/contents.rst index 1878d5db990..0dc1f8e5817 100644 --- a/peps/contents.rst +++ b/peps/contents.rst @@ -15,6 +15,6 @@ This is an internal Sphinx page; please go to the :doc:`PEP Index `. :caption: PEP Table of Contents (needed for Sphinx): api/* + topic/* numerical pep-* - topic/* From 14012cb80b23d9866fddddf1cefcbaf100d5814f Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Thu, 26 Sep 2024 22:07:06 +0300 Subject: [PATCH 4/6] Just the first link Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- pep_sphinx_extensions/pep_zero_generator/writer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pep_sphinx_extensions/pep_zero_generator/writer.py b/pep_sphinx_extensions/pep_zero_generator/writer.py index ffd23275d73..67cf2603394 100644 --- a/pep_sphinx_extensions/pep_zero_generator/writer.py +++ b/pep_sphinx_extensions/pep_zero_generator/writer.py @@ -193,7 +193,7 @@ def write_pep0( self.emit_title("Numerical Index") self.emit_text( "The :doc:`numerical index ` contains " - "a table of all PEPs :ref:`sorted by number `." + "a table of all PEPs, ordered by number." ) self.emit_newline() From e439e06027267f8ed6e5559130f2a259229cd705 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Thu, 26 Sep 2024 12:44:08 -0700 Subject: [PATCH 5/6] Make numerical table wider --- pep_sphinx_extensions/pep_theme/static/style.css | 7 +++++++ pep_sphinx_extensions/pep_theme/templates/page.html | 2 ++ 2 files changed, 9 insertions(+) diff --git a/pep_sphinx_extensions/pep_theme/static/style.css b/pep_sphinx_extensions/pep_theme/static/style.css index da600ba173d..bba53bfcc4f 100644 --- a/pep_sphinx_extensions/pep_theme/static/style.css +++ b/pep_sphinx_extensions/pep_theme/static/style.css @@ -281,6 +281,13 @@ table.pep-zero-table tr td:nth-child(5) { width: 50%; } +/* Numerical index */ +article:has(> section#numerical-index) { + float: unset !important; + width: 100% !important; + max-width: 100% !important; +} + /* Breadcrumbs rules */ section#pep-page-section > header { border-bottom: 1px solid var(--colour-rule-light); diff --git a/pep_sphinx_extensions/pep_theme/templates/page.html b/pep_sphinx_extensions/pep_theme/templates/page.html index 1ad0e2190cb..f903b787afa 100644 --- a/pep_sphinx_extensions/pep_theme/templates/page.html +++ b/pep_sphinx_extensions/pep_theme/templates/page.html @@ -49,6 +49,7 @@

Python Enhancement Proposals

{{ body }}
+ {%- if not pagename == "numerical" %} + {%- endif %} From 8beec233f85670331d50e82e72560af91f7c6706 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Thu, 26 Sep 2024 23:38:25 +0300 Subject: [PATCH 6/6] Less wide Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- pep_sphinx_extensions/pep_theme/static/style.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pep_sphinx_extensions/pep_theme/static/style.css b/pep_sphinx_extensions/pep_theme/static/style.css index bba53bfcc4f..37323c27794 100644 --- a/pep_sphinx_extensions/pep_theme/static/style.css +++ b/pep_sphinx_extensions/pep_theme/static/style.css @@ -284,8 +284,8 @@ table.pep-zero-table tr td:nth-child(5) { /* Numerical index */ article:has(> section#numerical-index) { float: unset !important; - width: 100% !important; - max-width: 100% !important; + width: 90% !important; + max-width: 90% !important; } /* Breadcrumbs rules */