From 091c3d2027fc758ecc7446aed7380547867aed19 Mon Sep 17 00:00:00 2001 From: flicj191 Date: Tue, 11 Feb 2025 09:45:02 +1100 Subject: [PATCH 01/26] test sidebar change --- .../source/_templates/sidebar_nav_lv1.html | 17 +++++++++++++++++ doc/sphinx/source/conf.py | 13 ++++++++----- 2 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 doc/sphinx/source/_templates/sidebar_nav_lv1.html diff --git a/doc/sphinx/source/_templates/sidebar_nav_lv1.html b/doc/sphinx/source/_templates/sidebar_nav_lv1.html new file mode 100644 index 0000000000..dd92633180 --- /dev/null +++ b/doc/sphinx/source/_templates/sidebar_nav_lv1.html @@ -0,0 +1,17 @@ +{# Displays the TOC-subtree for pages nested under the currently active top-level TOCtree element. EDITED #} + \ No newline at end of file diff --git a/doc/sphinx/source/conf.py b/doc/sphinx/source/conf.py index de7feb4775..4a1fa75c98 100644 --- a/doc/sphinx/source/conf.py +++ b/doc/sphinx/source/conf.py @@ -46,11 +46,11 @@ if rtd_version not in ["latest", "stable", "doc"]: rtd_version = "latest" -# Generate gallery +# # Generate gallery sys.path.append(os.path.dirname(__file__)) -import generate_gallery +# import generate_gallery -generate_gallery.main() +# generate_gallery.main() # -- General configuration ------------------------------------------------ @@ -174,6 +174,7 @@ "image_light": "figures/ESMValTool-logo-2.png", "image_dark": "figures/ESMValTool-logo-2-dark.png", }, + # "navbar_center": ["cross_proj_navbar"], } # Add any paths that contain custom themes here, relative to this directory. # html_theme_path = [] @@ -213,7 +214,9 @@ # html_use_smartypants = True # Custom sidebar templates, maps document names to template names. -# html_sidebars = {} +html_sidebars = { + "**": ["sidebar_nav_lv1", "sidebar-ethical-ads"] +} # Additional templates that should be rendered to pages, maps page names to # template names. @@ -486,7 +489,7 @@ ), } -# -- Custom Document processing ---------------------------------------------- +# # -- Custom Document processing ---------------------------------------------- import gensidebar From f669fe17fd94dc3e2ef270ed4beba193f77b955a Mon Sep 17 00:00:00 2001 From: flicj191 Date: Thu, 13 Feb 2025 15:56:51 +1100 Subject: [PATCH 02/26] generate gallery --- doc/sphinx/source/conf.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/sphinx/source/conf.py b/doc/sphinx/source/conf.py index 4a1fa75c98..9580f416a1 100644 --- a/doc/sphinx/source/conf.py +++ b/doc/sphinx/source/conf.py @@ -46,11 +46,11 @@ if rtd_version not in ["latest", "stable", "doc"]: rtd_version = "latest" -# # Generate gallery +# Generate gallery sys.path.append(os.path.dirname(__file__)) -# import generate_gallery +import generate_gallery -# generate_gallery.main() +generate_gallery.main() # -- General configuration ------------------------------------------------ From f7e652846c3236ed13236a5bd32d43888a5c2b89 Mon Sep 17 00:00:00 2001 From: flicj191 Date: Thu, 13 Feb 2025 16:14:23 +1100 Subject: [PATCH 03/26] remove gallery to build --- doc/sphinx/source/conf.py | 4 ++-- doc/sphinx/source/gensidebar.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/sphinx/source/conf.py b/doc/sphinx/source/conf.py index 9580f416a1..6007dbe9a4 100644 --- a/doc/sphinx/source/conf.py +++ b/doc/sphinx/source/conf.py @@ -50,7 +50,7 @@ sys.path.append(os.path.dirname(__file__)) import generate_gallery -generate_gallery.main() +# generate_gallery.main() # -- General configuration ------------------------------------------------ @@ -489,7 +489,7 @@ ), } -# # -- Custom Document processing ---------------------------------------------- +# -- Custom Document processing ---------------------------------------------- import gensidebar diff --git a/doc/sphinx/source/gensidebar.py b/doc/sphinx/source/gensidebar.py index f8b766ab7d..fdcddf27a8 100644 --- a/doc/sphinx/source/gensidebar.py +++ b/doc/sphinx/source/gensidebar.py @@ -60,7 +60,7 @@ def _header(project, text): _write("esmvaltool", "Introduction", "introduction") _write("esmvaltool", "ESMValTool Functionalities", "functionalities") _write("esmvaltool", "Getting started", "quickstart/index") - _write("esmvaltool", "Gallery", "gallery") + # _write("esmvaltool", "Gallery", "gallery") _write("esmvaltool", "Available recipes", "recipes/index") _write("esmvaltool", "Obtaining input data", "input") _write("esmvaltool", "Making a recipe or diagnostic", "develop/index") From e24b0cab2c6085838fbd64ba3e2635f8bfb8fb51 Mon Sep 17 00:00:00 2001 From: flicj191 Date: Tue, 18 Feb 2025 14:31:40 +1100 Subject: [PATCH 04/26] add back gallery and custom header --- .../source/_templates/cross_proj_navbar.html | 22 +++++++++++++++++++ doc/sphinx/source/conf.py | 4 ++-- doc/sphinx/source/gensidebar.py | 2 +- doc/sphinx/source/index.rst | 7 ++++-- setup.py | 8 +++---- 5 files changed, 34 insertions(+), 9 deletions(-) create mode 100644 doc/sphinx/source/_templates/cross_proj_navbar.html diff --git a/doc/sphinx/source/_templates/cross_proj_navbar.html b/doc/sphinx/source/_templates/cross_proj_navbar.html new file mode 100644 index 0000000000..41690f78a4 --- /dev/null +++ b/doc/sphinx/source/_templates/cross_proj_navbar.html @@ -0,0 +1,22 @@ +{# Displays links to the top-level TOCtree elements, in the header navbar. #} +{% set href = pathto(root_doc) %} + \ No newline at end of file diff --git a/doc/sphinx/source/conf.py b/doc/sphinx/source/conf.py index 6007dbe9a4..c29d7b1e94 100644 --- a/doc/sphinx/source/conf.py +++ b/doc/sphinx/source/conf.py @@ -50,7 +50,7 @@ sys.path.append(os.path.dirname(__file__)) import generate_gallery -# generate_gallery.main() +generate_gallery.main() # -- General configuration ------------------------------------------------ @@ -174,7 +174,7 @@ "image_light": "figures/ESMValTool-logo-2.png", "image_dark": "figures/ESMValTool-logo-2-dark.png", }, - # "navbar_center": ["cross_proj_navbar"], + "navbar_center": ["cross_proj_navbar"], } # Add any paths that contain custom themes here, relative to this directory. # html_theme_path = [] diff --git a/doc/sphinx/source/gensidebar.py b/doc/sphinx/source/gensidebar.py index fdcddf27a8..f8b766ab7d 100644 --- a/doc/sphinx/source/gensidebar.py +++ b/doc/sphinx/source/gensidebar.py @@ -60,7 +60,7 @@ def _header(project, text): _write("esmvaltool", "Introduction", "introduction") _write("esmvaltool", "ESMValTool Functionalities", "functionalities") _write("esmvaltool", "Getting started", "quickstart/index") - # _write("esmvaltool", "Gallery", "gallery") + _write("esmvaltool", "Gallery", "gallery") _write("esmvaltool", "Available recipes", "recipes/index") _write("esmvaltool", "Obtaining input data", "input") _write("esmvaltool", "Making a recipe or diagnostic", "develop/index") diff --git a/doc/sphinx/source/index.rst b/doc/sphinx/source/index.rst index 136c2eba08..41728ed5a5 100644 --- a/doc/sphinx/source/index.rst +++ b/doc/sphinx/source/index.rst @@ -14,6 +14,9 @@ and A tutorial is available on https://tutorial.esmvaltool.org. +Add .. Brief description on ESMValTool and ESMValCore +Add .. simplified schematic + A series of video lectures has been created by `ACCESS-NRI `_. While these are tailored for ACCESS users, they are still very informative. @@ -23,11 +26,11 @@ While these are tailored for ACCESS users, they are still very informative. | -For more detailed information, the documentation is available below. +For more detailed information, the documentation for Tool and Core is available. Get in touch! Contact information is available :ref:`here `. -.. include:: _sidebar.rst.inc +.. include: _sidebar.rst.inc Indices and tables ================== diff --git a/setup.py b/setup.py index cdadaca2d2..5c21147736 100755 --- a/setup.py +++ b/setup.py @@ -24,7 +24,7 @@ 'cartopy', 'cdo', 'cdsapi', - 'cf-units', + # 'cf-units', 'cfgrib', 'cftime', 'cmocean', @@ -32,13 +32,13 @@ 'distributed', 'ecmwf-api-client', 'eofs', - 'ESMPy', # not on PyPI + # 'ESMPy', # not on PyPI 'esmvalcore', 'esmf-regrid>=0.10.0', # iris-esmf-regrid #342 'fiona', 'fire', 'fsspec', - 'GDAL', + # 'GDAL', 'jinja2', 'joblib', 'lime', @@ -58,7 +58,7 @@ 'psy-reg>=1.5.0', 'psy-simple>=1.5.0', 'pyproj>=2.1', - 'pys2index', + # 'pys2index', 'python-dateutil', 'pyyaml', 'rasterio>=1.3.10', From 8e4a72c8d01370f2a52cf64a12fd8184a7f7bc29 Mon Sep 17 00:00:00 2001 From: flicj191 Date: Tue, 18 Feb 2025 15:41:18 +1100 Subject: [PATCH 05/26] sidebar list in index --- doc/sphinx/source/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/sphinx/source/index.rst b/doc/sphinx/source/index.rst index 41728ed5a5..f0716a5e49 100644 --- a/doc/sphinx/source/index.rst +++ b/doc/sphinx/source/index.rst @@ -30,7 +30,7 @@ For more detailed information, the documentation for Tool and Core is available. Get in touch! Contact information is available :ref:`here `. -.. include: _sidebar.rst.inc +.. include:: _sidebar.rst.inc Indices and tables ================== From a7253e673590ceea71c21e26811d550351fd74af Mon Sep 17 00:00:00 2001 From: flicj191 Date: Wed, 14 May 2025 14:56:37 +1000 Subject: [PATCH 06/26] search text --- .../source/_templates/cross_proj_navbar.html | 16 +++++++++++++--- .../source/_templates/sidebar_nav_lv1.html | 2 +- doc/sphinx/source/conf.py | 1 + 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/doc/sphinx/source/_templates/cross_proj_navbar.html b/doc/sphinx/source/_templates/cross_proj_navbar.html index 41690f78a4..582c80eabb 100644 --- a/doc/sphinx/source/_templates/cross_proj_navbar.html +++ b/doc/sphinx/source/_templates/cross_proj_navbar.html @@ -10,13 +10,23 @@ + + - \ No newline at end of file + diff --git a/doc/sphinx/source/_templates/sidebar_nav_lv1.html b/doc/sphinx/source/_templates/sidebar_nav_lv1.html index dd92633180..d5e4c84809 100644 --- a/doc/sphinx/source/_templates/sidebar_nav_lv1.html +++ b/doc/sphinx/source/_templates/sidebar_nav_lv1.html @@ -14,4 +14,4 @@ ) -}} - \ No newline at end of file + diff --git a/doc/sphinx/source/conf.py b/doc/sphinx/source/conf.py index c29d7b1e94..22efd32ebb 100644 --- a/doc/sphinx/source/conf.py +++ b/doc/sphinx/source/conf.py @@ -175,6 +175,7 @@ "image_dark": "figures/ESMValTool-logo-2-dark.png", }, "navbar_center": ["cross_proj_navbar"], + "search_bar_text": "Search TOOL docs... (Also try search in ESMValCORE docs)", } # Add any paths that contain custom themes here, relative to this directory. # html_theme_path = [] From f61fb092b75a0ab7a84e9089afbf6fdbc18235b1 Mon Sep 17 00:00:00 2001 From: flicj191 Date: Fri, 23 May 2025 14:05:03 +1000 Subject: [PATCH 07/26] landing page update add image --- .../source/figures/ESMValSchemaDiagram.png | Bin 0 -> 27644 bytes doc/sphinx/source/index.rst | 36 +++++++++++++++--- 2 files changed, 30 insertions(+), 6 deletions(-) create mode 100644 doc/sphinx/source/figures/ESMValSchemaDiagram.png diff --git a/doc/sphinx/source/figures/ESMValSchemaDiagram.png b/doc/sphinx/source/figures/ESMValSchemaDiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..7d35689c68192f338be3e6cb524ac4701c1bae90 GIT binary patch literal 27644 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 and `ESMValTool: Recipes for solid climate science `_. -A tutorial is available on https://tutorial.esmvaltool.org. -Add .. Brief description on ESMValTool and ESMValCore -Add .. simplified schematic +Basic documentation schema +-------------------------- +This gives a brief idea of topics in each of the packages to help find information. As ESMValTool encompasses ESMValCore there will be some overlap between them. +For more detailed information, see documentation navigation to the left. + +.. container:: + :name: figarch + + .. figure:: figures/ESMValSchemaDiagram.png + :alt: Brief topics for tool and core. + :figclass: align-center + + +Learning resources: +------------------- + +A tutorial is available on https://tutorial.esmvaltool.org. A series of video lectures has been created by `ACCESS-NRI `_. While these are tailored for ACCESS users, they are still very informative. @@ -24,11 +44,15 @@ While these are tailored for ACCESS users, they are still very informative. -| +How to contribute +----------------- +Refer to ESMValTool :ref:`contributing to the community` for a guide on contributing recipes and diagnostics. -For more detailed information, the documentation for Tool and Core is available. +Refer to ESMValCore :ref:`Contributing ` for information on contributing code. -Get in touch! Contact information is available :ref:`here `. +Get in touch! +------------- +Contact information is available :ref:`here `. .. include:: _sidebar.rst.inc From 87f1fff109b728a2b9bef36a1e2976aeadf3312e Mon Sep 17 00:00:00 2001 From: flicj191 Date: Fri, 23 May 2025 14:28:19 +1000 Subject: [PATCH 08/26] remove contributing link --- doc/sphinx/source/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/sphinx/source/index.rst b/doc/sphinx/source/index.rst index b2a3420b54..5d50713455 100644 --- a/doc/sphinx/source/index.rst +++ b/doc/sphinx/source/index.rst @@ -48,7 +48,7 @@ How to contribute ----------------- Refer to ESMValTool :ref:`contributing to the community` for a guide on contributing recipes and diagnostics. -Refer to ESMValCore :ref:`Contributing ` for information on contributing code. +Refer to ESMValCore contributing for information on contributing code. Get in touch! ------------- From 7c9179245876106e90c2dd2ea91876e65d94a3e5 Mon Sep 17 00:00:00 2001 From: flicj191 Date: Wed, 18 Jun 2025 11:31:48 +1000 Subject: [PATCH 09/26] Update index toctree to hide and top bar Co-authered-by: @ehogan --- doc/sphinx/source/_templates/cross_proj_navbar.html | 10 +++++----- doc/sphinx/source/index.rst | 7 ++++++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/doc/sphinx/source/_templates/cross_proj_navbar.html b/doc/sphinx/source/_templates/cross_proj_navbar.html index 582c80eabb..44d3a25ba0 100644 --- a/doc/sphinx/source/_templates/cross_proj_navbar.html +++ b/doc/sphinx/source/_templates/cross_proj_navbar.html @@ -5,17 +5,17 @@ {# { generate_header_nav_html(n_links_before_dropdown=theme_header_links_before_dropdown, dropdown_text=theme_header_dropdown_text) } #} diff --git a/doc/sphinx/source/index.rst b/doc/sphinx/source/index.rst index 5d50713455..f5a9a97581 100644 --- a/doc/sphinx/source/index.rst +++ b/doc/sphinx/source/index.rst @@ -54,7 +54,12 @@ Get in touch! ------------- Contact information is available :ref:`here `. -.. include:: _sidebar.rst.inc +.. toctree:: + :hidden: + + Introduction + ESMValTool Functionalities + Getting started Indices and tables ================== From 3e3ee1a5579141389bd9ea8f126dda4aefd55d5c Mon Sep 17 00:00:00 2001 From: flicj191 Date: Wed, 18 Jun 2025 12:12:05 +1000 Subject: [PATCH 10/26] error in toc --- doc/sphinx/source/gensidebar.py | 4 ++-- doc/sphinx/source/index.rst | 7 +------ 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/doc/sphinx/source/gensidebar.py b/doc/sphinx/source/gensidebar.py index 261d3502a3..1c521e77e4 100644 --- a/doc/sphinx/source/gensidebar.py +++ b/doc/sphinx/source/gensidebar.py @@ -33,7 +33,7 @@ def generate_sidebar(conf, conf_api): lines = ["", ".. DO NOT MODIFY! THIS PAGE IS AUTOGENERATED!", ""] def _toctree(): - lines.extend([".. toctree::", " :maxdepth: 1", ""]) + lines.extend([".. toctree::", " :maxdepth: 1", " :hidden:",""]) def _endl(): lines.append("") @@ -49,7 +49,7 @@ def _write(project, desc, link, mapping=conf["intersphinx_mapping"]): def _header(project, text): if project == conf_api or do_gen: - lines.extend([".. toctree::", " :maxdepth: 2"]) + lines.extend([".. toctree::", " :hidden:", " :maxdepth: 2"]) lines.extend([f" :caption: {text}", ""]) # diff --git a/doc/sphinx/source/index.rst b/doc/sphinx/source/index.rst index f5a9a97581..5d50713455 100644 --- a/doc/sphinx/source/index.rst +++ b/doc/sphinx/source/index.rst @@ -54,12 +54,7 @@ Get in touch! ------------- Contact information is available :ref:`here `. -.. toctree:: - :hidden: - - Introduction - ESMValTool Functionalities - Getting started +.. include:: _sidebar.rst.inc Indices and tables ================== From 18fdb3bd9e3e7688233a55fabddf107fbaae6ac8 Mon Sep 17 00:00:00 2001 From: flicj191 Date: Wed, 18 Jun 2025 13:30:23 +1000 Subject: [PATCH 11/26] gallery top bar, format gensidebar --- doc/sphinx/source/_templates/cross_proj_navbar.html | 2 +- doc/sphinx/source/gensidebar.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/sphinx/source/_templates/cross_proj_navbar.html b/doc/sphinx/source/_templates/cross_proj_navbar.html index 44d3a25ba0..2d90d08f79 100644 --- a/doc/sphinx/source/_templates/cross_proj_navbar.html +++ b/doc/sphinx/source/_templates/cross_proj_navbar.html @@ -14,7 +14,7 @@ diff --git a/doc/sphinx/source/gensidebar.py b/doc/sphinx/source/gensidebar.py index 1c521e77e4..f003f7c77c 100644 --- a/doc/sphinx/source/gensidebar.py +++ b/doc/sphinx/source/gensidebar.py @@ -33,7 +33,7 @@ def generate_sidebar(conf, conf_api): lines = ["", ".. DO NOT MODIFY! THIS PAGE IS AUTOGENERATED!", ""] def _toctree(): - lines.extend([".. toctree::", " :maxdepth: 1", " :hidden:",""]) + lines.extend([".. toctree::", " :maxdepth: 1", " :hidden:", ""]) def _endl(): lines.append("") @@ -49,7 +49,7 @@ def _write(project, desc, link, mapping=conf["intersphinx_mapping"]): def _header(project, text): if project == conf_api or do_gen: - lines.extend([".. toctree::", " :hidden:", " :maxdepth: 2"]) + lines.extend([".. toctree::", " :hidden:", " :maxdepth: 2"]) lines.extend([f" :caption: {text}", ""]) # From 102a28cedd6d2da113d6ada43db4ded86489b4ca Mon Sep 17 00:00:00 2001 From: flicj191 Date: Wed, 18 Jun 2025 14:14:06 +1000 Subject: [PATCH 12/26] check gallery --- doc/sphinx/source/_templates/cross_proj_navbar.html | 2 +- doc/sphinx/source/generate_gallery.py | 1 + doc/sphinx/source/index.rst | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/sphinx/source/_templates/cross_proj_navbar.html b/doc/sphinx/source/_templates/cross_proj_navbar.html index 2d90d08f79..6e0f6443f3 100644 --- a/doc/sphinx/source/_templates/cross_proj_navbar.html +++ b/doc/sphinx/source/_templates/cross_proj_navbar.html @@ -14,7 +14,7 @@ diff --git a/doc/sphinx/source/generate_gallery.py b/doc/sphinx/source/generate_gallery.py index 6ee72601d2..4513c4547d 100644 --- a/doc/sphinx/source/generate_gallery.py +++ b/doc/sphinx/source/generate_gallery.py @@ -6,6 +6,7 @@ RECIPE_DIR = "recipes" OUT_PATH = os.path.abspath("gallery.rst") HEADER = ( + ":html_theme.sidebar_secondary.remove:\n" ".. DO NOT MODIFY! THIS PAGE IS AUTOGENERATED!\n\n" "#######\nGallery\n#######\n\n" "This section shows example plots produced by ESMValTool. For more " diff --git a/doc/sphinx/source/index.rst b/doc/sphinx/source/index.rst index 5d50713455..fb74876c32 100644 --- a/doc/sphinx/source/index.rst +++ b/doc/sphinx/source/index.rst @@ -1,3 +1,4 @@ +:html_theme.sidebar_secondary.remove: .. ESMValTool documentation master file, created by sphinx-quickstart on Tue Jun 2 11:34:13 2015. You can adapt this file completely to your liking, but it should at least @@ -57,7 +58,7 @@ Contact information is available :ref:`here `. .. include:: _sidebar.rst.inc Indices and tables -================== +------------------ * :ref:`genindex` * :ref:`search` From 60d23bd003bac24603e37e93aff9a45c4f8cc7e6 Mon Sep 17 00:00:00 2001 From: flicj191 Date: Wed, 18 Jun 2025 14:22:48 +1000 Subject: [PATCH 13/26] check gallery --- doc/sphinx/source/generate_gallery.py | 2 +- doc/sphinx/source/index.rst | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/sphinx/source/generate_gallery.py b/doc/sphinx/source/generate_gallery.py index 4513c4547d..c91e0ac917 100644 --- a/doc/sphinx/source/generate_gallery.py +++ b/doc/sphinx/source/generate_gallery.py @@ -6,7 +6,7 @@ RECIPE_DIR = "recipes" OUT_PATH = os.path.abspath("gallery.rst") HEADER = ( - ":html_theme.sidebar_secondary.remove:\n" + ":html_theme.sidebar_secondary.remove:\n\n" ".. DO NOT MODIFY! THIS PAGE IS AUTOGENERATED!\n\n" "#######\nGallery\n#######\n\n" "This section shows example plots produced by ESMValTool. For more " diff --git a/doc/sphinx/source/index.rst b/doc/sphinx/source/index.rst index fb74876c32..611dfca15d 100644 --- a/doc/sphinx/source/index.rst +++ b/doc/sphinx/source/index.rst @@ -1,4 +1,5 @@ :html_theme.sidebar_secondary.remove: + .. ESMValTool documentation master file, created by sphinx-quickstart on Tue Jun 2 11:34:13 2015. You can adapt this file completely to your liking, but it should at least From 9a62b43e4aaa6fc2531b5800b0920b36213bc547 Mon Sep 17 00:00:00 2001 From: flicj191 Date: Wed, 18 Jun 2025 14:39:43 +1000 Subject: [PATCH 14/26] check gallery --- doc/sphinx/source/_templates/cross_proj_navbar.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/sphinx/source/_templates/cross_proj_navbar.html b/doc/sphinx/source/_templates/cross_proj_navbar.html index 6e0f6443f3..a8fe8edcf9 100644 --- a/doc/sphinx/source/_templates/cross_proj_navbar.html +++ b/doc/sphinx/source/_templates/cross_proj_navbar.html @@ -14,7 +14,7 @@ From 667c9b433b1241e5432f147359f62a8a22745072 Mon Sep 17 00:00:00 2001 From: flicj191 Date: Tue, 15 Jul 2025 13:33:12 +1000 Subject: [PATCH 15/26] comment suggestions reorder toc --- doc/sphinx/source/_static/custom.css | 4 ++++ doc/sphinx/source/conf.py | 4 ++-- doc/sphinx/source/index.rst | 21 +++++++++++++++++++-- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/doc/sphinx/source/_static/custom.css b/doc/sphinx/source/_static/custom.css index ba3dbf80c3..6dd8623b99 100644 --- a/doc/sphinx/source/_static/custom.css +++ b/doc/sphinx/source/_static/custom.css @@ -44,3 +44,7 @@ .gallery figure span.caption-number { display: none; } + +figure.transparent img { + background-color: transparent; +} \ No newline at end of file diff --git a/doc/sphinx/source/conf.py b/doc/sphinx/source/conf.py index 94cde95268..4cce35b83f 100644 --- a/doc/sphinx/source/conf.py +++ b/doc/sphinx/source/conf.py @@ -503,6 +503,6 @@ # -- Custom Document processing ---------------------------------------------- -import gensidebar +# import gensidebar -gensidebar.generate_sidebar(globals(), "esmvaltool") +# gensidebar.generate_sidebar(globals(), "esmvaltool") diff --git a/doc/sphinx/source/index.rst b/doc/sphinx/source/index.rst index 611dfca15d..0dd373f700 100644 --- a/doc/sphinx/source/index.rst +++ b/doc/sphinx/source/index.rst @@ -24,7 +24,8 @@ and Basic documentation schema -------------------------- This gives a brief idea of topics in each of the packages to help find information. As ESMValTool encompasses ESMValCore there will be some overlap between them. -For more detailed information, see documentation navigation to the left. +For more detailed information, see documentation navigation to the left. Please also see +`ESMValCore documentation `. .. container:: :name: figarch @@ -56,7 +57,23 @@ Get in touch! ------------- Contact information is available :ref:`here `. -.. include:: _sidebar.rst.inc +.. toctree:: + :hidden: + :maxdepth: 2 + :caption: ESMValTool + + Introduction + ESMValTool Functionalities + Gallery + Getting started + Recipes + Diagnostics API Reference + Obtaining input data + Making a recipe or diagnostic + Contributing to the community + Utilities + Frequently Asked Questions + Changelog Indices and tables ------------------ From 00eae6ef66f2d7210284d8bc5fd3be6c133621bb Mon Sep 17 00:00:00 2001 From: Felicity Chun <32269066+flicj191@users.noreply.github.com> Date: Tue, 15 Jul 2025 13:35:50 +1000 Subject: [PATCH 16/26] Apply suggestions from code review Co-authored-by: Lukas --- doc/sphinx/source/_templates/cross_proj_navbar.html | 5 ----- doc/sphinx/source/index.rst | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/doc/sphinx/source/_templates/cross_proj_navbar.html b/doc/sphinx/source/_templates/cross_proj_navbar.html index a8fe8edcf9..181241b238 100644 --- a/doc/sphinx/source/_templates/cross_proj_navbar.html +++ b/doc/sphinx/source/_templates/cross_proj_navbar.html @@ -13,11 +13,6 @@ ESMValCore -