diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 5edd6d47b5a..c4faff13bca 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -34,7 +34,6 @@ repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.2.0
hooks:
- - id: check-added-large-files
- id: check-docstring-first
- id: check-yaml
exclude: ^helm/superset/templates/
diff --git a/docs/package-lock.json b/docs/package-lock.json
index 9129e4c2d43..ef19633b214 100644
--- a/docs/package-lock.json
+++ b/docs/package-lock.json
@@ -3157,6 +3157,15 @@
"normalize-path": "^2.1.1"
}
},
+ "aphrodite": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/aphrodite/-/aphrodite-0.5.0.tgz",
+ "integrity": "sha1-pLmokCZiOV0nAucKx6K0ymbyVwM=",
+ "requires": {
+ "asap": "^2.0.3",
+ "inline-style-prefixer": "^2.0.0"
+ }
+ },
"application-config-path": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/application-config-path/-/application-config-path-0.1.0.tgz",
@@ -4318,6 +4327,11 @@
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
},
+ "bowser": {
+ "version": "1.9.4",
+ "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.4.tgz",
+ "integrity": "sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ=="
+ },
"boxen": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz",
@@ -7281,6 +7295,14 @@
"utila": "~0.4"
}
},
+ "dom-helpers": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz",
+ "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==",
+ "requires": {
+ "@babel/runtime": "^7.1.2"
+ }
+ },
"dom-iterator": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/dom-iterator/-/dom-iterator-1.0.0.tgz",
@@ -8405,6 +8427,11 @@
}
}
},
+ "exenv": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz",
+ "integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50="
+ },
"exif-parser": {
"version": "0.1.12",
"resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz",
@@ -12267,6 +12294,11 @@
}
}
},
+ "hyphenate-style-name": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz",
+ "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ=="
+ },
"iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -12880,6 +12912,15 @@
"resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz",
"integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q=="
},
+ "inline-style-prefixer": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz",
+ "integrity": "sha1-wVPH6I/YT+9cYC6VqBaLJ3BnH+c=",
+ "requires": {
+ "bowser": "^1.0.0",
+ "hyphenate-style-name": "^1.0.1"
+ }
+ },
"inquirer": {
"version": "7.3.3",
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
@@ -18424,6 +18465,15 @@
"github-buttons": "^2.8.0"
}
},
+ "react-grid-gallery": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/react-grid-gallery/-/react-grid-gallery-0.5.5.tgz",
+ "integrity": "sha512-DkKg2/Am+VZPDG39fazelTcsZSQrfM/YllnIcWToyUEfOZcrzHxUoqCziCkuTPmCuMbHnrjidBFuDbAFgvSnvQ==",
+ "requires": {
+ "prop-types": "^15.5.8",
+ "react-images": "^0.5.16"
+ }
+ },
"react-helmet": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz",
@@ -18491,6 +18541,17 @@
"camelcase": "^5.0.0"
}
},
+ "react-images": {
+ "version": "0.5.19",
+ "resolved": "https://registry.npmjs.org/react-images/-/react-images-0.5.19.tgz",
+ "integrity": "sha512-B3d4W1uFJj+m17K8S65iAyEJShKGBjPk7n7N1YsPiAydEm8mIq9a6CoeQFMY1d7N2QMs6FBCjT9vELyc5jP5JA==",
+ "requires": {
+ "aphrodite": "^0.5.0",
+ "prop-types": "^15.6.0",
+ "react-scrolllock": "^2.0.1",
+ "react-transition-group": "2"
+ }
+ },
"react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
@@ -18545,6 +18606,11 @@
}
}
},
+ "react-prop-toggle": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/react-prop-toggle/-/react-prop-toggle-1.0.2.tgz",
+ "integrity": "sha512-JmerjAXs7qJ959+d0Ygt7Cb2+4fG+n3I2VXO6JO0AcAY1vkRN/JpZKAN67CMXY889xEJcfylmMPhzvf6nWO68Q=="
+ },
"react-reconciler": {
"version": "0.25.1",
"resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.25.1.tgz",
@@ -18605,6 +18671,15 @@
"resize-observer-polyfill": "^1.5.1"
}
},
+ "react-scrolllock": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/react-scrolllock/-/react-scrolllock-2.0.7.tgz",
+ "integrity": "sha512-Gzpu8+ulxdYcybAgJOFTXc70xs7SBZDQbZNpKzchZUgLCJKjz6lrgESx6LHHZgfELx1xYL4yHu3kYQGQPFas/g==",
+ "requires": {
+ "exenv": "^1.2.2",
+ "react-prop-toggle": "^1.0.2"
+ }
+ },
"react-side-effect": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.0.tgz",
@@ -18625,6 +18700,17 @@
"tslib": "^1.0.0"
}
},
+ "react-transition-group": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz",
+ "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==",
+ "requires": {
+ "dom-helpers": "^3.4.0",
+ "loose-envify": "^1.4.0",
+ "prop-types": "^15.6.2",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ },
"read": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
diff --git a/docs/package.json b/docs/package.json
index b5dbeeb8af9..98de5865750 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -32,6 +32,7 @@
"react": "^16.12.0",
"react-dom": "^16.12.0",
"react-github-btn": "^1.2.0",
+ "react-grid-gallery": "^0.5.5",
"react-helmet": "^6.1.0",
"theme-ui": "^0.3.1",
"three": "^0.68.0"
diff --git a/docs/src/components/DbImage.tsx b/docs/src/components/DbImage.tsx
new file mode 100644
index 00000000000..d74a7173d5b
--- /dev/null
+++ b/docs/src/components/DbImage.tsx
@@ -0,0 +1,49 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+import React from 'react';
+import { useStaticQuery, graphql } from 'gatsby';
+import Img from 'gatsby-image';
+
+interface Props {
+ imageName?: string;
+}
+
+const DbImage = ({ imageName }: Props) => {
+ const data = useStaticQuery(graphql`
+ query {
+ allImages: allFile(filter: {relativeDirectory: {eq: "src/images/databases"}}) {
+ edges {
+ node {
+ childImageSharp {
+ fixed(height: 50) {
+ ...GatsbyImageSharpFixed
+ originalName
+ }
+ }
+ }
+ }
+ }
+ }
+ `);
+ const images = data.allImages.edges.map((img) => img.node?.childImageSharp?.fixed);
+ const filter = images.filter((img) => img?.originalName === imageName);
+ return
;
+};
+
+export default DbImage;
diff --git a/docs/src/components/MainMenu.tsx b/docs/src/components/MainMenu.tsx
index 0de95c3510c..46e7d5b7bba 100644
--- a/docs/src/components/MainMenu.tsx
+++ b/docs/src/components/MainMenu.tsx
@@ -81,6 +81,9 @@ const MenuItems = ({ mode, toggleDrawer }: menuProps) => {
Documentation
+
+ Gallery
+
Community
diff --git a/docs/src/components/footer.tsx b/docs/src/components/footer.tsx
index e593f20405a..a8778bdf623 100644
--- a/docs/src/components/footer.tsx
+++ b/docs/src/components/footer.tsx
@@ -28,6 +28,8 @@ const footerStyle = css`
text-align: center;
color: #ccc;
padding: 10px;
+ height: 100%;
+ width: 100%;
`;
const copyrightStyle = css`
diff --git a/docs/src/components/image.tsx b/docs/src/components/image.tsx
index dc76bee6665..adc03a59324 100644
--- a/docs/src/components/image.tsx
+++ b/docs/src/components/image.tsx
@@ -22,14 +22,13 @@ import Img from 'gatsby-image';
interface Props {
imageName?: string;
- type?: string;
width?: string;
height?: string;
otherProps?: any;
}
const Image = ({
- imageName, type, width, height, ...otherProps
+ imageName, width, height, ...otherProps
}: Props) => {
const data = useStaticQuery(graphql`
query {
@@ -82,30 +81,10 @@ const Image = ({
}
}
}
-
- getAllImages: allImageSharp {
- edges {
- node {
- fixed(height: 50) {
- ...GatsbyImageSharpFixed
- originalName
- }
- }
- }
- }
}
`);
- const filter = data.getAllImages.edges.filter(
- (n) => n.node.fixed.originalName === imageName,
- );
- const imgStyle = width && height ? { width, height } : {};
-
- return type === 'db' ? (
-
- ) : (
-
- );
+ return
;
};
export default Image;
diff --git a/docs/src/components/layout.tsx b/docs/src/components/layout.tsx
index 752578c550b..a5a3fe12208 100644
--- a/docs/src/components/layout.tsx
+++ b/docs/src/components/layout.tsx
@@ -74,7 +74,7 @@ const sidebarStyle = css`
border-right: 1px solid #bfbfbf;
`;
-const contentStyle = css`
+const doczLayoutStyle = css`
margin-top: 3px;
background-color: white;
img {
@@ -124,6 +124,20 @@ const contentLayoutDocsStyle = css`
overflow: auto;
}
`;
+const footerHeight = 135;
+const baseLayoutStyle = css`
+ min-height: 100vh;
+ position: relative;
+ .layout-footer {
+ position: absolute;
+ bottom: 0;
+ width: 100%;
+ height: ${footerHeight}px;
+ }
+ .content-wrap {
+ padding-bottom: ${footerHeight}px;
+ }
+`;
interface Props {
children: React.ReactNode;
@@ -153,7 +167,7 @@ const AppLayout = ({ children }: Props) => {
-
+
setDrawer(true)}>
{
>
) : (
-
- {children}
-
+
+
+ {children}
+
+
+
+
)}
diff --git a/docs/src/images/apache-drill.png b/docs/src/images/databases/apache-drill.png
similarity index 100%
rename from docs/src/images/apache-drill.png
rename to docs/src/images/databases/apache-drill.png
diff --git a/docs/src/images/apache-druid.jpeg b/docs/src/images/databases/apache-druid.jpeg
similarity index 100%
rename from docs/src/images/apache-druid.jpeg
rename to docs/src/images/databases/apache-druid.jpeg
diff --git a/docs/src/images/apache-druid.png b/docs/src/images/databases/apache-druid.png
similarity index 100%
rename from docs/src/images/apache-druid.png
rename to docs/src/images/databases/apache-druid.png
diff --git a/docs/src/images/apache-hive.svg b/docs/src/images/databases/apache-hive.svg
similarity index 100%
rename from docs/src/images/apache-hive.svg
rename to docs/src/images/databases/apache-hive.svg
diff --git a/docs/src/images/apache-impala.png b/docs/src/images/databases/apache-impala.png
similarity index 100%
rename from docs/src/images/apache-impala.png
rename to docs/src/images/databases/apache-impala.png
diff --git a/docs/src/images/apache-kylin.png b/docs/src/images/databases/apache-kylin.png
similarity index 100%
rename from docs/src/images/apache-kylin.png
rename to docs/src/images/databases/apache-kylin.png
diff --git a/docs/src/images/aws-redshift.png b/docs/src/images/databases/aws-redshift.png
similarity index 100%
rename from docs/src/images/aws-redshift.png
rename to docs/src/images/databases/aws-redshift.png
diff --git a/docs/src/images/clickhouse.png b/docs/src/images/databases/clickhouse.png
similarity index 100%
rename from docs/src/images/clickhouse.png
rename to docs/src/images/databases/clickhouse.png
diff --git a/docs/src/images/druid.png b/docs/src/images/databases/druid.png
similarity index 100%
rename from docs/src/images/druid.png
rename to docs/src/images/databases/druid.png
diff --git a/docs/src/images/exasol.png b/docs/src/images/databases/exasol.png
similarity index 100%
rename from docs/src/images/exasol.png
rename to docs/src/images/databases/exasol.png
diff --git a/docs/src/images/firebird.png b/docs/src/images/databases/firebird.png
similarity index 100%
rename from docs/src/images/firebird.png
rename to docs/src/images/databases/firebird.png
diff --git a/docs/src/images/googleBQ.png b/docs/src/images/databases/googleBQ.png
similarity index 100%
rename from docs/src/images/googleBQ.png
rename to docs/src/images/databases/googleBQ.png
diff --git a/docs/src/images/greenplum.jpeg b/docs/src/images/databases/greenplum.jpeg
similarity index 100%
rename from docs/src/images/greenplum.jpeg
rename to docs/src/images/databases/greenplum.jpeg
diff --git a/docs/src/images/greenplum.png b/docs/src/images/databases/greenplum.png
similarity index 100%
rename from docs/src/images/greenplum.png
rename to docs/src/images/databases/greenplum.png
diff --git a/docs/src/images/ibmdb2.png b/docs/src/images/databases/ibmdb2.png
similarity index 100%
rename from docs/src/images/ibmdb2.png
rename to docs/src/images/databases/ibmdb2.png
diff --git a/docs/src/images/monet.png b/docs/src/images/databases/monet.png
similarity index 100%
rename from docs/src/images/monet.png
rename to docs/src/images/databases/monet.png
diff --git a/docs/src/images/msql.png b/docs/src/images/databases/msql.png
similarity index 100%
rename from docs/src/images/msql.png
rename to docs/src/images/databases/msql.png
diff --git a/docs/src/images/mysql.png b/docs/src/images/databases/mysql.png
similarity index 100%
rename from docs/src/images/mysql.png
rename to docs/src/images/databases/mysql.png
diff --git a/docs/src/images/oracle-logo.png b/docs/src/images/databases/oracle-logo.png
similarity index 100%
rename from docs/src/images/oracle-logo.png
rename to docs/src/images/databases/oracle-logo.png
diff --git a/docs/src/images/oracle.png b/docs/src/images/databases/oracle.png
similarity index 100%
rename from docs/src/images/oracle.png
rename to docs/src/images/databases/oracle.png
diff --git a/docs/src/images/oraclelogo.png b/docs/src/images/databases/oraclelogo.png
similarity index 100%
rename from docs/src/images/oraclelogo.png
rename to docs/src/images/databases/oraclelogo.png
diff --git a/docs/src/images/postgresql.jpg b/docs/src/images/databases/postgresql.jpg
similarity index 100%
rename from docs/src/images/postgresql.jpg
rename to docs/src/images/databases/postgresql.jpg
diff --git a/docs/src/images/postsql.png b/docs/src/images/databases/postsql.png
similarity index 100%
rename from docs/src/images/postsql.png
rename to docs/src/images/databases/postsql.png
diff --git a/docs/src/images/presto-og.png b/docs/src/images/databases/presto-og.png
similarity index 100%
rename from docs/src/images/presto-og.png
rename to docs/src/images/databases/presto-og.png
diff --git a/docs/src/images/snowflake.png b/docs/src/images/databases/snowflake.png
similarity index 100%
rename from docs/src/images/snowflake.png
rename to docs/src/images/databases/snowflake.png
diff --git a/docs/src/images/sqllite.jpg b/docs/src/images/databases/sqllite.jpg
similarity index 100%
rename from docs/src/images/sqllite.jpg
rename to docs/src/images/databases/sqllite.jpg
diff --git a/docs/src/images/sqllite.png b/docs/src/images/databases/sqllite.png
similarity index 100%
rename from docs/src/images/sqllite.png
rename to docs/src/images/databases/sqllite.png
diff --git a/docs/src/images/vertica.png b/docs/src/images/databases/vertica.png
similarity index 100%
rename from docs/src/images/vertica.png
rename to docs/src/images/databases/vertica.png
diff --git a/docs/src/images/gallery/bubble.png b/docs/src/images/gallery/bubble.png
new file mode 100644
index 00000000000..0d1f4c366a0
Binary files /dev/null and b/docs/src/images/gallery/bubble.png differ
diff --git a/docs/src/images/gallery/chord_diagram.png b/docs/src/images/gallery/chord_diagram.png
new file mode 100644
index 00000000000..216db6ccb44
Binary files /dev/null and b/docs/src/images/gallery/chord_diagram.png differ
diff --git a/docs/src/images/gallery/community.png b/docs/src/images/gallery/community.png
new file mode 100644
index 00000000000..9b2c6948765
Binary files /dev/null and b/docs/src/images/gallery/community.png differ
diff --git a/docs/src/images/gallery/dashboard_editor.png b/docs/src/images/gallery/dashboard_editor.png
new file mode 100644
index 00000000000..8d1b0792803
Binary files /dev/null and b/docs/src/images/gallery/dashboard_editor.png differ
diff --git a/docs/src/images/gallery/dashboard_list.png b/docs/src/images/gallery/dashboard_list.png
new file mode 100644
index 00000000000..d72a48dd1cc
Binary files /dev/null and b/docs/src/images/gallery/dashboard_list.png differ
diff --git a/docs/src/images/gallery/dashboard_properties.png b/docs/src/images/gallery/dashboard_properties.png
new file mode 100644
index 00000000000..d05da04a02e
Binary files /dev/null and b/docs/src/images/gallery/dashboard_properties.png differ
diff --git a/docs/src/images/gallery/deck_arc.png b/docs/src/images/gallery/deck_arc.png
new file mode 100644
index 00000000000..d0b3e7e290f
Binary files /dev/null and b/docs/src/images/gallery/deck_arc.png differ
diff --git a/docs/src/images/gallery/deck_hex.png b/docs/src/images/gallery/deck_hex.png
new file mode 100644
index 00000000000..50e7088b3b2
Binary files /dev/null and b/docs/src/images/gallery/deck_hex.png differ
diff --git a/docs/src/images/gallery/deck_path.png b/docs/src/images/gallery/deck_path.png
new file mode 100644
index 00000000000..a8c45012233
Binary files /dev/null and b/docs/src/images/gallery/deck_path.png differ
diff --git a/docs/src/images/gallery/deck_polygon.png b/docs/src/images/gallery/deck_polygon.png
new file mode 100644
index 00000000000..f67f94b452b
Binary files /dev/null and b/docs/src/images/gallery/deck_polygon.png differ
diff --git a/docs/src/images/gallery/deck_scatter.png b/docs/src/images/gallery/deck_scatter.png
new file mode 100644
index 00000000000..7226226b90b
Binary files /dev/null and b/docs/src/images/gallery/deck_scatter.png differ
diff --git a/docs/src/images/gallery/deckgl_dash.png b/docs/src/images/gallery/deckgl_dash.png
new file mode 100644
index 00000000000..6ba049c7ae3
Binary files /dev/null and b/docs/src/images/gallery/deckgl_dash.png differ
diff --git a/docs/src/images/gallery/explore.png b/docs/src/images/gallery/explore.png
new file mode 100644
index 00000000000..40c24c365af
Binary files /dev/null and b/docs/src/images/gallery/explore.png differ
diff --git a/docs/src/images/gallery/force_layout.png b/docs/src/images/gallery/force_layout.png
new file mode 100644
index 00000000000..be196629579
Binary files /dev/null and b/docs/src/images/gallery/force_layout.png differ
diff --git a/docs/src/images/gallery/france.png b/docs/src/images/gallery/france.png
new file mode 100644
index 00000000000..bd8572fe904
Binary files /dev/null and b/docs/src/images/gallery/france.png differ
diff --git a/docs/src/images/gallery/girl_names.png b/docs/src/images/gallery/girl_names.png
new file mode 100644
index 00000000000..d685b19be3b
Binary files /dev/null and b/docs/src/images/gallery/girl_names.png differ
diff --git a/docs/src/images/gallery/heatmap.png b/docs/src/images/gallery/heatmap.png
new file mode 100644
index 00000000000..69f5b365eb3
Binary files /dev/null and b/docs/src/images/gallery/heatmap.png differ
diff --git a/docs/src/images/gallery/pino_geo.png b/docs/src/images/gallery/pino_geo.png
new file mode 100644
index 00000000000..f4288c5006e
Binary files /dev/null and b/docs/src/images/gallery/pino_geo.png differ
diff --git a/docs/src/images/gallery/sankey.png b/docs/src/images/gallery/sankey.png
new file mode 100644
index 00000000000..38719ec326d
Binary files /dev/null and b/docs/src/images/gallery/sankey.png differ
diff --git a/docs/src/images/gallery/slack.png b/docs/src/images/gallery/slack.png
new file mode 100644
index 00000000000..c8904bfb1fa
Binary files /dev/null and b/docs/src/images/gallery/slack.png differ
diff --git a/docs/src/images/gallery/sqllab.png b/docs/src/images/gallery/sqllab.png
new file mode 100644
index 00000000000..ee59c37a7b1
Binary files /dev/null and b/docs/src/images/gallery/sqllab.png differ
diff --git a/docs/src/images/gallery/storm.png b/docs/src/images/gallery/storm.png
new file mode 100644
index 00000000000..aa52b4bfb01
Binary files /dev/null and b/docs/src/images/gallery/storm.png differ
diff --git a/docs/src/images/gallery/stream.png b/docs/src/images/gallery/stream.png
new file mode 100644
index 00000000000..2b10d68aebe
Binary files /dev/null and b/docs/src/images/gallery/stream.png differ
diff --git a/docs/src/images/gallery/table.png b/docs/src/images/gallery/table.png
new file mode 100644
index 00000000000..7d1e6a73854
Binary files /dev/null and b/docs/src/images/gallery/table.png differ
diff --git a/docs/src/images/gallery/treemap.png b/docs/src/images/gallery/treemap.png
new file mode 100644
index 00000000000..9bf2e2b020c
Binary files /dev/null and b/docs/src/images/gallery/treemap.png differ
diff --git a/docs/src/images/gallery/visualizations.png b/docs/src/images/gallery/visualizations.png
new file mode 100644
index 00000000000..995ca9c0869
Binary files /dev/null and b/docs/src/images/gallery/visualizations.png differ
diff --git a/docs/src/images/gallery/worldbank_dashboard.png b/docs/src/images/gallery/worldbank_dashboard.png
new file mode 100644
index 00000000000..d8e91b8f494
Binary files /dev/null and b/docs/src/images/gallery/worldbank_dashboard.png differ
diff --git a/docs/src/images/gatsby-astronaut.png b/docs/src/images/gatsby-astronaut.png
deleted file mode 100644
index da58ece0a8c..00000000000
Binary files a/docs/src/images/gatsby-astronaut.png and /dev/null differ
diff --git a/docs/src/images/gatsby-icon.png b/docs/src/images/gatsby-icon.png
deleted file mode 100644
index 908bc78a7f5..00000000000
Binary files a/docs/src/images/gatsby-icon.png and /dev/null differ
diff --git a/docs/src/images/mysql.html b/docs/src/images/mysql.html
deleted file mode 100644
index b1e75bcf206..00000000000
--- a/docs/src/images/mysql.html
+++ /dev/null
@@ -1,1062 +0,0 @@
-
-
-
-
-
-
-
- Mysql Logo png download - 1064*796 - Free Transparent Mysql png Download.
- - CleanPNG / KissPNG
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Resolution:
- 1064*796
-
-
- Size:
- 8.26 KB
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Similar Images
-
-
- -
-
-
-

-
-
-
-
- -
-
-
-

-
-
-
-
- -
-
-
-

-
-
-
-
- -
-
-
-

-
-
-
-
- -
-
-
-

-
-
-
-
- -
-
-
-

-
-
-
-
- -
-
-
-

-
-
-
-
- -
-
-
-

-
-
-
-
- -
-
-
-

-
-
-
-
- -
-
-
-

-
-
-
-
- -
-
-
-

-
-
-
-
- -
-
-
-

-
-
-
-
- -
-
-
-

-
-
-
-
- -
-
-
-

-
-
-
-
- -
-
-
-

-
-
-
-
- -
-
-
-

-
-
-
-
- -
-
-
-

-
-
-
-
- -
-
-
-

-
-
-
-
- -
-
-
-

-
-
-
-
- -
-
-
-

-
-
-
-
-
-
-
-
-
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Send a message
-
-
-
- Contributor:
-
-
-
- Image:
-
-
-
-
- Your Email:
-
-
-
- Your Name:
-
-
-
- Message:
-
-
-
-
Code:
-
-

-
-
-
-
- Send
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/src/pages/gallery.tsx b/docs/src/pages/gallery.tsx
new file mode 100644
index 00000000000..57e1cc27a83
--- /dev/null
+++ b/docs/src/pages/gallery.tsx
@@ -0,0 +1,110 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+import React from 'react';
+import { css } from '@emotion/core';
+import { useStaticQuery, graphql } from 'gatsby';
+import Gallery from 'react-grid-gallery';
+import Layout from '../components/layout';
+
+const galleryStyle = css`
+ margin-bottom: 25px;
+ padding-top: 100px;
+ padding-left: 50px;
+ padding-right: 50px;
+ text-align: center;
+ .ReactGridGallery_tile-viewport {
+ overflow: visible !important;
+ }
+ .ReactGridGallery img {
+ box-shadow: 0px 0px 3px 1px #AAA;
+ }
+`;
+
+// This defines the ordering of the images in the gallery
+// and allows to add metadata to images.
+const imageMeta = {
+ 'worldbank_dashboard.png': { caption: "World's Bank Dashboard" },
+ 'sqllab.png': { caption: 'SQL Lab' },
+ 'explore.png': { caption: 'Explore!' },
+ 'visualizations.png': { caption: 'Visualizations' },
+ 'chord_diagram.png': { caption: 'Explore' },
+ 'deck_scatter.png': { caption: 'Geospatial Scatterplot' },
+ 'deck_polygon.png': { caption: 'Geospatial Polygon' },
+ 'deck_arc.png': { caption: 'Geospatial Arc' },
+ 'deck_path.png': { caption: 'Geospatial Path' },
+};
+
+const GalleryPage = () => {
+ const data = useStaticQuery(graphql`
+ query {
+ allImages: allFile(filter: {extension: {eq: "png"}, relativeDirectory: {regex: "/gallery/"}}) {
+ edges {
+ node {
+ thumb: childImageSharp {
+ fixed(height: 350) {
+ ...GatsbyImageSharpFixed
+ originalName
+ }
+ }
+ full: childImageSharp {
+ fixed(height: 1600) {
+ ...GatsbyImageSharpFixed
+ originalName
+ }
+ }
+ }
+ }
+ }
+ }
+ `);
+ const imagesMap = {};
+ data.allImages.edges.map((img) => img.node).forEach((img) => {
+ imagesMap[img.thumb.fixed.originalName] = {
+ src: img.full.fixed.src,
+ thumbnail: img.thumb.fixed.src,
+ // caption: img.thumb.fixed.originalName,
+ };
+ });
+
+ const augmentedImages = [];
+ Object.keys(imageMeta).forEach((originalName) => {
+ const img = imagesMap[originalName];
+ delete imagesMap[originalName];
+ augmentedImages.push({
+ ...img,
+ ...imageMeta[originalName],
+ });
+ });
+ Object.values(imagesMap).forEach((img) => {
+ augmentedImages.push(img);
+ });
+ return (
+
+
+
+
+
+ );
+};
+export default GalleryPage;
diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx
index 5df1bb4b9d9..a63342062be 100644
--- a/docs/src/pages/index.tsx
+++ b/docs/src/pages/index.tsx
@@ -36,6 +36,7 @@ import GitHubButton from 'react-github-btn';
import { Databases } from '../resources/data';
import Layout from '../components/layout';
import Image from '../components/image';
+import DbImage from '../components/DbImage';
import 'antd/dist/antd.css';
import SEO from '../components/seo';
import logo from '../images/superset-logo-horiz-apache.svg';
@@ -179,7 +180,7 @@ const integrationSection = css`
font-size: 18px;
}
- .databaseList {
+ .database-list {
margin-top: 100px;
list-style-type: none;
padding: 0px;
@@ -448,7 +449,7 @@ const Theme = () => {
Supported Databases
-
+
{Databases.map(
({
title, href, imgName: imageName, width, height,
@@ -459,10 +460,9 @@ const Theme = () => {
key={imageName}
rel="noreferrer"
>
-