This is an automated email from the ASF dual-hosted git repository.

lidavidm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git


The following commit(s) were added to refs/heads/main by this push:
     new c8ec427d docs: spruce up landing page (#1360)
c8ec427d is described below

commit c8ec427db7d3ee9435f3407aaab339b65ce0ecbd
Author: David Li <[email protected]>
AuthorDate: Tue Dec 19 09:44:24 2023 -0500

    docs: spruce up landing page (#1360)
    
    Fixes #1359.
---
 ci/conda_env_docs.txt          |   3 +-
 docs/source/_static/banner.png | Bin 0 -> 18127 bytes
 docs/source/conf.py            |  14 ++-
 docs/source/driver/sqlite.rst  |   2 +-
 docs/source/index.rst          | 198 ++++++++++++++++++++++++++++++++++++-----
 5 files changed, 190 insertions(+), 27 deletions(-)

diff --git a/ci/conda_env_docs.txt b/ci/conda_env_docs.txt
index ff2b6df3..42151b8d 100644
--- a/ci/conda_env_docs.txt
+++ b/ci/conda_env_docs.txt
@@ -18,7 +18,7 @@
 breathe
 doxygen
 # XXX(https://github.com/apache/arrow-adbc/issues/987)
-furo=2023.07.26
+furo>=2023.09.10
 make
 # Needed to install mermaid
 nodejs
@@ -28,4 +28,5 @@ sphinx>=5.0
 sphinx-autobuild
 sphinx-copybutton
 sphinx-design
+sphinxext-opengraph
 r-pkgdown
diff --git a/docs/source/_static/banner.png b/docs/source/_static/banner.png
new file mode 100644
index 00000000..2f58c223
Binary files /dev/null and b/docs/source/_static/banner.png differ
diff --git a/docs/source/conf.py b/docs/source/conf.py
index b5e45a09..6e4858a1 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -43,6 +43,7 @@ extensions = [
     "sphinx.ext.intersphinx",
     "sphinx_copybutton",
     "sphinx_design",
+    "sphinxext.opengraph",
 ]
 templates_path = ["_templates"]
 
@@ -90,7 +91,10 @@ except ImportError:
 # -- Options for HTML output -------------------------------------------------
 # 
https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
 
-html_css_files = ["css/custom.css"]
+html_css_files = [
+    
"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css";,
+    "css/custom.css",
+]
 html_static_path = ["_static"]
 html_theme = "furo"
 html_theme_options = {
@@ -110,3 +114,11 @@ intersphinx_mapping = {
 # -- Options for numpydoc ----------------------------------------------------
 
 numpydoc_class_members_toctree = False
+
+# -- Options for sphinxext.opengraph -----------------------------------------
+
+if "dev" in release:
+    ogp_site_url = "https://arrow.apache.org/adbc/main/";
+else:
+    ogp_site_url = f"https://arrow.apache.org/adbc/{release}/";
+ogp_image = "_static/banner.png"
diff --git a/docs/source/driver/sqlite.rst b/docs/source/driver/sqlite.rst
index 6ec4a02b..3f78bc91 100644
--- a/docs/source/driver/sqlite.rst
+++ b/docs/source/driver/sqlite.rst
@@ -211,7 +211,7 @@ Example
 
       .. code-block:: go
 
-         # TODO
+         // TODO
 
    .. tab-item:: Python
       :sync: python
diff --git a/docs/source/index.rst b/docs/source/index.rst
index 69551b0b..96608fe3 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -15,23 +15,191 @@
 .. specific language governing permissions and limitations
 .. under the License.
 
+:sd_hide_title:
+
 =================
 Apache Arrow ADBC
 =================
 
-To get started, choose a language and follow the Quickstart page.
+.. div::
+   :style: border-bottom: 1px solid var(--color-foreground-border);
+
+   .. grid::
+      :margin: 4 3 0 0
+
+      .. grid-item::
+         :columns: 12 12 12 12
+         :class: sd-fs-2
+
+         ADBC: Arrow Database Connectivity
+
+      .. grid-item::
+         :columns: 12 12 12 12
+         :class: sd-fs-4
+
+         **Cross-language**, **Arrow-native** database access.
+
+ADBC is a set of APIs and libraries for Arrow-native access to databases.
+Execute SQL and Substrait queries, query database catalogs, and more, all
+using Arrow data to eliminate unnecessary data copies, speed up access, and
+make it more convenient to build analytical applications.
+
+.. div::
+
+   .. grid::
+      :margin: 4 4 0 0
+      :gutter: 1
+
+      .. grid-item-card::
+         :columns: 12 12 4 4
+
+         Quickstart
+         ^^^
+
+         Get started with simple examples in your language of choice.
+
+         +++
+
+         .. button-ref:: cpp/quickstart
+            :ref-type: doc
+            :color: secondary
+            :expand:
+
+            C/C++
+
+         .. button-link:: 
https://pkg.go.dev/github.com/apache/arrow-adbc/go/adbc
+            :color: secondary
+            :expand:
+
+            Go
+
+         .. button-ref:: java/quickstart
+            :ref-type: doc
+            :color: secondary
+            :expand:
+
+            Java
+
+         .. button-ref:: python/quickstart
+            :ref-type: doc
+            :color: secondary
+            :expand:
+
+            Python
+
+         .. button-ref:: r/index
+            :ref-type: doc
+            :color: secondary
+            :expand:
+
+            R
+
+      .. grid-item-card::
+         :columns: 12 4 4 4
+
+         Specification
+         ^^^
+
+         Learn about the underlying API specification.
+
+         +++
+
+         .. button-link:: 
https://arrow.apache.org/blog/2023/01/05/introducing-arrow-adbc/
+            :color: secondary
+            :expand:
 
-To learn more about ADBC, see the `introductory blog post
-<https://arrow.apache.org/blog/2023/01/05/introducing-arrow-adbc/>`_.
+            Introducing ADBC :octicon:`cross-reference`
+
+         .. button-ref:: format/specification
+            :ref-type: doc
+            :color: secondary
+            :expand:
+
+            Specification
+
+         .. button-ref:: faq
+            :ref-type: doc
+            :color: secondary
+            :expand:
+
+            FAQ
+
+      .. grid-item-card::
+         :columns: 12 4 4 4
+
+         Development
+         ^^^
+
+         Report bugs, ask questions, and contribute to Apache Arrow.
+
+         +++
+
+         .. button-link:: https://github.com/apache/arrow-adbc/issues
+            :color: secondary
+            :expand:
+
+            :fab:`github` Issues/Questions
+
+         .. button-link:: https://arrow.apache.org/community/
+            :color: secondary
+            :expand:
+
+            Mailing List :octicon:`cross-reference`
+
+         .. button-link:: 
https://github.com/apache/arrow-adbc/blob/main/CONTRIBUTING.md
+            :color: secondary
+            :expand:
+
+            Contributing :octicon:`cross-reference`
+
+Why ADBC?
+=========
+
+.. grid:: 1 2 2 2
+   :margin: 4 4 0 0
+   :gutter: 1
+
+   .. grid-item-card:: Arrow-native
+
+      Execute queries and get back results in Arrow format, eliminating extra
+      data copies for Arrow-native backends.
+
+   .. grid-item-card:: Backend-agnostic
+      :link: driver/status
+      :link-type: doc
+
+      Connect to all kinds of databases, even ones that aren't Arrow-native.
+      ADBC drivers optimize conversion to/from Arrow where required, saving
+      work for developers.
+
+      +++
+      See Supported Drivers
+
+   .. grid-item-card:: Cross-language
+
+      Work in C/C++, C#, Go, Java, Python, R, Ruby, and more.
+
+   .. grid-item-card:: Full-featured
+
+      Execute SQL and Substrait, query database catalogs, inspect table
+      schemas, and more.  ADBC handles common tasks without having to pull in
+      another database client.
+
+   .. grid-item-card:: Language-native
+
+      Use language-native APIs that you're already familiar with, like DBAPI
+      in Python, ``database/sql`` in Go, or DBI in R.
 
 .. toctree::
    :maxdepth: 1
+   :hidden:
 
    faq
 
 .. toctree::
    :maxdepth: 1
    :caption: Supported Environments
+   :hidden:
 
    C/C++ <cpp/index>
    Go <https://pkg.go.dev/github.com/apache/arrow-adbc/go/adbc>
@@ -42,6 +210,7 @@ To learn more about ADBC, see the `introductory blog post
 .. toctree::
    :maxdepth: 1
    :caption: Drivers
+   :hidden:
 
    driver/installation
    driver/status
@@ -55,6 +224,7 @@ To learn more about ADBC, see the `introductory blog post
 .. toctree::
    :maxdepth: 1
    :caption: Specification
+   :hidden:
 
    format/specification
    format/versioning
@@ -63,28 +233,8 @@ To learn more about ADBC, see the `introductory blog post
 .. toctree::
    :maxdepth: 1
    :caption: Development
+   :hidden:
 
    development/contributing
    development/nightly
    development/releasing
-
-ADBC (Arrow Database Connectivity) is an API specification for
-Arrow-based database access.  It provides a set of APIs in C, Go, and
-Java that define how to interact with databases, including executing
-queries and fetching metadata, that use Arrow data for result sets and
-query parameters.  These APIs are then implemented by drivers (or a
-driver manager) that use some underlying protocol to work with
-specific databases.
-
-ADBC aims to provide applications with a single, Arrow-based API to
-work with multiple databases, whether Arrow-native or not.
-Application code should not need to juggle conversions from
-non-Arrow-native datasources alongside bindings for multiple
-Arrow-native database protocols.
-
-Indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`

Reply via email to