diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 610e1269caf8f..7c86ff067cd0f 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -37,6 +37,11 @@ const config = { projectName: 'superset', // Usually your repo name. themes: ['@saucelabs/theme-github-codeblock'], plugins: [ + ["docusaurus-plugin-less", { + lessOptions: { + javascriptEnabled: true, + } + }], [ '@docusaurus/plugin-client-redirects', { @@ -140,7 +145,7 @@ const config = { 'https://github.com/facebook/docusaurus/edit/main/website/blog/', }, theme: { - customCss: require.resolve('./src/css/custom.css'), + customCss: require.resolve('./src/styles/custom.css'), }, googleAnalytics: { trackingID: 'G-133LHD3B3N', @@ -174,37 +179,32 @@ const config = { }, items: [ { - type: 'doc', - docId: 'intro', - position: 'left', label: 'Documentation', - }, - { to: '/community', label: 'Community', position: 'left' }, - { - href: 'https://github.com/apache/superset', - label: 'GitHub', - position: 'right', - }, - ], - }, - footer: { - style: 'dark', - links: [ - { - title: 'Docs', items: [ + { + label: 'Getting Started', + to: '/docs/intro', + }, { label: 'Tutorial', to: '/docs/intro', }, + { + label: 'FAQ', + to: '/docs/frequently-asked-questions', + }, ], }, { - title: 'Community', + label: 'Community', items: [ { - label: 'Stack Overflow', - href: 'https://stackoverflow.com/questions/tagged/superset+apache-superset', + label: 'Resources', + href: '/community', + }, + { + label: 'GitHub', + href: 'https://github.com/apache/superset', }, { label: 'Slack', @@ -214,17 +214,22 @@ const config = { label: 'Mailing List', href: 'https://lists.apache.org/list.html?dev@superset.apache.org', }, - ], - }, - { - title: 'More', - items: [ { - label: 'GitHub', - href: 'https://github.com/apache/superset', + label: 'Stack Overflow', + href: 'https://stackoverflow.com/questions/tagged/superset+apache-superset', }, ], }, + { + href: 'https://github.com/apache/superset', + position: 'right', + class: 'github-logo-container', + }, + ], + }, + footer: { + style: 'dark', + links: [ ], copyright: `Copyright © ${new Date().getFullYear()}, The Apache Software Foundation, diff --git a/docs/package.json b/docs/package.json index 420aba6394438..4b0c8e6c4702d 100644 --- a/docs/package.json +++ b/docs/package.json @@ -32,7 +32,10 @@ "antd": "^4.19.3", "buffer": "^6.0.3", "clsx": "^1.1.1", + "docusaurus-plugin-less": "^2.0.2", "file-loader": "^6.2.0", + "less": "^4.1.2", + "less-loader": "^11.0.0", "prism-react-renderer": "^1.2.1", "react": "^17.0.1", "react-dom": "^17.0.1", diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx index 9ac438a2869d1..d57225a0d797c 100644 --- a/docs/src/pages/index.tsx +++ b/docs/src/pages/index.tsx @@ -24,6 +24,7 @@ import { } from 'antd'; import styled from '@emotion/styled'; import { supersetTheme } from '@superset-ui/style'; +import '../styles/main.less'; import { DeploymentUnitOutlined, FireOutlined, @@ -31,7 +32,6 @@ import { DatabaseOutlined, } from '@ant-design/icons'; import GitHubButton from 'react-github-btn'; -import 'antd/dist/antd.css'; import { mq } from '../utils'; import { Databases } from '../resources/data'; @@ -125,7 +125,7 @@ const StyledFeatures = styled('div')` background: #fff; padding: 5vw 0; margin-top: 0px; - margin-bottom: 30px; + margin-bottom: 10px; .featureList { padding: 40px; width: 100%; @@ -135,7 +135,7 @@ const StyledFeatures = styled('div')` .feature { padding: 20px; text-align: center; - margin-bottom: 40px; + margin-bottom: 20px; .imagePlaceHolder { svg { width: 70px; @@ -240,7 +240,7 @@ const CarouselSection = styled('div')` .imageContainer { img { margin: 0 auto; - width: 80%; + max-width: 800px; box-shadow: 0 0 3px #aaa; margin-top: 5px; margin-bottom: 5px; diff --git a/docs/src/styles/antd-theme.less b/docs/src/styles/antd-theme.less new file mode 100644 index 0000000000000..feb3b12d3abd3 --- /dev/null +++ b/docs/src/styles/antd-theme.less @@ -0,0 +1,27 @@ +/** + * 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. + */ +@primary-color: #20a7c9; +@info-color: #66bcfe; +@success-color: #59c189; +@processing-color: #66bcfe; +@error-color: #e04355; +@highlight-color: #e04355; +@normal-color: #d9d9d9; +@white: #FFF; +@black: #000; diff --git a/docs/src/css/custom.css b/docs/src/styles/custom.css similarity index 86% rename from docs/src/css/custom.css rename to docs/src/styles/custom.css index 548a9039dbe35..2f133aaebdf9c 100644 --- a/docs/src/css/custom.css +++ b/docs/src/styles/custom.css @@ -24,6 +24,8 @@ */ /* You can override the default Infima variables here. */ +@import url('https://fonts.googleapis.com/css2?family=Inter&display=swap'); + :root { --ifm-color-primary: #20a7c9; --ifm-color-primary-dark: #1985a0; @@ -36,6 +38,19 @@ --ifm-menu-link-padding-vertical: 12px; --doc-sidebar-width: 350px !important; --ifm-navbar-height: none; + --ifm-font-family-base: Inter; +} +body { + font-family: Inter !important; +} +.DocSearch-Button .DocSearch-Button-Key { + display: none; +} +.github-logo-container { + background-image: url('/img/github.png'); + background-size: contain; + width: 30px; + height: 30px; } .theme-doc-toc-desktop { @@ -93,3 +108,6 @@ html[data-theme='dark'] .docusaurus-highlight-code-line { padding-left: 0; } } +a > span > svg { + display: none; +} diff --git a/docs/src/styles/main.less b/docs/src/styles/main.less new file mode 100644 index 0000000000000..ba3c1ad0b8e9e --- /dev/null +++ b/docs/src/styles/main.less @@ -0,0 +1,21 @@ +/** + * 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 '~antd/lib/style/themes/default.less'; +@import '~antd/dist/antd.less'; // Import Ant Design styles by less entry +@import 'antd-theme.less'; diff --git a/docs/static/img/github.png b/docs/static/img/github.png new file mode 100644 index 0000000000000..9490ffc6d2e15 Binary files /dev/null and b/docs/static/img/github.png differ diff --git a/docs/yarn.lock b/docs/yarn.lock index b87498c11780e..93e482fcf9b8d 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -4920,6 +4920,13 @@ cookie@~0.4.1: resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz" integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== +copy-anything@^2.0.1: + version "2.0.6" + resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" + integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== + dependencies: + is-what "^3.14.1" + copy-text-to-clipboard@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz" @@ -5352,7 +5359,7 @@ debug@2.6.9, debug@^2.6.0: dependencies: ms "2.0.0" -debug@^3.1.1: +debug@^3.1.1, debug@^3.2.6: version "3.2.7" resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== @@ -5498,6 +5505,11 @@ dns-txt@^2.0.2: dependencies: buffer-indexof "^1.0.0" +docusaurus-plugin-less@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/docusaurus-plugin-less/-/docusaurus-plugin-less-2.0.2.tgz#63bf04a5539a3b8ddc38bf527b51eb135b60f528" + integrity sha512-ez6WSSvGS8HoJslYHeG5SflyShWvHFXeTTHXPBd3H1T3zgq9wp6wD7scXm+rXyyfhFhP5VNiIqhYB78z4OLjwg== + dom-align@^1.7.0: version "1.12.2" resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.2.tgz#0f8164ebd0c9c21b0c790310493cd855892acd4b" @@ -5721,6 +5733,13 @@ entities@^3.0.1: resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== +errno@^0.1.1: + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + error-ex@^1.3.1: version "1.3.2" resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" @@ -6771,7 +6790,7 @@ human-signals@^2.1.0: resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -iconv-lite@0.4.24: +iconv-lite@0.4.24, iconv-lite@^0.4.4: version "0.4.24" resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -6805,6 +6824,11 @@ image-size@^1.0.1: dependencies: queue "6.0.2" +image-size@~0.5.0: + version "0.5.5" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" + integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= + immer@^9.0.7: version "9.0.12" resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.12.tgz#2d33ddf3ee1d247deab9d707ca472c8c942a0f20" @@ -7184,6 +7208,11 @@ is-weakref@^1.0.1: dependencies: call-bind "^1.0.0" +is-what@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" + integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== + is-whitespace-character@^1.0.0: version "1.0.4" resolved "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz" @@ -7365,7 +7394,7 @@ kleur@^3.0.3: resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== -klona@^2.0.5: +klona@^2.0.4, klona@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== @@ -7377,6 +7406,30 @@ latest-version@^5.1.0: dependencies: package-json "^6.3.0" +less-loader@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-11.0.0.tgz#a31b2bc5cdfb62f1c7de9b2d01cd944c22b1a024" + integrity sha512-9+LOWWjuoectIEx3zrfN83NAGxSUB5pWEabbbidVQVgZhN+wN68pOvuyirVlH1IK4VT1f3TmlyvAnCXh8O5KEw== + dependencies: + klona "^2.0.4" + +less@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/less/-/less-4.1.2.tgz#6099ee584999750c2624b65f80145f8674e4b4b0" + integrity sha512-EoQp/Et7OSOVu0aJknJOtlXZsnr8XE8KwuzTHOLeVSEx8pVWUICc8Q0VYRHgzyjX78nMEyC/oztWFbgyhtNfDA== + dependencies: + copy-anything "^2.0.1" + parse-node-version "^1.0.1" + tslib "^2.3.0" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + make-dir "^2.1.0" + mime "^1.4.1" + needle "^2.5.2" + source-map "~0.6.0" + leven@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" @@ -7569,6 +7622,14 @@ lru-queue@^0.1.0: dependencies: es5-ext "~0.10.2" +make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" @@ -7727,7 +7788,7 @@ mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24: dependencies: mime-db "1.51.0" -mime@1.6.0: +mime@1.6.0, mime@^1.4.1: version "1.6.0" resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== @@ -7836,6 +7897,15 @@ nanoid@^3.1.30, nanoid@^3.3.1: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== +needle@^2.5.2: + version "2.9.1" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.9.1.tgz#22d1dffbe3490c2b83e301f7709b6736cd8f2684" + integrity sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ== + dependencies: + debug "^3.2.6" + iconv-lite "^0.4.4" + sax "^1.2.4" + negotiator@0.6.2: version "0.6.2" resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz" @@ -8147,6 +8217,11 @@ parse-json@^5.0.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" +parse-node-version@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" + integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== + parse-numeric-range@^1.3.0: version "1.3.0" resolved "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz" @@ -8249,6 +8324,11 @@ picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + pkg-dir@^4.1.0: version "4.2.0" resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" @@ -8881,6 +8961,11 @@ proxy-addr@~2.0.5: forwarded "0.2.0" ipaddr.js "1.9.1" +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + pump@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" @@ -10059,7 +10144,7 @@ semver@7.0.0: resolved "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@^5.4.1: +semver@^5.4.1, semver@^5.6.0: version "5.7.1" resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -10763,6 +10848,11 @@ tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.3.1: resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== +tslib@^2.3.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + type-fest@^0.20.2: version "0.20.2" resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz"