From 36a1886128567c1ca705de2b1329b85bb635340b Mon Sep 17 00:00:00 2001 From: Anne Heimes Date: Fri, 15 Mar 2024 08:28:06 +0100 Subject: [PATCH 01/11] add gallery doc style --- docs/_static/css/custom.css | 8 + docs/_static/favicon.ico | Bin 0 -> 15406 bytes docs/_templates/navbar-nav.html | 41 ++++ docs/_templates/template.ipynb | 116 +++++++++ docs/conf.py | 229 ++++++++---------- .../logos/pyfar_logos_fixed_size_pyfar.png | Bin 0 -> 8208 bytes requirements_dev.txt | 4 +- 7 files changed, 269 insertions(+), 129 deletions(-) create mode 100644 docs/_static/css/custom.css create mode 100644 docs/_static/favicon.ico create mode 100644 docs/_templates/navbar-nav.html create mode 100644 docs/_templates/template.ipynb create mode 100644 docs/resources/logos/pyfar_logos_fixed_size_pyfar.png diff --git a/docs/_static/css/custom.css b/docs/_static/css/custom.css new file mode 100644 index 000000000..cbf825f0c --- /dev/null +++ b/docs/_static/css/custom.css @@ -0,0 +1,8 @@ + +html[data-theme="light"] { + --pst-color-primary: #18609d; /* pyfar blue as primary color */ +} + +html[data-theme="dark"] { + --pst-color-primary: #18609d; /* pyfar blue as primary color */ +} diff --git a/docs/_static/favicon.ico b/docs/_static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0c96ea3a00a4706507435f6ad5b082f4d0a9ab72 GIT binary patch literal 15406 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 literal 0 HcmV?d00001 diff --git a/docs/_templates/navbar-nav.html b/docs/_templates/navbar-nav.html new file mode 100644 index 000000000..34147dd11 --- /dev/null +++ b/docs/_templates/navbar-nav.html @@ -0,0 +1,41 @@ + diff --git a/docs/_templates/template.ipynb b/docs/_templates/template.ipynb new file mode 100644 index 000000000..03df1a7a6 --- /dev/null +++ b/docs/_templates/template.ipynb @@ -0,0 +1,116 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# A Very Nice New Notebook\n", + "\n", + "The content of this example could be well introduced right here, since this is the first line people may read." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Since this is only a template we'll only import pyfar..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import pyfar as pf" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "... and make some noise:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Audio\n", + "\n", + "noise = pf.signals.noise(2**18, spectrum='pink')\n", + "Audio(noise.time, rate=noise.sampling_rate)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Interactive plotting can also be used to visualize the noise" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "%matplotlib ipympl\n", + "\n", + "plt.figure()\n", + "pf.plot.time(noise)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# License notice\n", + "This notebook © 2024 by [the pyfar developers](https://github.com/orgs/pyfar/people) is licensed under [CC BY 4.0](http://creativecommons.org/licenses/by/4.0/?ref=chooser-v1)\n", + "\n", + "![CC BY Large](https://mirrors.creativecommons.org/presskit/buttons/88x31/svg/by.svg)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Watermark" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%load_ext watermark\n", + "%watermark -v -m -iv" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/conf.py b/docs/conf.py index 6b14aa146..99a7b30f7 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,37 +1,20 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- +# Configuration file for the Sphinx documentation builder. # -# pyfar documentation build configuration file, created by -# sphinx-quickstart on Fri Jun 9 13:47:02 2017. -# -# This file is execfile()d with the current directory set to its -# containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. +# For the full list of built-in configuration values, see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Project information ----------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information -# If extensions (or modules to document with autodoc) are in another -# directory, add these directories to sys.path here. If the directory is -# relative to the documentation root, use os.path.abspath to make it -# absolute, like shown here. -# import os import sys sys.path.insert(0, os.path.abspath('..')) import pyfar # noqa -# -- General configuration --------------------------------------------- +# -- General configuration --------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration -# If your documentation needs a minimal Sphinx version, state it here. -# -# needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. extensions = [ 'sphinx.ext.autodoc', 'sphinx.ext.viewcode', @@ -40,7 +23,10 @@ 'matplotlib.sphinxext.plot_directive', 'sphinx.ext.mathjax', 'sphinx.ext.intersphinx', - 'autodocsumm'] + 'autodocsumm', + "sphinx_design", + "sphinx_favicon", +] # show tocs for classes and functions of modules using the autodocsumm # package @@ -62,41 +48,16 @@ # The master toctree document. master_doc = 'index' -# General information about the project. -project = u'pyfar' -copyright = u"2020-2022, The pyfar developers" -author = u"The pyfar developers" +project = 'pyfar gallery' +copyright = '2020-2024, The pyfar developers' +author = 'The pyfar developers' +release = '0.1.0' -# The version info for the project you're documenting, acts as replacement -# for |version| and |release|, also used in various other places throughout -# the built documents. -# -# The short X.Y version. -version = pyfar.__version__ -# The full version, including alpha/beta/rc tags. -release = pyfar.__version__ -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -# -# This is also used if you do content translation via gettext catalogs. -# Usually you set "language" from the command line for these cases. -language = 'en' -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -# This patterns also effect to html_static_path and html_extra_path +templates_path = ['_templates'] exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] -# The name of the Pygments (syntax highlighting) style to use (Not defining -# uses the default style of the html_theme). -# pygments_style = 'sphinx' - -# If true, '()' will be appended to :func: etc. cross-reference text. -add_function_parentheses = False - -# If true, `todo` and `todoList` produce output, else they produce nothing. -todo_include_todos = False # default language for highlighting in source code highlight_language = "python3" @@ -109,85 +70,97 @@ 'spharpy': ('https://spharpy.readthedocs.io/en/stable/', None) } -# -- Options for HTML output ------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -# -html_theme = 'insipid' - -# Theme options are theme-specific and customize the look and feel of a -# theme further. For a list of options available for each theme, see the -# documentation. -# -# html_theme_options = {} - -# 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". -# html_static_path = ['_static'] - - -# -- Options for HTMLHelp output --------------------------------------- - -# Output file base name for HTML help builder. -htmlhelp_basename = 'pyfardoc' - - -# -- Options for LaTeX output ------------------------------------------ - -latex_elements = { - # The paper size ('letterpaper' or 'a4paper'). - # - # 'papersize': 'letterpaper', - - # The font size ('10pt', '11pt' or '12pt'). - # - # 'pointsize': '10pt', - - # Additional stuff for the LaTeX preamble. - # - # 'preamble': '', - - # Latex figure (float) alignment - # - # 'figure_align': 'htbp', +# -- Options for HTML output ------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output + +html_theme = 'pydata_sphinx_theme' +html_static_path = ['_static'] +html_css_files = ['css/custom.css'] +html_logo = 'resources/logos/pyfar_logos_fixed_size_pyfar.png' +html_title = "pyfar" +html_favicon = '_static/favicon.ico' + + +# -- HTML theme options +# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/layout.html + +html_theme_options = { + "navbar_start": ["navbar-logo"], + "navbar_end": ["navbar-icon-links"], + "navbar_align": "content", + "icon_links": [ + { + "name": "GitHub", + "url": "https://github.com/pyfar", + "icon": "fa-brands fa-square-github", + "type": "fontawesome", + }, + { + "name": "CC-BY", + "url": "https://creativecommons.org/licenses/by/4.0/deed.de", + "icon": "fa-brands fa-creative-commons-by", + "type": "fontawesome", + } + ], + + # Configure secondary (right) side bar + "show_toc_level": 3, # Show all subsections of notebooks + "secondary_sidebar_items": ["page-toc"] # Omit 'show source' link that that + # shows notebook in json format } -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, documentclass -# [howto, manual, or own class]). -latex_documents = [ - (master_doc, 'pyfar.tex', - u'pyfar Documentation', - u'Marco Berzborn', 'manual'), -] - - -# -- Options for manual page output ------------------------------------ - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - (master_doc, 'pyfar', - u'pyfar Documentation', - [author], 1) -] - - +html_context = { + "default_mode": "light" +} # -- Options for Texinfo output ---------------------------------------- # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) -texinfo_documents = [ - (master_doc, 'pyfar', - u'pyfar Documentation', - author, - 'pyfar', - 'One line description of project.', - 'Miscellaneous'), -] +# texinfo_documents = [ +# (master_doc, 'pyfar', +# u'pyfar Gallery', +# author, +# 'pyfar', +# 'One line description of project.', +# 'Miscellaneous'), +# ] + +# -- Options for nbsphinx ------------------------------------------------- +nbsphinx_prolog = r""" +{% set docname = 'doc/' + env.doc2path(env.docname, base=None) %} + +.. raw:: html + +
+ Open an interactive online version by clicking the badge + Binder badge + or + download + the notebook. + +
+ +""" + +# -- manage thumbnails -------------------------------------------------------- +# must be located in 'docs/_static' +nbsphinx_thumbnails = { +} # -- pyfar specifics ----------------------------------------------------- diff --git a/docs/resources/logos/pyfar_logos_fixed_size_pyfar.png b/docs/resources/logos/pyfar_logos_fixed_size_pyfar.png new file mode 100644 index 0000000000000000000000000000000000000000..b21ec877563146955786fccd5d37e74bddbada36 GIT binary patch literal 8208 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 Y@NpBndwmDI^dl#Z8yzdsb@=zc0Iax8r~m)} literal 0 HcmV?d00001 diff --git a/requirements_dev.txt b/requirements_dev.txt index 6dba83f34..a7a832fe2 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -14,8 +14,10 @@ scipy>=1.5.0 matplotlib<=3.7 urllib3 deepdiff -insipid-sphinx-theme autodocsumm soundfile>=0.11.0 sofar>=1.1.1 nbmake>=0.7.0 +pydata-sphinx-theme +sphinx-design +sphinx-favicon From 1330adafbd5361cb5ef40481119b8428e6ffc2bc Mon Sep 17 00:00:00 2001 From: Anne Heimes Date: Fri, 15 Mar 2024 08:32:35 +0100 Subject: [PATCH 02/11] fix sphinx warning --- docs/conf.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/conf.py b/docs/conf.py index 99a7b30f7..f4dc0bdae 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -105,8 +105,9 @@ # Configure secondary (right) side bar "show_toc_level": 3, # Show all subsections of notebooks - "secondary_sidebar_items": ["page-toc"] # Omit 'show source' link that that + "secondary_sidebar_items": ["page-toc"], # Omit 'show source' link that that # shows notebook in json format + "navigation_with_keys": True, } html_context = { From 35c758426c1c779db7a5d5c1629efcd662a83cfa Mon Sep 17 00:00:00 2001 From: Anne Heimes Date: Fri, 15 Mar 2024 08:38:46 +0100 Subject: [PATCH 03/11] fix pyfar settings --- docs/conf.py | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index f4dc0bdae..2009946cb 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -24,8 +24,8 @@ 'sphinx.ext.mathjax', 'sphinx.ext.intersphinx', 'autodocsumm', - "sphinx_design", - "sphinx_favicon", + 'sphinx_design', + 'sphinx_favicon', ] # show tocs for classes and functions of modules using the autodocsumm @@ -48,16 +48,46 @@ # The master toctree document. master_doc = 'index' -project = 'pyfar gallery' +# General information about the project. +project = 'pyfar' copyright = '2020-2024, The pyfar developers' author = 'The pyfar developers' -release = '0.1.0' +# The version info for the project you're documenting, acts as replacement +# for |version| and |release|, also used in various other places throughout +# the built documents. +# +# The short X.Y version. +version = pyfar.__version__ +# The full version, including alpha/beta/rc tags. +release = pyfar.__version__ + + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = 'en' +# List of patterns, relative to source directory, that match files and templates_path = ['_templates'] +# directories to ignore when looking for source files. +# This patterns also effect to html_static_path and html_extra_path + + exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] +# The name of the Pygments (syntax highlighting) style to use (Not defining +# uses the default style of the html_theme). +# pygments_style = 'sphinx' + +# If true, '()' will be appended to :func: etc. cross-reference text. +add_function_parentheses = False + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = False # default language for highlighting in source code highlight_language = "python3" From 5d5a3afd90221ba1bb80d357dbf218b441c1e1a8 Mon Sep 17 00:00:00 2001 From: Simon Kersten Date: Fri, 15 Mar 2024 09:58:31 +0100 Subject: [PATCH 04/11] Delete template.ipynb --- docs/_templates/template.ipynb | 116 --------------------------------- 1 file changed, 116 deletions(-) delete mode 100644 docs/_templates/template.ipynb diff --git a/docs/_templates/template.ipynb b/docs/_templates/template.ipynb deleted file mode 100644 index 03df1a7a6..000000000 --- a/docs/_templates/template.ipynb +++ /dev/null @@ -1,116 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# A Very Nice New Notebook\n", - "\n", - "The content of this example could be well introduced right here, since this is the first line people may read." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Since this is only a template we'll only import pyfar..." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import pyfar as pf" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "... and make some noise:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from IPython.display import Audio\n", - "\n", - "noise = pf.signals.noise(2**18, spectrum='pink')\n", - "Audio(noise.time, rate=noise.sampling_rate)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Interactive plotting can also be used to visualize the noise" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "%matplotlib ipympl\n", - "\n", - "plt.figure()\n", - "pf.plot.time(noise)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# License notice\n", - "This notebook © 2024 by [the pyfar developers](https://github.com/orgs/pyfar/people) is licensed under [CC BY 4.0](http://creativecommons.org/licenses/by/4.0/?ref=chooser-v1)\n", - "\n", - "![CC BY Large](https://mirrors.creativecommons.org/presskit/buttons/88x31/svg/by.svg)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Watermark" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "%load_ext watermark\n", - "%watermark -v -m -iv" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} From c01a7aaa267552afaaed3838640410cb7ec52be9 Mon Sep 17 00:00:00 2001 From: Simon Kersten Date: Fri, 15 Mar 2024 10:11:50 +0100 Subject: [PATCH 05/11] remove logo --- docs/index.rst | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 186698df5..cfbbf786b 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -2,9 +2,6 @@ :width: 150 :alt: Alternative text -|pyfar_logo| - - Getting Started =============== From e507e05f58f7960a0027a1c88137f156ff2e145e Mon Sep 17 00:00:00 2001 From: Simon Kersten Date: Fri, 15 Mar 2024 10:16:36 +0100 Subject: [PATCH 06/11] remove double internal link in toolbar --- docs/_templates/navbar-nav.html | 6 ------ 1 file changed, 6 deletions(-) diff --git a/docs/_templates/navbar-nav.html b/docs/_templates/navbar-nav.html index 34147dd11..ff93063b9 100644 --- a/docs/_templates/navbar-nav.html +++ b/docs/_templates/navbar-nav.html @@ -14,12 +14,6 @@ - -