diff --git a/.circleci/config.yml b/.circleci/config.yml index dcf06ca..3231e38 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,11 +2,13 @@ version: 2.1 orbs: - python: circleci/python@1.2.1 + python: circleci/python@3.2.0 jobs: build_docs: - executor: python/default + executor: + name: python/default + tag: "3.11" steps: - checkout - python/install-packages: diff --git a/setup.cfg b/.flake8 similarity index 100% rename from setup.cfg rename to .flake8 diff --git a/.github/.github/workflows/lighthouse.yml b/.github/.github/workflows/lighthouse.yml index a766f75..119ca82 100644 --- a/.github/.github/workflows/lighthouse.yml +++ b/.github/.github/workflows/lighthouse.yml @@ -1,10 +1,14 @@ name: Lighthouse +permissions: + contents: read on: [push, pull_request] jobs: CI: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 + with: + persist-credentials: false - name: Set up Python 3.7 uses: actions/setup-python@v1 @@ -22,7 +26,7 @@ jobs: make html - name: Run Lighthouse against example docs build - uses: treosh/lighthouse-ci-action@v2 + uses: treosh/lighthouse-ci-action@005e1277a8a17ea0b0ef6c3332d59a7cd0f730ce # v2 with: configPath: "./lighthouserc.json" temporaryPublicStorage: true diff --git a/.github/.github/workflows/pre-commit.yaml b/.github/.github/workflows/pre-commit.yaml index 82e8821..3370c9b 100644 --- a/.github/.github/workflows/pre-commit.yaml +++ b/.github/.github/workflows/pre-commit.yaml @@ -1,4 +1,6 @@ name: Linting +permissions: + contents: read on: push: @@ -12,5 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + with: + persist-credentials: false - uses: actions/setup-python@v2 - - uses: pre-commit/action@v2.0.0 + - uses: pre-commit/action@0764670bf370aab253130d534e1eda7ff497dc60 # v2.0.0 diff --git a/.github/.github/workflows/publish-pypi.yml b/.github/.github/workflows/publish-pypi.yml index 78cbfe6..1009f57 100644 --- a/.github/.github/workflows/publish-pypi.yml +++ b/.github/.github/workflows/publish-pypi.yml @@ -1,4 +1,6 @@ name: Push to PyPI +permissions: + contents: read on: push: @@ -8,10 +10,15 @@ on: jobs: publish: runs-on: ubuntu-latest - + permissions: + id-token: write + attestations: write + contents: read steps: - name: Checkout uses: actions/checkout@v1 + with: + persist-credentials: false - name: Set up Python 3.7 uses: actions/setup-python@v1 @@ -29,7 +36,7 @@ jobs: python setup.py sdist bdist_wheel - name: Publish mpl-sphinx-theme - uses: pypa/gh-action-pypi-publish@master + uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4 with: user: __token__ password: ${{ secrets.pypi_token }} diff --git a/.github/.githubold/workflows/main.yml b/.github/.githubold/workflows/main.yml index c6864b5..94d61c5 100644 --- a/.github/.githubold/workflows/main.yml +++ b/.github/.githubold/workflows/main.yml @@ -5,7 +5,7 @@ jobs: name: Run CircleCI artifacts redirector steps: - name: GitHub Action step - uses: larsoner/circleci-artifacts-redirector-action@master + uses: scientific-python/circleci-artifacts-redirector-action@7eafdb60666f57706a5525a2f5eb76224dc8779b # v1.1.0 with: repo-token: ${{ secrets.GITHUB_TOKEN }} artifact-path: 0/docs/_build/html/index.html diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..f9086b3 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,20 @@ +--- +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + groups: + actions: + patterns: + - "*" + + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: "weekly" + groups: + python: + patterns: + - "*" diff --git a/.github/workflows/circleci.yml b/.github/workflows/circleci.yml new file mode 100644 index 0000000..c03557e --- /dev/null +++ b/.github/workflows/circleci.yml @@ -0,0 +1,20 @@ +--- +name: "CircleCI artifact handling" +on: [status] +jobs: + circleci_artifacts_redirector_job: + if: "${{ github.event.context == 'ci/circleci: build_docs' }}" + permissions: + statuses: write + runs-on: ubuntu-latest + name: Run CircleCI artifacts redirector + steps: + - name: GitHub Action step + uses: + scientific-python/circleci-artifacts-redirector-action@5d358ff96e96429a5c64a969bb4a574555439f4f # v1.3.1 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + api-token: ${{ secrets.CIRCLECI_TOKEN }} + artifact-path: 0/docs/_build/html/index.html + circleci-jobs: build_docs + job-title: View the built docs diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index f3866b4..c1e86ac 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -3,28 +3,30 @@ name: Linting on: [pull_request] +permissions: + contents: read + jobs: flake8: name: flake8 runs-on: ubuntu-latest + permissions: + checks: write steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false - name: Set up Python 3 - uses: actions/setup-python@v1 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: - python-version: 3.8 + python-version: '3.x' - name: Install flake8 run: pip3 install 'flake8>=3.8' - name: Set up reviewdog - run: | - mkdir -p "$HOME/bin" - curl -sfL \ - https://github.com/reviewdog/reviewdog/raw/master/install.sh | \ - sh -s -- -b "$HOME/bin" - echo "$HOME/bin" >> $GITHUB_PATH + uses: reviewdog/action-setup@d8a7baabd7f3e8544ee4dbde3ee41d0011c3a93f # v1.5.0 - name: Run flake8 env: diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index c6864b5..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,12 +0,0 @@ -on: [status] -jobs: - circleci_artifacts_redirector_job: - runs-on: ubuntu-latest - name: Run CircleCI artifacts redirector - steps: - - name: GitHub Action step - uses: larsoner/circleci-artifacts-redirector-action@master - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - artifact-path: 0/docs/_build/html/index.html - circleci-jobs: build_docs diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..7effca9 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,62 @@ +--- + +name: Release +on: + release: + types: + - published + +permissions: + contents: read + +jobs: + build: + name: Build Release Packages + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + fetch-depth: 0 + persist-credentials: false + + - name: Set up Python + id: setup + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 + with: + python-version: '3.x' + + - name: Install build tools + run: | + python -m pip install --upgrade pip + python -m pip install --upgrade build + + - name: Build packages + run: python -m build + + - name: Save built packages as artifact + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: packages-${{ runner.os }}-${{ steps.setup.outputs.python-version }} + path: dist/ + if-no-files-found: error + retention-days: 5 + + publish: + name: Upload release to PyPI + needs: build + runs-on: ubuntu-latest + environment: release + permissions: + attestations: write + contents: read + id-token: write + steps: + - name: Download packages + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + with: + pattern: packages-* + path: dist + merge-multiple: true + + - name: Publish package distributions to PyPI + uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # v1.14.0 diff --git a/.gitignore b/.gitignore index bacf9c1..2d088b1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /mpl_sphinx_theme.egg-info/ /mpl_sphinx_theme/__pycache__/ build +dist \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt index ec51537..e3dc4fb 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,99 +1,28 @@ -License agreement for matplotlib versions 1.3.0 and later -========================================================= - -1. This LICENSE AGREEMENT is between the Matplotlib Development Team -("MDT"), and the Individual or Organization ("Licensee") accessing and -otherwise using matplotlib software in source or binary form and its -associated documentation. - -2. Subject to the terms and conditions of this License Agreement, MDT -hereby grants Licensee a nonexclusive, royalty-free, world-wide license -to reproduce, analyze, test, perform and/or display publicly, prepare -derivative works, distribute, and otherwise use matplotlib -alone or in any derivative version, provided, however, that MDT's -License Agreement and MDT's notice of copyright, i.e., "Copyright (c) -2012- Matplotlib Development Team; All Rights Reserved" are retained in -matplotlib alone or in any derivative version prepared by -Licensee. - -3. In the event Licensee prepares a derivative work that is based on or -incorporates matplotlib or any part thereof, and wants to -make the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to matplotlib . - -4. MDT is making matplotlib available to Licensee on an "AS -IS" basis. MDT MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, MDT MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF MATPLOTLIB -WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. - -5. MDT SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF MATPLOTLIB - FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR -LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING -MATPLOTLIB , OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF -THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. Nothing in this License Agreement shall be deemed to create any -relationship of agency, partnership, or joint venture between MDT and -Licensee. This License Agreement does not grant permission to use MDT -trademarks or trade name in a trademark sense to endorse or promote -products or services of Licensee, or any third party. - -8. By copying, installing or otherwise using matplotlib , -Licensee agrees to be bound by the terms and conditions of this License -Agreement. - -License agreement for matplotlib versions prior to 1.3.0 -======================================================== - -1. This LICENSE AGREEMENT is between John D. Hunter ("JDH"), and the -Individual or Organization ("Licensee") accessing and otherwise using -matplotlib software in source or binary form and its associated -documentation. - -2. Subject to the terms and conditions of this License Agreement, JDH -hereby grants Licensee a nonexclusive, royalty-free, world-wide license -to reproduce, analyze, test, perform and/or display publicly, prepare -derivative works, distribute, and otherwise use matplotlib -alone or in any derivative version, provided, however, that JDH's -License Agreement and JDH's notice of copyright, i.e., "Copyright (c) -2002-2011 John D. Hunter; All Rights Reserved" are retained in -matplotlib alone or in any derivative version prepared by -Licensee. - -3. In the event Licensee prepares a derivative work that is based on or -incorporates matplotlib or any part thereof, and wants to -make the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to matplotlib. - -4. JDH is making matplotlib available to Licensee on an "AS -IS" basis. JDH MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, JDH MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF MATPLOTLIB -WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. - -5. JDH SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF MATPLOTLIB - FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR -LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING -MATPLOTLIB , OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF -THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. Nothing in this License Agreement shall be deemed to create any -relationship of agency, partnership, or joint venture between JDH and -Licensee. This License Agreement does not grant permission to use JDH -trademarks or trade name in a trademark sense to endorse or promote -products or services of Licensee, or any third party. - -8. By copying, installing or otherwise using matplotlib, -Licensee agrees to be bound by the terms and conditions of this License -Agreement. \ No newline at end of file +BSD 3-Clause License + +Copyright (c) 2021-2023, Matplotlib Development Team + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index 801545b..0000000 --- a/MANIFEST.in +++ /dev/null @@ -1,13 +0,0 @@ -recursive-include mpl_sphinx_theme *.py -recursive-include mpl_sphinx_theme *.html -recursive-include mpl_sphinx_theme *.css -recursive-include mpl_sphinx_theme *.svg -recursive-include mpl_sphinx_theme *.png -recursive-include mpl_sphinx_theme *.ico -recursive-include mpl_sphinx_theme *.conf - -include setup.py -include requirements.txt -include README.rst -include LICENSE.txt -include MANIFEST.in diff --git a/README.md b/README.md new file mode 100644 index 0000000..6361358 --- /dev/null +++ b/README.md @@ -0,0 +1,88 @@ +# Matplotlib Sphinx Theme + +This is the official Sphinx theme for Matplotlib documentation. It extends the +`pydata-sphinx-theme` project, but adds custom styling and a navigation bar. + +A demo of the theme built with the `main` branch can be seen at +https://matplotlib.org/mpl-sphinx-theme/. + +When creating a Matplotlib subproject you can include this theme by changing this +line in your `conf.py` file + +```python +html_theme = 'mpl_sphinx_theme' +``` + +And by including `mpl_sphinx_theme` as a requirement in your documentation +installation. + +See the `docs/conf.py` file for other settings. + +There are two main templates that replace the defaults in `pydata-sphinx-theme`: + +``` +navbar_center = mpl_nav_bar.html +navbar_end = mpl_icon_links.html +``` + +Note that the logo options need not be specified as they are included in theme +initialization. The logo is stored at +`mpl_sphinx_theme/static/logo_{light,dark}.svg`. + +To change the top navbar, edit `mpl_sphinx_theme/mpl_nav_bar.html` + +To change the social icons, edit `mpl_sphinx_theme/mpl_icon_links.html` + +To change the style, edit `mpl_sphinx_theme/static/css/style.css` + +## Overriding hard coded elements + +This theme is primarily designed to be used with subprojects that are part of the main +Matplotlib webiste (e.g., [our cheatseets](https://github.com/matplotlib/cheatsheets) +and [list of third-party packages](https://github.com/matplotlib/mpl-third-party)). +As such several elements are hard coded. However, the theme may also be used by +other subprojects that need to change the hard-coded defaults. +The following sections explain how to reset these back to their defaults by modifying +`html_theme_options` in `conf.py`. + +### Header section links + +Use a copy of [the default pydata-sphinx-theme navbar](https://github.com/pydata/pydata-sphinx-theme/blob/main/src/pydata_sphinx_theme/theme/pydata_sphinx_theme/components/navbar-nav.html) and set the `'navbar_center'` key to this HTML file in `html_theme_options`. + +## Building + +To build the theme with a sample page, navigate into the `doc/` directory and run + +``` +make html +``` + +The built html pages can be found in `doc/_build/html/` + +## Releasing + +This project [uses GitHub Actions](https://github.com/matplotlib/mpl-sphinx-theme/blob/main/.github/workflows/release.yml) +to automatically push a new release to PyPI whenever a release is made. + +For example, to release a new `3.9.0` version of `mpl-sphinx-theme`: + +- be sure to edit `mpl_sphinx_theme/_version.py` +- checkout the commit you would like to release +- add a git tag +- push the tag to the `matplotlib/mpl-sphinx-theme` repository + +```sh +git checkout +git tag -s -a v3.9.0 -m 'REL: 3.9.0' +git push upstream --tags +``` + +Finally, [turn the tag into a GitHub release](https://github.com/matplotlib/mpl-sphinx-theme/releases/new). + +Update the required `mpl-sphinx-theme` version in the following files: + +- [matplotlib/matplotlib](https://github.com/matplotlib/matplotlib): requirements/doc/doc-requirements.txt +- [matplotlib/mpl-brochure-site](https://github.com/matplotlib/mpl-brochure-site): requirements.txt +- [matplotlib/mpl-third-party](https://github.com/matplotlib/mpl-third-party): docs/requirements.txt +- [matplotlib/governance](https://github.com/matplotlib/governance): requirements-doc.txt +- [matplotlib/mpl-gui](https://github.com/matplotlib/mpl-gui): requirements-doc.txt diff --git a/README.rst b/README.rst deleted file mode 100644 index c6f0891..0000000 --- a/README.rst +++ /dev/null @@ -1,74 +0,0 @@ -Matplotlib Sphinx Theme -======================= - -This is the official Sphinx theme for Matplotlib documentation. It extends the -``pydata-sphinx-theme`` project, but adds custom styling and a navigation bar. - -A demo of the theme built with the ``main`` branch can be seen at -https://matplotlib.org/mpl-sphinx-theme/. - -When creating a Matplotlib subproject you can include this theme by changing this -line in your ``conf.py`` file - -.. code-block:: python - - html_theme = 'mpl_sphinx_theme' - -And by including ``mpl_sphinx_theme`` as a requirement in your documentation -installation. - -See the ``docs/conf.py`` file for other settings. - -There are two main templates that replace the defaults in ``pydata-sphinx-theme``: - -.. code-block:: - - navbar_center = mpl_nav_bar.html - navbar_end = mpl_icon_links.html - -Note that the logo options need not be specified as they are included in theme -initialization. The logo is stored at -``mpl_sphinx_theme/static/logo_{light,dark}.svg``. - -To change the top navbar, edit ``mpl_sphinx_theme/mpl_nav_bar.html`` - -To change the social icons, edit ``mpl_sphinx_theme/mpl_icon_links.html`` - -To change the style, edit ``mpl_sphinx_theme/static/css/style.css`` - -Building --------- -To build the theme with a sample page, navigate into the ``doc/`` directory and run - -.. code-block:: - - make html - -The built html pages can be found in ``doc/_build/html/`` - -Releasing ---------- - -Manually for now... see the todo below for how we hope to eventually do it -automagically. - -- be sure to edit `mpl_sphinx_theme/_version.py` - -.. code-block:: - - $ git checkout - $ git tag -a x.y.z -m 'Version x.y.z' - $ git push upstream main --tags - $ python -m build -s -w - $ twine upload dist/mpl_sphinx_theme-x.y.z* - -TODO: This project `uses GitHub Actions `_ -to automatically push a new release to PyPI whenever -a git tag is pushed. For example, to release a new ``x.y.z`` version of -``mpl-sphinx-theme``, checkout the commit you would like to release, -add a git tag, and push the tag to the ``main`` branch of the -``matplotlib/mpl-sphinx-theme`` repository: - -TODO: After a new release is published on PyPI, a pull request to the ``mpl-sphinx-theme`` -`conda-forge feedstock `_ -for the new ``x.y.z`` release will automatically be opened by conda-forge bots. diff --git a/docs/conf.py b/docs/conf.py index e148716..18b8e08 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -29,7 +29,8 @@ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ - 'matplotlib.sphinxext.plot_directive', + "matplotlib.sphinxext.plot_directive", + "sphinx_design" ] # Add any paths that contain templates here, relative to this directory. @@ -61,6 +62,12 @@ "navbar_links": "absolute", } +html_sidebars = { + "index": [ + "donate_sidebar.html", + ], +} + # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". diff --git a/mpl_sphinx_theme/_version.py b/mpl_sphinx_theme/_version.py index fc6573e..c9ce79b 100644 --- a/mpl_sphinx_theme/_version.py +++ b/mpl_sphinx_theme/_version.py @@ -4,5 +4,5 @@ # Copyright (c) Matplotlib developers. # Distributed under the terms of the Modified BSD License. -version_info = (3, 7, 1) +version_info = (3, 10, 0) __version__ = ".".join(map(str, version_info)) diff --git a/mpl_sphinx_theme/donate_sidebar.html b/mpl_sphinx_theme/donate_sidebar.html index a4a0777..9744abe 100644 --- a/mpl_sphinx_theme/donate_sidebar.html +++ b/mpl_sphinx_theme/donate_sidebar.html @@ -1,8 +1,5 @@ - - - + + Support Matplotlib + + diff --git a/mpl_sphinx_theme/mpl_icon_links.html b/mpl_sphinx_theme/mpl_icon_links.html index 964a333..12edba2 100644 --- a/mpl_sphinx_theme/mpl_icon_links.html +++ b/mpl_sphinx_theme/mpl_icon_links.html @@ -3,7 +3,6 @@ { "url": "https://gitter.im/matplotlib/matplotlib", "icon": "fa-brands fa-gitter", "name": "Gitter" }, { "url": "https://discourse.matplotlib.org", "icon": "fa-brands fa-discourse", "name": "Discourse" }, { "url": "https://github.com/matplotlib/matplotlib", "icon": "fa-brands fa-github", "name": "GitHub" }, - { "url": "https://twitter.com/matplotlib/", "icon": "fa-brands fa-twitter", "name": "Twitter" }, ] -%} {%- endif -%} {% extends "navbar-icon-links.html" %} diff --git a/mpl_sphinx_theme/mpl_nav_bar.html b/mpl_sphinx_theme/mpl_nav_bar.html index 233ed84..c46ae68 100644 --- a/mpl_sphinx_theme/mpl_nav_bar.html +++ b/mpl_sphinx_theme/mpl_nav_bar.html @@ -3,19 +3,19 @@ Plot types