diff --git a/ci/conda_env_sphinx.yml b/ci/conda_env_sphinx.yml index 8654d231065..49388e2b437 100644 --- a/ci/conda_env_sphinx.yml +++ b/ci/conda_env_sphinx.yml @@ -21,4 +21,4 @@ doxygen ipython # Pinned per ARROW-9693 sphinx=3.1.2 -sphinx_rtd_theme +pydata-sphinx-theme diff --git a/ci/docker/linux-apt-docs.dockerfile b/ci/docker/linux-apt-docs.dockerfile index 46c31bbd480..20cb889f28d 100644 --- a/ci/docker/linux-apt-docs.dockerfile +++ b/ci/docker/linux-apt-docs.dockerfile @@ -79,7 +79,7 @@ RUN pip install \ breathe \ ipython \ sphinx \ - sphinx_rtd_theme + pydata-sphinx-theme COPY c_glib/Gemfile /arrow/c_glib/ RUN gem install --no-document bundler && \ diff --git a/docs/requirements.txt b/docs/requirements.txt index 80411408149..0dbca692225 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -2,4 +2,4 @@ breathe ipython numpydoc sphinx==2.4.4 -sphinx_rtd_theme +pydata-sphinx-theme diff --git a/docs/source/_static/arrow.png b/docs/source/_static/arrow.png new file mode 100644 index 00000000000..72104b075b8 Binary files /dev/null and b/docs/source/_static/arrow.png differ diff --git a/docs/source/_static/favicon.ico b/docs/source/_static/favicon.ico new file mode 100644 index 00000000000..33a554a8a82 Binary files /dev/null and b/docs/source/_static/favicon.ico differ diff --git a/docs/source/_static/theme_overrides.css b/docs/source/_static/theme_overrides.css index 91670a741e5..f623b3b3c49 100644 --- a/docs/source/_static/theme_overrides.css +++ b/docs/source/_static/theme_overrides.css @@ -17,6 +17,59 @@ * under the License. */ + +/* Customizing with theme CSS variables */ + +:root { + --pst-color-active-navigation: 215, 70, 51; + --pst-color-link-hover: 215, 70, 51; + --pst-color-headerlink: 215, 70, 51; + /* Use normal text color (like h3, ..) instead of primary color */ + --pst-color-h1: var(--color-text-base); + --pst-color-h2: var(--color-text-base); + /* Use softer blue from bootstrap's default info color */ + --pst-color-info: 23, 162, 184; + --pst-header-height: 0px; +} + +code { + color: rgb(215, 70, 51); +} + +.footer { + text-align: center; +} + +/* Ensure the logo is properly displayed */ + +.navbar-brand { + height: auto; + width: auto; +} + +a.navbar-brand img { + height: auto; + width: auto; + max-height: 15vh; + max-width: 100%; +} + + +/* Limit the max height of the sidebar navigation section. Because in our +custimized template, there is more content above the navigation, i.e. +larger logo: if we don't decrease the max-height, it will overlap with +the footer. +Details: min(15vh, 110px) for the logo size, 8rem for search box etc*/ + +@media (min-width:720px) { + @supports (position:-webkit-sticky) or (position:sticky) { + .bd-links { + max-height: calc(100vh - min(15vh, 110px) - 8rem) + } + } +} + + /* Fix table text wrapping in RTD theme, * see https://rackerlabs.github.io/docs-rackspace/tools/rtd-tables.html */ diff --git a/docs/source/_templates/docs-sidebar.html b/docs/source/_templates/docs-sidebar.html new file mode 100644 index 00000000000..f6ee66cadaa --- /dev/null +++ b/docs/source/_templates/docs-sidebar.html @@ -0,0 +1,19 @@ + + + + + + + + diff --git a/docs/source/_templates/layout.html b/docs/source/_templates/layout.html index 8ee71e4bb27..a9d0f30bcf8 100644 --- a/docs/source/_templates/layout.html +++ b/docs/source/_templates/layout.html @@ -1,13 +1,5 @@ -{# Import the theme's layout. #} -{% extends "!layout.html" %} +{% extends "pydata_sphinx_theme/layout.html" %} -{%- block footer %} - - +{# Silence the navbar #} +{% block docs_navbar %} {% endblock %} diff --git a/docs/source/conf.py b/docs/source/conf.py index 47d88a9a166..05a45531f4a 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -179,14 +179,15 @@ # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -html_theme = 'sphinx_rtd_theme' +html_theme = 'pydata_sphinx_theme' # 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 = { - 'nosidebar': True + "show_toc_level": 2, + "google_analytics_id": "UA-107500873-1", } # Add any paths that contain custom themes here, relative to this directory. @@ -204,13 +205,13 @@ # The name of an image file (relative to this directory) to place at the top # of the sidebar. # -# html_logo = None +html_logo = "_static/arrow.png" # The name of an image file (relative to this directory) to use as a favicon of # the docs. This file should be a Windows icon file (.ico) being 16x16 or # 32x32 pixels large. # -# html_favicon = None +html_favicon = "_static/favicon.ico" # 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, @@ -239,7 +240,10 @@ # Custom sidebar templates, maps document names to template names. # -# html_sidebars = {} +html_sidebars = { +# '**': ['sidebar-logo.html', 'sidebar-search-bs.html', 'sidebar-nav-bs.html'], + '**': ['docs-sidebar.html'], +} # Additional templates that should be rendered to pages, maps page names to # template names. diff --git a/docs/source/cpp/api/array.rst b/docs/source/cpp/api/array.rst index 70e21faa011..bb981d1a047 100644 --- a/docs/source/cpp/api/array.rst +++ b/docs/source/cpp/api/array.rst @@ -19,10 +19,6 @@ Arrays ====== -.. sidebar:: Contents - - .. contents:: :local: - .. doxygenclass:: arrow::Array :project: arrow_cpp :members: diff --git a/docs/source/cpp/api/compute.rst b/docs/source/cpp/api/compute.rst index 9a71cce1288..3b0a89f83f8 100644 --- a/docs/source/cpp/api/compute.rst +++ b/docs/source/cpp/api/compute.rst @@ -18,10 +18,6 @@ Compute Functions ================= -.. sidebar:: Contents - - .. contents:: :local: - Datum class ----------- diff --git a/docs/source/cpp/api/dataset.rst b/docs/source/cpp/api/dataset.rst index f285f3633be..3f0df8a4537 100644 --- a/docs/source/cpp/api/dataset.rst +++ b/docs/source/cpp/api/dataset.rst @@ -19,10 +19,6 @@ Dataset ======= -.. sidebar:: Contents - - .. contents:: :local: - Interface ========= diff --git a/docs/source/cpp/api/filesystem.rst b/docs/source/cpp/api/filesystem.rst index 957e7321730..02fff9a6c2e 100644 --- a/docs/source/cpp/api/filesystem.rst +++ b/docs/source/cpp/api/filesystem.rst @@ -19,10 +19,6 @@ Filesystems =========== -.. sidebar:: Contents - - .. contents:: :local: - Interface ========= diff --git a/docs/source/cpp/api/io.rst b/docs/source/cpp/api/io.rst index 37023ec696c..735136a0d47 100644 --- a/docs/source/cpp/api/io.rst +++ b/docs/source/cpp/api/io.rst @@ -19,10 +19,6 @@ Input / output ============== -.. sidebar:: Contents - - .. contents:: :local: - Interfaces ========== diff --git a/docs/source/cpp/api/ipc.rst b/docs/source/cpp/api/ipc.rst index 2a9e656fa05..6822b986a75 100644 --- a/docs/source/cpp/api/ipc.rst +++ b/docs/source/cpp/api/ipc.rst @@ -22,10 +22,6 @@ Arrow IPC ========= -.. sidebar:: Contents - - .. contents:: :local: - IPC options =========== diff --git a/docs/source/cpp/compute.rst b/docs/source/cpp/compute.rst index b2ecb3b2ceb..92ac8886f87 100644 --- a/docs/source/cpp/compute.rst +++ b/docs/source/cpp/compute.rst @@ -23,10 +23,6 @@ Compute Functions ================= -.. sidebar:: Contents - - .. contents:: :local: - The generic Compute API ======================= diff --git a/docs/source/cpp/memory.rst b/docs/source/cpp/memory.rst index ac1ae5e4f27..415a3ae1852 100644 --- a/docs/source/cpp/memory.rst +++ b/docs/source/cpp/memory.rst @@ -25,10 +25,6 @@ Memory Management .. seealso:: :doc:`Memory management API reference ` -.. sidebar:: Contents - - .. contents:: :local: - Buffers ======= diff --git a/docs/source/cpp/parquet.rst b/docs/source/cpp/parquet.rst index a81fadb8eda..d69bf1c6b56 100644 --- a/docs/source/cpp/parquet.rst +++ b/docs/source/cpp/parquet.rst @@ -27,10 +27,6 @@ Reading and writing Parquet files .. seealso:: :ref:`Parquet reader and writer API reference `. -.. sidebar:: Contents - - .. contents:: :local: - The `Parquet format `__ is a space-efficient columnar storage format for complex data. The Parquet C++ implementation is part of the Apache Arrow project and benefits diff --git a/docs/source/developers/cpp/windows.rst b/docs/source/developers/cpp/windows.rst index 8df443d097a..4de67ba402c 100644 --- a/docs/source/developers/cpp/windows.rst +++ b/docs/source/developers/cpp/windows.rst @@ -194,7 +194,7 @@ to the Unix-specific ``ccache``). Newer versions of Visual Studio include Ninja. To see if your Visual Studio includes Ninja, run the initialization command shown :ref:`above` (``vcvarsall.bat`` or ``VsDevCmd.bat``), then - run ``ninja --version``. +run ``ninja --version``. If Ninja is not included in your version of Visual Studio, and you are using conda, activate your conda environment and install Ninja and clcache: diff --git a/docs/source/format/Guidelines.rst b/docs/source/format/Guidelines.rst index fec6c7f4f26..40624521a7a 100644 --- a/docs/source/format/Guidelines.rst +++ b/docs/source/format/Guidelines.rst @@ -15,6 +15,8 @@ .. specific language governing permissions and limitations .. under the License. +:orphan: + Implementation Guidelines ========================= diff --git a/docs/source/format/IPC.rst b/docs/source/format/IPC.rst index cc9f4198618..65b47f7d71c 100644 --- a/docs/source/format/IPC.rst +++ b/docs/source/format/IPC.rst @@ -15,6 +15,8 @@ .. specific language governing permissions and limitations .. under the License. +:orphan: + IPC === diff --git a/docs/source/format/Layout.rst b/docs/source/format/Layout.rst index cb83ae152f8..4568f31c58c 100644 --- a/docs/source/format/Layout.rst +++ b/docs/source/format/Layout.rst @@ -15,6 +15,8 @@ .. specific language governing permissions and limitations .. under the License. +:orphan: + Physical Memory Layout ====================== diff --git a/docs/source/format/Metadata.rst b/docs/source/format/Metadata.rst index ae15bf286f6..55045abb0af 100644 --- a/docs/source/format/Metadata.rst +++ b/docs/source/format/Metadata.rst @@ -15,6 +15,8 @@ .. specific language governing permissions and limitations .. under the License. +:orphan: + Format Metadata =============== diff --git a/docs/source/python/plasma.rst b/docs/source/python/plasma.rst index 25248c16a77..e373bd0a69d 100644 --- a/docs/source/python/plasma.rst +++ b/docs/source/python/plasma.rst @@ -21,9 +21,6 @@ The Plasma In-Memory Object Store ================================= -.. contents:: Contents - :depth: 3 - .. note:: As present, Plasma is only supported for use on Linux and macOS. diff --git a/python/pyarrow/dataset.py b/python/pyarrow/dataset.py index 615cb2516dc..9390fe8248f 100644 --- a/python/pyarrow/dataset.py +++ b/python/pyarrow/dataset.py @@ -517,8 +517,8 @@ def dataset(source, schema=None, format=None, filesystem=None, Parameters ---------- - source : path, list of paths, dataset, list of datasets, (list of) batches - or tables, iterable of batches, RecordBatchReader, or URI + source : path, list of paths, dataset, list of datasets, (list of) batches\ +or tables, iterable of batches, RecordBatchReader, or URI Path pointing to a single file: Open a FileSystemDataset from a single file. Path pointing to a directory: diff --git a/python/pyarrow/parquet.py b/python/pyarrow/parquet.py index 1b3602de8cd..4564740bc83 100644 --- a/python/pyarrow/parquet.py +++ b/python/pyarrow/parquet.py @@ -547,8 +547,8 @@ def _sanitize_table(table, new_schema, flavor): LogicalTypes.md#nested-types>`_, defaults to ``False``. For ``use_compliant_nested_type=True``, this will write into a list with 3-level structure where the middle level, named ``list``, - is a repeated group with a single field named ``element`` - :: + is a repeated group with a single field named ``element``:: + group (LIST) { repeated group list { element; @@ -558,8 +558,8 @@ def _sanitize_table(table, new_schema, flavor): For ``use_compliant_nested_type=False``, this will also write into a list with 3-level structure, where the name of the single field of the middle level ``list`` is taken from the element name for nested columns in Arrow, - which defaults to ``item`` - :: + which defaults to ``item``:: + group (LIST) { repeated group list { item;