diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 62c83e1..c96da4a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -7,63 +7,48 @@ on: tags: - '*' pull_request: + workflow_dispatch: jobs: - jupyterbook: - name: Build Jupyter Book + name: Build Jupyter Book and Sphinx Docs runs-on: ubuntu-latest + steps: - uses: actions/checkout@v2 + + - name: Cancel previous runs + uses: styfle/cancel-workflow-action@0.12.0 + with: + access_token: ${{ github.token }} + + - name: checkout + uses: actions/checkout@v4 + with: + token: ${{ github.token }} + - name: Set up Python uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: 3.11 + - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt - pip install -e . + python -m pip install . --no-deps + + - name: pip list + run: | + pip list + - name: Download references from Sphinx Book Theme - run: python docs/getreferences.py docs/references - - name: Build Jupyter Book - run: jupyter-book build docs + run: | + python docs/getreferences.py docs/references - sphinx: - name: Build Sphinx Docs - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: 3.8 - - name: Install dependencies + - name: Build Jupyter Book run: | - python -m pip install --upgrade pip - pip install -r requirements.txt - pip install -e . + jupyter-book build docs + - name: Build Sphinx documentation run: sphinx-build -b html docs docs/_build/html - - publish: - name: Publish to PyPI - needs: [jupyterbook, sphinx] - if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') - runs-on: ubuntu-latest - steps: - - name: Checkout source - uses: actions/checkout@v2 - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: 3.8 - - name: Install build dependecies - run: pip install setuptools setuptools-scm wheel - - name: Build package - run: python setup.py sdist bdist_wheel - - name: Publish - uses: pypa/gh-action-pypi-publish@release/v1 - with: - user: __token__ - password: ${{ secrets.PYPI_TOKEN }} diff --git a/.github/workflows/pypi.yaml b/.github/workflows/pypi.yaml new file mode 100644 index 0000000..5712e63 --- /dev/null +++ b/.github/workflows/pypi.yaml @@ -0,0 +1,67 @@ +name: Upload to PyPI + +on: + release: + types: + - published + +jobs: + test-build: + if: github.repository == 'ProjectPythia/sphinx-pythia-theme' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5.0.0 + with: + python-version: "3.11" + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install build twine + + - name: Build tarball and wheels + run: | + git clean -xdf + git restore -SW . + python -m build + + - name: Test the built artifacts + run: | + python -m twine check --strict dist/* + pwd + if [ -f dist/sphinx-pythia-theme-0.0.0.tar.gz ]; then + echo "❌ INVALID VERSION NUMBER" + exit 1 + else + echo "✅ Looks good" + fi + - uses: actions/upload-artifact@v4 + with: + name: releases + path: dist + + publish: + needs: test-build + if: github.event_name == 'release' + runs-on: ubuntu-latest + + environment: + name: pypi + url: https://pypi.org/p/sphinx-pythia-theme + permissions: + id-token: write + + steps: + - uses: actions/download-artifact@v4 + with: + name: releases + path: dist + + - name: Publish package to PyPI + uses: pypa/gh-action-pypi-publish@v1.8.11 + with: + user: __token__ + password: ${{ secrets.PYPI_TOKEN }} \ No newline at end of file diff --git a/.readthedocs.yaml b/.readthedocs.yaml index b37f7e4..5c30b85 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -5,14 +5,17 @@ # Required version: 2 +build: + os: "ubuntu-20.04" + tools: + python: "mambaforge-4.10" + jobs: + post_create_environment: + - python -m pip install --no-cache-dir . + # Build documentation in the docs/ directory with Sphinx sphinx: configuration: docs/conf.py -# Optionally set the version of Python and requirements required to build your docs -python: - version: '3.8' - install: - - requirements: requirements.txt - - method: pip - path: . +conda: + environment: ci/docs.yml diff --git a/MANIFEST.in b/MANIFEST.in index 3939d0b..5dd0c74 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -11,6 +11,7 @@ exclude .readthedocs.yaml exclude .web-compile-config.yml exclude requirements.txt recursive-exclude ci *.yml +recursive-exclude ci *.yaml include LICENSE include MANIFEST.in diff --git a/ci/docs.yml b/ci/docs.yml new file mode 100644 index 0000000..bba8e69 --- /dev/null +++ b/ci/docs.yml @@ -0,0 +1,8 @@ +name: sphinx-pythia-theme-docs +channels: + - conda-forge +dependencies: + - python<3.12 + - pip + - pip: + - -r ../requirements.txt diff --git a/docs/_config.yml b/docs/_config.yml index d4daaef..3598c39 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -3,8 +3,8 @@ title: "" logo: images/dummy_logo_dark.svg author: the Project Pythia Community -copyright: "2022" -email: kpaul@ucar.edu +copyright: "2024" +email: projectpythia@ucar.edu description: >- # this means to ignore newlines This is an example book built with Jupyter Books. @@ -104,7 +104,7 @@ sphinx: extra_extensions: - ablog - sphinx_click.ext - - sphinx_inline_tabs - sphinx.ext.autodoc - sphinx.ext.intersphinx - sphinxcontrib.bibtex + - sphinxcontrib.youtube diff --git a/docs/about.rst b/docs/about.rst index ad3643b..0d8ec83 100644 --- a/docs/about.rst +++ b/docs/about.rst @@ -18,7 +18,7 @@ Where the Sphinx Book Theme places your ``html_logo`` at the top of the left sid Theme places the logo on the left of the top navigation bar. The PyData Sphinx Theme allows the user to set the link attached to the logo with the ``logo_link`` option in your Sphinx ``html_theme_options`` dictionary. You can learn how to customize your logo on the -`PyData Sphinx Theme documentation `_. +`PyData Sphinx Theme documentation `_. The links on the navigation bar can be set with the ``html_theme_options`` ``navbar_links`` option. This is a list of dictionaries containing a ``name`` key, ``url`` key, and an ``external`` key. The @@ -31,7 +31,7 @@ Additionally, the (``external_links``) option from the PyData Sphinx Theme still works, and these links will be displayed after any links specified by the ``navbar_links`` option. -.. tabbed:: Sphinx +.. tab-set-code:: Sphinx .. code-block:: python @@ -46,7 +46,7 @@ will be displayed after any links specified by the ``navbar_links`` option. ] } -.. tabbed:: Jupyter Book +.. tab-set-code:: Jupyter Book .. code-block:: yaml @@ -75,8 +75,13 @@ Footer Bar ---------- In addition to the top navigation bar at the top of each page, the full-width footer -bar from the PyData Sphinx Theme has been readded to the bottom of every page. By default, the -footer bar only contains copyright and additional information about the Sphinx version (if configured). +bar from the PyData Sphinx Theme has been re-added to the bottom of every page. + +.. note:: + While PyData Sphinx Theme has ``footer_start``, ``footer_center``, and ``footer_end`` to set, +our theme supports only ``footer_start``, and allows to add below structures into it. + +By default, the footer bar only contains copyright and additional information about the Sphinx version (if configured). Three additional sections can be added to the footer: a *logo bar*, a *bottom navigation menu*, and an *extras* section. @@ -84,14 +89,14 @@ Footer Logo Bar ^^^^^^^^^^^^^^^ The *logo bar* section can be used to add logo images for various partner or collaboration -institutions, products, or other entities involved with site itself. These are spread out +institutions, products, or other entities involved with site itself. These are spread out evenly across the footer in a light-gray full-width box. To add logo images to the *logo bar* in the footer, use the ``footer_logos`` option of the -``html_theme_options``. The name given to each logo is used as the alternate name of -the image in HTML. +``html_theme_options`` and then add it to ``footer_start``. The name given to each logo is +used as the alternate name of the image in HTML. -.. tabbed:: Sphinx +.. tab-set-code:: Sphinx .. code-block:: python @@ -99,10 +104,11 @@ the image in HTML. 'footer_logos': { 'name1': 'images/logo1.svg', 'name2': 'images/logo2.svg', - } + }, + "footer_start": ["footer-logos"] } -.. tabbed:: Jupyter Book +.. tab-set-code:: Jupyter Book .. code-block:: yaml @@ -125,7 +131,7 @@ key containing any CSS classes to add to the HTML column division, and an ``item list of dictionaries containing ``name``, ``url``, and ``external`` keys (with the same meaning as the keys in the ``navbar_links`` option above). -.. tabbed:: Sphinx +.. tab-set-code:: Sphinx .. code-block:: python @@ -162,9 +168,10 @@ the keys in the ``navbar_links`` option above). ], }, ], + "footer_start": ["footer-menu"] } -.. tabbed:: Jupyter Book +.. tab-set-code:: Jupyter Book .. code-block:: yaml @@ -195,7 +202,7 @@ Extra Footer The *extra* section of the footer is displayed immediately below the *info* section, and it can be set with the `extra footer `_ -(``extra_footer``) Sphinx Book Theme option. +(``extra_footer``) Sphinx Book Theme option and then added to the ``footer_start``. Special Page layouts -------------------- @@ -227,7 +234,7 @@ Each *banner* section can be given its own background color or even background i To customize your own banners, all you need to do is add a ``banner`` directive to your section. -.. tabbed:: reStructuredText +.. tab-set-code:: reStructuredText .. code-block:: rst @@ -237,7 +244,7 @@ section. caption: Photo by Jeff Stapleton from Pexels class: dark-banner -.. tabbed:: Myst Markdown +.. tab-set-code:: Myst Markdown .. code-block:: markdown @@ -275,7 +282,7 @@ you need to declare which pages (by document name) will have the *banner* layout this, you need to declare the ``page_layouts`` option in the ``html_theme_options`` and tell the theme to use the ``page-banner.html`` template. -.. tabbed:: Sphinx +.. tab-set-code:: Sphinx .. code-block:: python @@ -285,7 +292,7 @@ tell the theme to use the ``page-banner.html`` template. } } -.. tabbed:: Jupyter Book +.. tab-set-code:: Jupyter Book .. code-block:: yaml diff --git a/docs/conf.py b/docs/conf.py index 61c1cc7..61bd32e 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -9,8 +9,8 @@ # -- Project information ----------------------------------------------------- -author = "the Project Pythia Community" -copyright = "2022" +author = "The Project Pythia Community" +copyright = "2024" # -- General configuration --------------------------------------------------- @@ -32,15 +32,18 @@ "sphinx_click.ext", "sphinx_comments", "sphinx_copybutton", + "sphinx_design", "sphinx_external_toc", - "sphinx_inline_tabs", "sphinx_panels", + "sphinx_tabs.tabs", "sphinx_thebe", "sphinx_togglebutton", "sphinx.ext.autodoc", "sphinx.ext.intersphinx", + "sphinx.ext.todo", "sphinx.ext.viewcode", "sphinxcontrib.bibtex", + "sphinxcontrib.youtube", "sphinxext.opengraph", ] @@ -52,12 +55,12 @@ external_toc_path = "_toc.yml" intersphinx_mapping = { - "python": ("https://docs.python.org/3.8", None), + "python": ("https://docs.python.org/3.11", None), "sphinx": ("https://www.sphinx-doc.org/en/master", None), } jupyter_cache = "" -jupyter_execute_notebooks = "cache" +nb_execution_mode = "cache" execution_allow_errors = False execution_excludepatterns = [] execution_in_temp = False @@ -115,7 +118,7 @@ "index": [], "standalone": [], "reference/blog/*": [ - "sidebar-logo.html", + "navbar-logo.html", "search-field.html", "postcard.html", "recentposts.html", @@ -123,7 +126,6 @@ "categories.html", "archives.html", "sbt-sidebar-nav.html", - "sbt-sidebar-footer.html", ], } @@ -144,7 +146,9 @@ "use_repository_button": True, "use_download_button": True, "logo_only": True, - "logo_link": "https://sphinx-pythia-theme.readthedocs.io", + "logo": { + "link": "https://sphinx-pythia-theme.readthedocs.io", + }, "show_toc_level": 2, "navbar_align": "left", "navbar_links": [ @@ -170,6 +174,7 @@ }, "UAlbany": "images/UAlbany-A2-logo-purple-gold.svg", }, + "footer_start": ["footer-logos", "footer-menu", "footer-info", "footer-extra"], "extra_navbar": ('Theme by Project Pythia'), } diff --git a/pyproject.toml b/pyproject.toml index c3225b2..c85c273 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,2 +1,9 @@ [build-system] -requires = ["setuptools>=45", "wheel", "setuptools_scm>=6.2"] +build-backend = "setuptools.build_meta" +requires = [ + "setuptools>=42", + "setuptools-scm>=7", +] + +[tool.setuptools_scm] +fallback_version = "9999" diff --git a/requirements.txt b/requirements.txt index f0e5403..e728abe 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,6 +4,8 @@ jupyter-book matplotlib pandas sphinx-click +sphinx-design sphinx-panels -sphinx-inline-tabs +sphinx-tabs +sphinxcontrib-youtube sphinxext-opengraph diff --git a/setup.py b/setup.py index 16b4ce0..12a7ec7 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ "Bug Tracker": "https://github.com/ProjectPythia/sphinx-pythia-theme/issues", }, author="Kevin Paul", - author_email="kpaul@ucar.edu", + author_email="projectpythia@ucar.edu", classifiers=[ "Development Status :: 3 - Alpha", "Environment :: Web Environment", @@ -30,7 +30,7 @@ zip_safe=True, include_package_data=True, install_requires=[ - "sphinx-book-theme>=0.1.7,<0.2", + "sphinx-book-theme>=1.0.0", ], packages=find_packages(), entry_points={"sphinx.html_themes": ["sphinx_pythia_theme = sphinx_pythia_theme"]}, diff --git a/sphinx_pythia_theme/__init__.py b/sphinx_pythia_theme/__init__.py index 344227d..4e29ee6 100644 --- a/sphinx_pythia_theme/__init__.py +++ b/sphinx_pythia_theme/__init__.py @@ -152,7 +152,7 @@ def copy_image(app, image): def setup(app: Sphinx): - app.require_sphinx("3.5") + app.require_sphinx("5.0") app.add_html_theme("sphinx_pythia_theme", get_html_theme_path()) app.add_directive("banner", Banner) app.connect("builder-inited", copy_config_images) diff --git a/sphinx_pythia_theme/footer.html b/sphinx_pythia_theme/footer.html index 5a1b2e9..2860483 100644 --- a/sphinx_pythia_theme/footer.html +++ b/sphinx_pythia_theme/footer.html @@ -1,9 +1,14 @@ -
-
- {% for footer_item in theme_footer_items %} - -
+ {% endif %} +{% endif %} diff --git a/sphinx_pythia_theme/layout.html b/sphinx_pythia_theme/layout.html index 97f993a..b44b125 100644 --- a/sphinx_pythia_theme/layout.html +++ b/sphinx_pythia_theme/layout.html @@ -1,68 +1,107 @@ {%- extends "sphinx_book_theme/layout.html" %} -{%- block body_tag %} - -{%- endblock %} - {%- block content %} -
- - - {%- block docs_navbar %} - - {%- endblock %} - - {%- if theme_page_layouts and pagename in theme_page_layouts %} -
- {%- else %} -
- {%- endif %} -
- {%- block docs_sidebar %} - {%- if sidebars %} - {{ super() }} - {%- else %} -
- {%- endif %} - {%- endblock %} - - {%- block docs_toc %} - {{ super() }} - {%- endblock %} - - {%- block docs_main %} - {%- if theme_page_layouts and pagename in theme_page_layouts %} + + {# A tiny helper pixel to detect if we've scrolled #} +
+ + {%- block docs_navbar %} + + {%- endblock docs_navbar %} + + {%- if theme_page_layouts and pagename in theme_page_layouts %} +
+
+ {%- else %} +
+
+ {%- endif %} + {%- if theme_page_layouts and pagename in theme_page_layouts %} {%- include theme_page_layouts[pagename] %} - {%- else %} -
- {%- block docs_body %} - {%- if sidebars %} - {%- include "topbar.html" %} - {%- endif %} -
-
- {{ super.super() }} - {%- if theme_show_prev_next %} - {%- include "_templates/prev-next.html" %} - {%- endif %} + {%- else %} + {# Primary sidebar #} + {# If we have no sidebar TOC, pop the TOC component from the sidebars list #} + {% if suppress_sidebar_toctree(includehidden=theme_sidebar_includehidden | tobool) %} + {% set sidebars = sidebars | reject("in", "sidebar-nav-bs.html") | list %} + {% endif %} + + + {# Using an ID here so that the skip-link works #} +
+ {# Main content area #} + {%- block docs_main %} + +
+ +
+ + {# Article content #} + {%- block docs_body %} + {# This is empty and only shows up if text has been highlighted by the URL #} + {% include "components/searchbox.html" %} +
+ {% block body %}{% endblock %} +
+ {%- endblock docs_body %} + + {# Article Footer #} + {% if theme_article_footer_items %} +
+ {% include "sections/footer-article.html" %} +
+ {% endif %} + + {# prev-next buttons #} + {% if theme_show_prev_next %} +
+ {% include "components/prev-next.html" %} +
+ {% endif %} +
+ + {# Secondary sidebar #} + {% block docs_toc %} + {% if not remove_sidebar_secondary %} +
{% include "sections/sidebar-secondary.html" %}
+ {% endif %} + {% endblock docs_toc %} + + + {# Article header #} +
{% include "sections/header-article.html" %}
-
- {%- endblock %} -
- {%- endif %} - {%- endblock %} -
+
+ {% include "sections/footer-content.html" %} +
+ + {%- endblock docs_main %} + + + {%- endif %}
+
{%- block scripts_end %} - {{ _webpack.body_post() }} + {{ _webpack.body_post() }} {%- endblock %} -{%- endblock %} +{%- endblock content %} +{# Use our own footer to use only footer_start and display multiple #} +{# structures in it, e.g. logos, menu, etc. #} {%- block footer %} -{{ super.super() }} +
+ {% include "footer.html" %} +
{%- endblock %} + +{# Silence the sidebars and relbars since we define our own #} +{% block header %}{% endblock %} +{% block relbar1 %}{% endblock %} +{% block relbar2 %}{% endblock %} +{% block sidebarsourcelink %}{% endblock %} diff --git a/sphinx_pythia_theme/page-standalone.html b/sphinx_pythia_theme/page-standalone.html index 23ebc23..a8689d8 100644 --- a/sphinx_pythia_theme/page-standalone.html +++ b/sphinx_pythia_theme/page-standalone.html @@ -3,8 +3,7 @@
{{ apply_denested_layout(body) }} {% if theme_show_prev_next %} - {% include "_templates/prev-next.html" %} - {% endif %} -
+ {% include "components/prev-next.html" %} + {% endif %}
diff --git a/sphinx_pythia_theme/static/sphinx-pythia-theme.min.css b/sphinx_pythia_theme/static/sphinx-pythia-theme.min.css index 29e0233..997d17c 100644 --- a/sphinx_pythia_theme/static/sphinx-pythia-theme.min.css +++ b/sphinx_pythia_theme/static/sphinx-pythia-theme.min.css @@ -1 +1,2 @@ -@import url(sphinx-book-theme.css);:root{--spt-font-body: 'Poppins';--spt-font-headings: 'Poppins';--spt-font-footnote: 'Cormorant';--spt-color-gray-100: 248, 249, 250;--spt-color-gray-200: 233, 236, 239;--spt-color-gray-300: 222, 226, 230;--spt-color-gray-400: 206, 212, 218;--spt-color-gray-500: 173, 181, 189;--spt-color-gray-600: 108, 117, 125;--spt-color-gray-700: 73, 80, 87;--spt-color-gray-800: 52, 58, 64;--spt-color-gray-900: 33, 37, 41;--spt-color-light: var(--spt-color-gray-100);--spt-color-dark: var(--spt-color-gray-800);--spt-color-green: 0, 121, 124;--spt-color-green-lighter: 20, 141, 144;--spt-color-green-lightest: 130, 231, 234;--spt-color-blue: 26, 101, 143;--spt-color-blue-lighter: 46, 121, 163;--spt-color-blue-lightest: 156, 191, 213;--spt-color-deep-blue: 1, 33, 105;--spt-color-green-highlight: 168, 199, 0;--pst-color-primary: var(--spt-color-blue);--pst-color-primary-hover: var(--spt-color-blue-lighter);--pst-color-link: var(--pst-color-primary);--pst-color-link-hover: var(--pst-color-primary);--pst-color-headerlink: var(--spt-color-gray-500);--pst-color-headerlink-hover: var(--spt-color-gray-500);--tabs-size-label: 0.8rem !important;--tabs-color-label-active: rgba(var(--pst-color-primary), 1) !important;--tabs-color-label-inactive: rgba(var(--spt-color-blue-lightest), 1) !important}body{font-family:var(--spt-font-body),sans-serif}html{scroll-behavior:smooth;scroll-padding-top:128px}.admonition.alert-info,div.admonition.alert-info{border-color:#0c5460 !important}.admonition.alert-info .admonition-title::before,div.admonition.alert-info .admonition-title::before{color:#0c5460 !important}.admonition.alert-success,div.admonition.alert-success{border-color:#155724 !important}.admonition.alert-success .admonition-title::before,div.admonition.alert-success .admonition-title::before{color:#155724 !important}.admonition.alert-warning,div.admonition.alert-warning{border-color:#856404 !important}.admonition.alert-warning .admonition-title::before,div.admonition.alert-warning .admonition-title::before{color:#856404 !important}.admonition.alert-danger,div.admonition.alert-danger{border-color:#721c24 !important}.admonition.alert-danger .admonition-title::before,div.admonition.alert-danger .admonition-title::before{color:#721c24 !important}.bg-primary{background-color:rgba(var(--pst-color-primary), 1) !important;color:white !important}.btn-primary{background-color:rgba(var(--pst-color-primary), 1) !important;border-color:rgba(var(--pst-color-primary), 1) !important;color:white !important}.btn-primary:hover{background-color:rgba(var(--pst-color-primary-hover), 1) !important;color:white !important}.btn-outline-primary{border-color:rgba(var(--pst-color-primary), 1) !important;color:rgba(var(--pst-color-primary), 1) !important}.btn-outline-primary:hover,.show>.btn-outline-primary.dropdown-toggle{background-color:rgba(var(--pst-color-primary), 1) !important;color:white !important}.btn-link{color:rgba(var(--pst-color-primary), 1) !important}.display-1{font-size:5rem !important}.display-2{font-size:3rem !important}.display-3{font-size:2rem !important}.display-4{font-size:1.6667rem !important}.display-5{font-size:1.3333rem !important}.display-6{font-size:1rem !important}.form-control:focus{outline:none !important;box-shadow:none !important}.navbar-brand{padding:.75rem 0 !important}.row{margin-left:0 !important;margin-right:0 !important}a.badge{text-decoration:none !important}a.navbar-brand img{vertical-align:middle !important}body>div.container-fluid,body>div.container-xl{padding-right:0;padding-left:0}i.fab,i.far,i.fas{font-size:70%}a.headerlink i.fab,a.headerlink i.far,a.headerlink i.fas{position:absolute;top:50%;transform:translateY(-50%)}a.headerlink{position:relative;text-decoration:none;font-size:unset !important;padding:0 0.7rem !important}a.headerlink:hover{color:rgba(var(--spt-color-gray-500), 1);background-color:transparent}div.highlight pre{border:1px solid rgba(var(--spt-color-gray-300), 1) !important;border-radius:4px !important;background-color:rgba(var(--spt-color-gray-200), 1) !important}.bd-sidebar .nav li>a{padding-top:0.1rem;padding-bottom:0.1rem}.bd-toc nav>.nav{border-left:1px solid #eee;border-bottom:1px solid #eee;border-radius:0 0 0 6px;padding-bottom:0.5em}.prev-next-area{margin:2rem auto 0 auto;border-top:1px solid rgba(var(--spt-color-gray-300), 1);max-width:calc(0.5 * (var(--breakpoint-md) + var(--breakpoint-lg)))}.prev-next-area i{font-size:1.1rem;color:rgba(var(--spt-color-gray-600), 1)}.prev-next-area a p.prev-next-title{font-size:1rem;font-weight:600;color:rgba(var(--spt-color-gray-600), 1)}#banner{margin-top:var(--pst-header-height) !important}#site-navigation{top:var(--pst-header-height) !important;height:calc(100vh - var(--pst-header-height)) !important;padding-top:0}#main-content{min-height:calc(100vh - var(--pst-header-height))}.topbar{top:var(--pst-header-height) !important;padding:0 !important}.topbar-main button:focus{outline:none !important}.cell .cell_input,.cell .cell_output{padding:0 !important}.cell .cell_input{border:1px solid rgba(var(--spt-color-gray-300), 1) !important;border-radius:4px !important;border-left-color:rgba(var(--pst-color-primary), 1) !important;border-left-width:medium !important;background-color:rgba(var(--spt-color-gray-200), 1) !important}.cell .cell_input pre{border:none !important;background-color:rgba(var(--spt-color-gray-200), 1) !important}.cell .cell_output{border:none !important}.cell .cell_output pre{border:1px solid rgba(var(--spt-color-gray-300), 1) !important;border-radius:4px !important;background-color:rgba(var(--spt-color-gray-200), 1) !important}.tabbed-content{box-shadow:0 -0.0625rem var(--tabs-color-overline) !important;padding-bottom:0 !important}.tabbed-set>label{padding:0 1rem !important;margin:0 !important}.thebe-launch-button{height:2.2em !important;font-size:.8em !important;border:1px solid rgba(var(--spt-color-gray-600), 1) !important;border-radius:4px !important;color:rgba(var(--spt-color-gray-600), 1)}#shim{padding:0;margin-top:var(--pst-header-height)}#navbar-main{z-index:5000;padding-left:15px;padding-right:15px}#navbar-main .container-xl{padding:0}#navbar-icon-links i:before{color:var(--spt-color-light) !important}main.standalone-main{padding:0 !important;background-color:white}main.standalone-main div.sectionwrapper-1,main.standalone-main div.sectionwrapper-2{color:rgba(var(--spt-color-dark), 1)}main.standalone-main div.section-1,main.standalone-main div.section-2{position:relative;padding-top:1rem;padding-bottom:1rem;max-width:calc(0.5 * (var(--breakpoint-md) + var(--breakpoint-lg)))}main.standalone-main div.section-1 h6,main.standalone-main div.section-1 .h6,main.standalone-main div.section-1 h5,main.standalone-main div.section-1 .h5,main.standalone-main div.section-1 h4,main.standalone-main div.section-1 .h4,main.standalone-main div.section-1 h3,main.standalone-main div.section-1 .h3,main.standalone-main div.section-1 h2,main.standalone-main div.section-1 .h2,main.standalone-main div.section-1 h1,main.standalone-main div.section-1 .h1,main.standalone-main div.section-2 h6,main.standalone-main div.section-2 .h6,main.standalone-main div.section-2 h5,main.standalone-main div.section-2 .h5,main.standalone-main div.section-2 h4,main.standalone-main div.section-2 .h4,main.standalone-main div.section-2 h3,main.standalone-main div.section-2 .h3,main.standalone-main div.section-2 h2,main.standalone-main div.section-2 .h2,main.standalone-main div.section-2 h1,main.standalone-main div.section-2 .h1{margin-top:0;margin-bottom:0.5rem}main.standalone-main div.section-1 h3,main.standalone-main div.section-1 .h3,main.standalone-main div.section-1 h4,main.standalone-main div.section-1 .h4,main.standalone-main div.section-1 h5,main.standalone-main div.section-1 .h5,main.standalone-main div.section-1 h6,main.standalone-main div.section-1 .h6,main.standalone-main div.section-2 h3,main.standalone-main div.section-2 .h3,main.standalone-main div.section-2 h4,main.standalone-main div.section-2 .h4,main.standalone-main div.section-2 h5,main.standalone-main div.section-2 .h5,main.standalone-main div.section-2 h6,main.standalone-main div.section-2 .h6{padding:1rem 0}main.standalone-main div.section-title-wrapper{display:flex;justify-content:flex-start}main.standalone-main div.section-title{padding:0 4rem 0.1rem 0;margin:0 0 1.6rem 0;border-bottom:2px solid rgba(var(--spt-color-deep-blue), 1)}main.banner-main{padding:0 !important}main.banner-main #main-content{padding:0 !important}main.banner-main div.sectionwrapper-1{position:relative;background-size:cover;background-position:center center;color:rgba(var(--spt-color-light), 1);background-color:rgba(var(--spt-color-gray-700), 1)}main.banner-main div.sectionwrapper-1 div.section-banner-caption{position:absolute;right:0;bottom:0;font-size:0.8rem;opacity:0.6;padding-right:0.5rem}main.banner-main div.sectionwrapper-2{color:rgba(var(--spt-color-dark), 1);background-color:rgba(var(--spt-color-light), 1)}main.banner-main div.sectionwrapper-2:nth-child(even){background-color:rgba(var(--spt-color-gray-300), 1)}main.banner-main div.section-1,main.banner-main div.section-2{position:relative;padding-top:7rem;padding-bottom:7rem;max-width:calc(0.5 * (var(--breakpoint-md) + var(--breakpoint-lg)))}main.banner-main div.section-1 h3,main.banner-main div.section-1 h4,main.banner-main div.section-1 h5,main.banner-main div.section-1 h6,main.banner-main div.section-2 h3,main.banner-main div.section-2 h4,main.banner-main div.section-2 h5,main.banner-main div.section-2 h6{padding:2rem 0 1rem 0;text-align:center}main.banner-main div.section-title-wrapper{display:flex;justify-content:center}main.banner-main div.section-title{padding:0 4rem 1rem 4rem;margin-bottom:3rem;border-bottom:2px solid rgba(var(--spt-color-deep-blue), 1)}main.banner-main p{font-size:1.25rem;font-weight:300}main.banner-main div.section.dark-banner h1,main.banner-main div.section.dark-banner h2,main.banner-main div.section.dark-banner h3,main.banner-main div.section.dark-banner h4,main.banner-main div.section.dark-banner h5,main.banner-main div.section.dark-banner h6{color:var(--spt-color-light) !important}main.banner-main div.section.dark-banner p{color:var(--spt-color-light) !important}.footer{color:rgba(var(--spt-color-light), 1);font-size:0.8rem;font-family:var(--spt-font-footnote);padding:0}.footer h1,.footer h2,.footer h3,.footer h4,.footer h5,.footer h6,.footer p,.footer a{color:rgba(var(--spt-color-light), 1);font-family:var(--spt-font-footnote)}.footer h1,.footer h2,.footer h3,.footer h4,.footer h5,.footer h6{font-size:1rem;margin-bottom:5px}.footer p{font-size:0.8rem}.footer .footer-logos{background-color:rgba(var(--spt-color-gray-200), 1)}.footer .footer-info,.footer .footer-menu{color:rgba(var(--spt-color-gray-400), 1);background-color:rgba(var(--spt-color-dark), 1);padding-top:0.4rem;padding-bottom:0.4rem}.footer .footer-info li,.footer .footer-menu li{line-height:1rem;margin-bottom:5px}.footer .footer-extra{background-color:rgba(var(--spt-color-gray-700), 1);padding-top:1rem;padding-bottom:1rem}.footer .footer-extra img{height:60px}.iframe,.iframe-4x3,.iframe-16x9{position:relative;height:0;width:75%;margin-bottom:1rem;margin-left:auto;margin-right:auto}.iframe iframe,.iframe-4x3 iframe,.iframe-16x9 iframe{border:0;position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%}.iframe-16x9{padding-bottom:calc(0.75 * 56.25%)}.iframe-4x3{padding-bottom:calc(0.75 * 75%)} +@import url(sphinx-book-theme.css);:root{--spt-font-body: 'Poppins';--spt-font-headings: 'Poppins';--spt-font-footnote: 'Cormorant';--spt-color-gray-100: 248, 249, 250;--spt-color-gray-200: 233, 236, 239;--spt-color-gray-300: 222, 226, 230;--spt-color-gray-400: 206, 212, 218;--spt-color-gray-500: 173, 181, 189;--spt-color-gray-600: 108, 117, 125;--spt-color-gray-700: 73, 80, 87;--spt-color-gray-800: 52, 58, 64;--spt-color-gray-900: 33, 37, 41;--spt-color-light: var(--spt-color-gray-100);--spt-color-dark: var(--spt-color-gray-800);--spt-color-green: 0, 121, 124;--spt-color-green-lighter: 20, 141, 144;--spt-color-green-lightest: 130, 231, 234;--spt-color-blue: 26, 101, 143;--spt-color-blue-lighter: 46, 121, 163;--spt-color-blue-lightest: 156, 191, 213;--spt-color-deep-blue: 1, 33, 105;--spt-color-green-highlight: 168, 199, 0;--pst-color-primary: var(--spt-color-blue) !important;--pst-color-primary-hover: var(--spt-color-blue-lighter) !important;--pst-color-secondary: var(--spt-color-blue-lightest) !important;--pst-color-link: #1a648f !important;--pst-color-link-hover: #9cbfd5 !important;--pst-color-headerlink: var(--spt-color-gray-300) !important;--pst-color-headerlink-hover: var(--spt-color-gray-100)!important;--pst-color-text-muted: #6c757d !important;--tabs-size-label: 0.8rem !important;--tabs-color-label-active: rgba(var(--pst-color-primary), 1) !important;--tabs-color-label-inactive: rgba(var(--spt-color-blue-lightest), 1) !important +}body{font-family:var(--spt-font-body),sans-serif}html{scroll-behavior:smooth;scroll-padding-top:128px}.admonition.alert-info,div.admonition.alert-info{border-color:#0c5460 !important}.admonition.alert-info .admonition-title::before,div.admonition.alert-info .admonition-title::before{color:#0c5460 !important}.admonition.alert-success,div.admonition.alert-success{border-color:#155724 !important}.admonition.alert-success .admonition-title::before,div.admonition.alert-success .admonition-title::before{color:#155724 !important}.admonition.alert-warning,div.admonition.alert-warning{border-color:#856404 !important}.admonition.alert-warning .admonition-title::before,div.admonition.alert-warning .admonition-title::before{color:#856404 !important}.admonition.alert-danger,div.admonition.alert-danger{border-color:#721c24 !important}.admonition.alert-danger .admonition-title::before,div.admonition.alert-danger .admonition-title::before{color:#721c24 !important}.bg-primary{background-color:rgba(var(--pst-color-primary), 1) !important;color:white !important}.btn-primary{background-color:rgba(var(--pst-color-primary), 1) !important;border-color:rgba(var(--pst-color-primary), 1) !important;color:white !important}.btn-primary:hover{background-color:rgba(var(--pst-color-primary-hover), 1) !important;color:white !important}.btn-outline-primary{border-color:rgba(var(--pst-color-primary), 1) !important;color:rgba(var(--pst-color-primary), 1) !important}.btn-outline-primary:hover,.show>.btn-outline-primary.dropdown-toggle{background-color:rgba(var(--pst-color-primary), 1) !important;color:white !important}.btn-link{color:rgba(var(--pst-color-primary), 1) !important}.display-1{font-size:5rem !important}.display-2{font-size:3rem !important}.display-3{font-size:2rem !important}.display-4{font-size:1.6667rem !important}.display-5{font-size:1.3333rem !important}.display-6{font-size:1rem !important}.form-control:focus{outline:none !important;box-shadow:none !important}.navbar-brand{padding:.75rem 0 !important}.row{margin-left:0 !important;margin-right:0 !important}a.badge{text-decoration:none !important}a.navbar-brand img{vertical-align:middle !important}body>div.container-fluid,body>div.container-xl{padding-right:0;padding-left:0}i.fab,i.far,i.fas{font-size:70%}a.headerlink i.fab,a.headerlink i.far,a.headerlink i.fas{position:absolute;top:50%;transform:translateY(-50%)}a.headerlink{position:relative;text-decoration:none;font-size:unset !important;padding:0 0.7rem !important}a.headerlink:hover{color:rgba(var(--spt-color-gray-500), 1);background-color:transparent}div.highlight pre{border:1px solid rgba(var(--spt-color-gray-300), 1) !important;border-radius:4px !important;background-color:rgba(var(--spt-color-gray-200), 1) !important}.bd-sidebar .nav li>a{padding-top:0.1rem;padding-bottom:0.1rem}.bd-toc nav>.nav{border-left:1px solid #eee;border-bottom:1px solid #eee;border-radius:0 0 0 6px;padding-bottom:0.5em}.prev-next-area{margin:2rem auto 0 auto;border-top:1px solid rgba(var(--spt-color-gray-300), 1);max-width:calc(0.5 * (var(--bs-breakpoint-md) + var(--bs-breakpoint-lg)))}.prev-next-area i{font-size:1.1rem;color:rgba(var(--spt-color-gray-600), 1)}.prev-next-area a p.prev-next-title{font-size:1rem;font-weight:600;color:rgba(var(--spt-color-gray-600), 1)}#banner{margin-top:var(--pst-header-height) !important}#site-navigation{top:var(--pst-header-height) !important;height:calc(100vh - var(--pst-header-height)) !important;padding-top:0}#main-content{min-height:calc(100vh - var(--pst-header-height))}.topbar{top:var(--pst-header-height) !important;padding:0 !important}.topbar-main button:focus{outline:none !important}.cell .cell_input,.cell .cell_output{padding:0 !important}.cell .cell_input{border:1px solid rgba(var(--spt-color-gray-300), 1) !important;border-radius:4px !important;border-left-color:rgba(var(--pst-color-primary), 1) !important;border-left-width:medium !important;background-color:rgba(var(--spt-color-gray-200), 1) !important}.cell .cell_input pre{border:none !important;background-color:rgba(var(--spt-color-gray-200), 1) !important}.cell .cell_output{border:none !important}.cell .cell_output pre{border:1px solid rgba(var(--spt-color-gray-300), 1) !important;border-radius:4px !important;background-color:rgba(var(--spt-color-gray-200), 1) !important}.tabbed-content{box-shadow:0 -0.0625rem var(--tabs-color-overline) !important;padding-bottom:0 !important}.tabbed-set>label{padding:0 1rem !important;margin:0 !important}.thebe-launch-button{height:2.2em !important;font-size:.8em !important;border:1px solid rgba(var(--spt-color-gray-600), 1) !important;border-radius:4px !important;color:rgba(var(--spt-color-gray-600), 1)}#shim{padding:0;margin-top:var(--pst-header-height)}#navbar-main{z-index:5000;padding-left:15px;padding-right:15px}#navbar-main .container-xl{padding:0}.bd-header{background:#343a40 !important}#navbar-icon-links i:before{color:var(--spt-color-light) !important}main.standalone-main{padding:0 !important;background-color:white}main.standalone-main div.sectionwrapper-1,main.standalone-main div.sectionwrapper-2{color:rgba(var(--spt-color-dark), 1)}main.standalone-main div.section-1,main.standalone-main div.section-2{position:relative;padding-top:1rem;padding-bottom:1rem;max-width:calc(0.5 * (var(--bs-breakpoint-md) + var(--bs-breakpoint-lg)))}main.standalone-main div.section-1 h6,main.standalone-main div.section-1 .h6,main.standalone-main div.section-1 h5,main.standalone-main div.section-1 .h5,main.standalone-main div.section-1 h4,main.standalone-main div.section-1 .h4,main.standalone-main div.section-1 h3,main.standalone-main div.section-1 .h3,main.standalone-main div.section-1 h2,main.standalone-main div.section-1 .h2,main.standalone-main div.section-1 h1,main.standalone-main div.section-1 .h1,main.standalone-main div.section-2 h6,main.standalone-main div.section-2 .h6,main.standalone-main div.section-2 h5,main.standalone-main div.section-2 .h5,main.standalone-main div.section-2 h4,main.standalone-main div.section-2 .h4,main.standalone-main div.section-2 h3,main.standalone-main div.section-2 .h3,main.standalone-main div.section-2 h2,main.standalone-main div.section-2 .h2,main.standalone-main div.section-2 h1,main.standalone-main div.section-2 .h1{margin-top:0;margin-bottom:0.5rem}main.standalone-main div.section-1 h3,main.standalone-main div.section-1 .h3,main.standalone-main div.section-1 h4,main.standalone-main div.section-1 .h4,main.standalone-main div.section-1 h5,main.standalone-main div.section-1 .h5,main.standalone-main div.section-1 h6,main.standalone-main div.section-1 .h6,main.standalone-main div.section-2 h3,main.standalone-main div.section-2 .h3,main.standalone-main div.section-2 h4,main.standalone-main div.section-2 .h4,main.standalone-main div.section-2 h5,main.standalone-main div.section-2 .h5,main.standalone-main div.section-2 h6,main.standalone-main div.section-2 .h6{padding:1rem 0}main.standalone-main div.section-title-wrapper{display:flex;justify-content:flex-start}main.standalone-main div.section-title{padding:0 4rem 0.1rem 0;margin:0 0 1.6rem 0;border-bottom:2px solid rgba(var(--spt-color-deep-blue), 1)}main.banner-main{padding:0 !important}main.banner-main #main-content{padding:0 !important}main.banner-main div.sectionwrapper-1{position:relative;background-size:cover;background-position:center center;color:rgba(var(--spt-color-light), 1);background-color:rgba(var(--spt-color-gray-700), 1)}main.banner-main div.sectionwrapper-1 div.section-banner-caption{position:absolute;right:0;bottom:0;font-size:0.8rem;opacity:0.6;padding-right:0.5rem}main.banner-main div.sectionwrapper-2{color:rgba(var(--spt-color-dark), 1);background-color:rgba(var(--spt-color-light), 1)}main.banner-main div.sectionwrapper-2:nth-child(even){background-color:rgba(var(--spt-color-gray-300), 1)}main.banner-main div.section-1,main.banner-main div.section-2{position:relative;padding-top:7rem;padding-bottom:7rem;max-width:calc(0.5 * (var(--bs-breakpoint-md) + var(--bs-breakpoint-lg)))}main.banner-main div.section-1 h3,main.banner-main div.section-1 h4,main.banner-main div.section-1 h5,main.banner-main div.section-1 h6,main.banner-main div.section-2 h3,main.banner-main div.section-2 h4,main.banner-main div.section-2 h5,main.banner-main div.section-2 h6{padding:2rem 0 1rem 0;text-align:center}main.banner-main div.section-title-wrapper{display:flex;justify-content:center}main.banner-main div.section-title{padding:0 4rem 1rem 4rem;margin-bottom:3rem;border-bottom:2px solid rgba(var(--spt-color-deep-blue), 1)}main.banner-main p{font-size:1.25rem;font-weight:300}main.banner-main div.section.dark-banner h1,main.banner-main div.section.dark-banner h2,main.banner-main div.section.dark-banner h3,main.banner-main div.section.dark-banner h4,main.banner-main div.section.dark-banner h5,main.banner-main div.section.dark-banner h6{color:var(--spt-color-light) !important}main.banner-main div.section.dark-banner p{color:var(--spt-color-light) !important}.bd-main .bd-content .bd-article-container{max-width:100%}.bd-page-width{max-width:85%}.bd-footer{color:rgba(var(--spt-color-light), 1);font-size:0.8rem;font-family:var(--spt-font-footnote);padding:0}.bd-footer h1,.bd-footer h2,.bd-footer h3,.bd-footer h4,.bd-footer h5,.bd-footer h6,.bd-footer p,.bd-footer a{color:rgba(var(--spt-color-light), 1);font-family:var(--spt-font-footnote)}.bd-footer h1,.bd-footer h2,.bd-footer h3,.bd-footer h4,.bd-footer h5,.bd-footer h6{font-size:1rem;margin-bottom:5px}.bd-footer p{font-size:0.8rem}.bd-footer .footer-logos{background-color:rgba(var(--spt-color-gray-200), 1)}.bd-footer .footer-info,.bd-footer .footer-menu{color:rgba(var(--spt-color-gray-400), 1);background-color:rgba(var(--spt-color-dark), 1);padding-top:0.4rem;padding-bottom:0.4rem}.bd-footer .footer-info li,.bd-footer .footer-menu li{line-height:1rem;margin-bottom:5px}.bd-footer .footer-extra{background-color:rgba(var(--spt-color-gray-700), 1);padding-top:1rem;padding-bottom:1rem}.bd-footer .footer-extra img{height:60px}.iframe,.iframe-4x3,.iframe-16x9{position:relative;height:0;width:75%;margin-bottom:1rem;margin-left:auto;margin-right:auto}.iframe iframe,.iframe-4x3 iframe,.iframe-16x9 iframe{border:0;position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%}.iframe-16x9{padding-bottom:calc(0.75 * 56.25%)}.iframe-4x3{padding-bottom:calc(0.75 * 75%)} diff --git a/sphinx_pythia_theme/theme.conf b/sphinx_pythia_theme/theme.conf index 0854db6..0df26b0 100644 --- a/sphinx_pythia_theme/theme.conf +++ b/sphinx_pythia_theme/theme.conf @@ -2,7 +2,7 @@ inherit = sphinx_book_theme pygments_style = default stylesheet = sphinx-pythia-theme.min.css -sidebars = search-field.html, sbt-sidebar-nav.html, sbt-sidebar-footer.html +sidebars = search-field.html, sbt-sidebar-nav.html [options] toc_title = On this page @@ -12,5 +12,5 @@ navbar_center = navbar-menu.html navbar_links = footer_logos = footer_menu = -footer_items = footer-logos.html, footer-menu.html, footer-info.html, footer-extra.html +footer-items__start = footer-logos.html, footer-menu.html, footer-info.html, footer-extra.html page_sidebar_items = page-toc.html diff --git a/src/scss/sphinx-pythia-theme.scss b/src/scss/sphinx-pythia-theme.scss index b1bcf84..0944af2 100644 --- a/src/scss/sphinx-pythia-theme.scss +++ b/src/scss/sphinx-pythia-theme.scss @@ -1,43 +1,45 @@ @import 'sphinx-book-theme.css'; -:root { - --spt-font-body: 'Poppins'; - --spt-font-headings: 'Poppins'; - --spt-font-footnote: 'Cormorant'; - - --spt-color-gray-100: 248, 249, 250; - --spt-color-gray-200: 233, 236, 239; - --spt-color-gray-300: 222, 226, 230; - --spt-color-gray-400: 206, 212, 218; - --spt-color-gray-500: 173, 181, 189; - --spt-color-gray-600: 108, 117, 125; - --spt-color-gray-700: 73, 80, 87; - --spt-color-gray-800: 52, 58, 64; - --spt-color-gray-900: 33, 37, 41; - --spt-color-light: var(--spt-color-gray-100); - --spt-color-dark: var(--spt-color-gray-800); - --spt-color-green: 0, 121, 124; - --spt-color-green-lighter: 20, 141, 144; - --spt-color-green-lightest: 130, 231, 234; - --spt-color-blue: 26, 101, 143; - --spt-color-blue-lighter: 46, 121, 163; - --spt-color-blue-lightest: 156, 191, 213; - --spt-color-deep-blue: 1, 33, 105; - --spt-color-green-highlight: 168, 199, 0; - - --pst-color-primary: var(--spt-color-blue); - --pst-color-primary-hover: var(--spt-color-blue-lighter); - --pst-color-link: var(--pst-color-primary); - --pst-color-link-hover: var(--pst-color-primary); - --pst-color-headerlink: var(--spt-color-gray-500); - --pst-color-headerlink-hover: var(--spt-color-gray-500); - - --tabs-size-label: 0.8rem !important; - --tabs-color-label-active: rgba(var(--pst-color-primary), 1) !important; - --tabs-color-label-inactive: rgba(var(--spt-color-blue-lightest), 1) !important; +:root{ + --spt-font-body: 'Poppins'; + --spt-font-headings: 'Poppins'; + --spt-font-footnote: 'Cormorant'; + + --spt-color-gray-100: 248, 249, 250; + --spt-color-gray-200: 233, 236, 239; + --spt-color-gray-300: 222, 226, 230; + --spt-color-gray-400: 206, 212, 218; + --spt-color-gray-500: 173, 181, 189; + --spt-color-gray-600: 108, 117, 125; + --spt-color-gray-700: 73, 80, 87; + --spt-color-gray-800: 52, 58, 64; + --spt-color-gray-900: 33, 37, 41; + --spt-color-light: var(--spt-color-gray-100); + --spt-color-dark: var(--spt-color-gray-800); + --spt-color-green: 0, 121, 124; + --spt-color-green-lighter: 20, 141, 144; + --spt-color-green-lightest: 130, 231, 234; + --spt-color-blue: 26, 101, 143; + --spt-color-blue-lighter: 46, 121, 163; + --spt-color-blue-lightest: 156, 191, 213; + --spt-color-deep-blue: 1, 33, 105; + --spt-color-green-highlight: 168, 199, 0; + + --pst-color-primary: var(--spt-color-blue) !important; + --pst-color-primary-hover: var(--spt-color-blue-lighter) !important; + --pst-color-secondary: var(--spt-color-blue-lightest) !important; + --pst-color-link: #1a648f !important; /* The same value with var(--pst-color-primary), using var() didn't work; don't know why) */ + --pst-color-link-hover: #9cbfd5 !important; /* The same value with var(--pst-color-secondary), using var() didn't work; don't know why) */ + --pst-color-headerlink: var(--spt-color-gray-300) !important; + --pst-color-headerlink-hover: var(--spt-color-gray-100)!important; + --pst-color-text-muted: #6c757d !important; /* The same value with var(--spt-color-gray-500), using var() didn't work; don't know why) */ + + --tabs-size-label: 0.8rem !important; + --tabs-color-label-active: rgba(var(--pst-color-primary), 1) !important; + --tabs-color-label-inactive: rgba(var(--spt-color-blue-lightest), 1) !important } -$document-width: calc(0.5 * (var(--breakpoint-md) + var(--breakpoint-lg))); +$document-width: calc(0.5 * (var(--bs-breakpoint-md) + var(--bs-breakpoint-lg))); @import "general"; @import "bootstrap4"; @@ -70,6 +72,10 @@ $document-width: calc(0.5 * (var(--breakpoint-md) + var(--breakpoint-lg))); } } +.bd-header { + background: #343a40 !important +} + #navbar-icon-links i:before { color: var(--spt-color-light) !important; } @@ -191,9 +197,18 @@ main.banner-main { } } +// CONTENT LAYOUT ------------------------------------------------------------- + +.bd-main .bd-content .bd-article-container { + max-width: 100%; /* default is 60em */ +} +.bd-page-width { + max-width: 85%; /* default is 88rem */ +} + // FOOTER -------------------------------------------------------------------- -.footer { +.bd-footer { color: rgba(var(--spt-color-light), 1); font-size: 0.8rem; font-family: var(--spt-font-footnote);