{"version":3,"sources":["webpack:///./src/pages/resources.tsx"],"names":["links","installationLinks","additionalResources","sub","link","resourcesContainer","title","Resources","css","className","href","target","rel","type","map","width","height","src","frameBorder","allow","allowFullScreen","span"],"mappings":"6KAwBMA,EAAQ,CACZ,CACE,mFACA,8HAEF,CACE,kGACA,4DAEF,CACE,6CACA,gEAIEC,EAAoB,CACxB,CACE,sBACA,6EAEF,CACE,wBACA,oEAEF,CACE,oBACA,sGAEF,CACE,oCACA,yFAIEC,EAAsB,CAC1B,CACE,kBACA,4DAEF,CACE,gGACA,+CAEF,CACE,6CACA,6EAEF,CACE,2FACA,+GAEF,CACE,sFACA,2DACA,CACEC,IAAK,SACLC,KAAM,2BAGV,CACE,+BACA,8DACA,CACED,IAAK,WACLC,KAAM,wBAGV,CACE,oCACA,yFAIEC,EAAqB,CAAH,4+BAyFlBC,EAAQ,CAAH,2EAMLC,EAAY,kBAChB,YAAC,IAAD,KACE,YAAC,IAAD,CAAKD,MAAM,cACX,mBAAKE,IAAKH,GACR,kBAAIG,IAAKF,GAAT,aACA,oBAAMG,UAAU,QAAhB,mEAEG,IACD,uBAHF,mEAKG,IACD,uBANF,8CAQE,iBAAGC,KAAK,8DAAR,4BAIF,mBAAKD,UAAU,SACb,uBACE,oDACA,mBAAKA,UAAU,kBACb,mBAAKA,UAAU,QACb,mBAAKA,UAAU,SAAf,gBACA,iBACEC,KAAK,4CACLC,OAAO,SACPC,IAAI,cAEJ,iBAAQC,KAAK,WAAb,kBAGJ,mBAAKJ,UAAU,QACb,mBAAKA,UAAU,SAAf,eACA,iBACEC,KAAK,0BACLC,OAAO,SACPC,IAAI,cAEJ,iBAAQC,KAAK,WAAb,kBAGJ,mBAAKJ,UAAU,QACb,uCACA,iBACEC,KAAK,2DACLC,OAAO,SACPC,IAAI,cAEJ,iBAAQC,KAAK,UAAUJ,UAAU,SAAjC,yBAKJ,mBAAKA,UAAU,QACb,mBAAKA,UAAU,SAAf,mBACA,iBACEC,KAAK,wDACLC,OAAO,SACPC,IAAI,cAEJ,iBAAQC,KAAK,WAAb,iBAGJ,mBAAKJ,UAAU,QACb,4DACA,iBACEC,KAAK,oEACLC,OAAO,SACPC,IAAI,cAEJ,iBAAQC,KAAK,UAAUJ,UAAU,QAAjC,mBAOR,mBAAKA,UAAU,gBACb,0CACCT,EAAMc,KAAI,gBAAEV,EAAF,KAAQM,EAAR,YACT,iBAAGA,KAAMA,EAAMC,OAAO,SAASC,IAAI,cAChCR,OAIP,mBAAKK,UAAU,gBACb,2DACCR,EAAkBa,KAAI,gBAAEV,EAAF,KAAQM,EAAR,YACrB,iBAAGA,KAAMA,EAAMC,OAAO,SAASC,IAAI,cAChCR,OAIP,mBAAKK,UAAU,UACb,0CACA,sBACEM,MAAM,MACNC,OAAO,MACPC,IAAI,4CACJC,YAAY,IACZC,MAAM,0EACNC,iBAAe,IAEjB,sBACEL,MAAM,MACNC,OAAO,MACPC,IAAI,4CACJC,YAAY,IACZC,MAAM,0EACNC,iBAAe,IAEjB,sBACEL,MAAM,MACNC,OAAO,MACPC,IAAI,4CACJC,YAAY,IACZC,MAAM,0EACNC,iBAAe,IAEjB,sBACEL,MAAM,MACNC,OAAO,MACPC,IAAI,4CACJC,YAAY,IACZC,MAAM,0EACNC,iBAAe,KAGnB,uBACE,sBACGlB,EAAoBY,KAAI,gBAAEO,EAAF,KAAQX,EAAR,YACvB,sBACE,iBAAGA,KAAMA,EAAMC,OAAO,SAASC,IAAI,cAChCS,aAWJd,iB","file":"component---src-pages-resources-tsx-d6bcf9e03e42221d10a4.js","sourcesContent":["/**\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership.  The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License.  You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied.  See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nimport React from 'react';\nimport { css } from '@emotion/core';\nimport { Button } from 'antd';\nimport SEO from '../components/seo';\nimport Layout from '../components/layout';\n\nconst links = [\n  [\n    \"O'Reilly Live Training: Rapid Data Exploration and Analysis with Apache Superset\",\n    'https://learning.oreilly.com/live-training/courses/rapid-data-exploration-and-analysis-with-apache-superset/0636920457251/',\n  ],\n  [\n    'Unlocking Advanced Data Analytics on The Data Lake Using Apache Superset and Dremio from Dremio',\n    'https://www.dremio.com/tutorials/dremio-apache-superset/',\n  ],\n  [\n    'Test-driving Apache Superset from SmartCat',\n    'https://blog.smartcat.io/2018/test-driving-apache-superset/',\n  ],\n];\n\nconst installationLinks = [\n  [\n    'Locally with Docker',\n    'https://superset.incubator.apache.org/installation.html#start-with-docker',\n  ],\n  [\n    'Install on Windows 10',\n    'https://gist.github.com/mark05e/d9cccae129dd11a21d7219eddd7d9923',\n  ],\n  [\n    'Install on CentOS',\n    'https://aichamp.wordpress.com/2019/11/20/installing-apache-superset-into-centos-7-with-python-3-7/',\n  ],\n  [\n    'Build Apache Superset from source',\n    'https://hackernoon.com/a-better-guide-to-build-apache-superset-from-source-6f2ki32n0',\n  ],\n];\n\nconst additionalResources = [\n  [\n    'YouTube Channel',\n    'https://www.youtube.com/channel/UCMuwrvBsg_jjI2gLcm04R0g',\n  ],\n  [\n    'May 15, 2020: Virtual Meetup Recording. Topics: 0.36 Overview, Committers Self-Intro, Roadmap',\n    'https://www.youtube.com/watch?v=f6up5x_iRbI',\n  ],\n  [\n    \"O'Reilly Apache Superset Quick Start Guide\",\n    'https://www.oreilly.com/library/view/apache-superset-quick/9781788992244/',\n  ],\n  [\n    'Getting Started with Apache Superset, an Enterprise-Ready Business Intelligence Platform',\n    'https://reflectivedata.com/getting-started-apache-superset-enterprise-ready-business-intelligence-platform/',\n  ],\n  [\n    'Unlocking Advanced Data Analytics on The Data Lake Using Apache Superset and Dremio',\n    'https://www.dremio.com/tutorials/dremio-apache-superset/',\n    {\n      sub: 'Dremio',\n      link: 'https://www.dremio.com',\n    },\n  ],\n  [\n    'Test-driving Apache Superset',\n    'https://blog.smartcat.io/2018/test-driving-apache-superset/',\n    {\n      sub: 'SmartCat',\n      link: 'https://smartcat.io',\n    },\n  ],\n  [\n    'Build Apache Superset from source',\n    'https://hackernoon.com/a-better-guide-to-build-apache-superset-from-source-6f2ki32n0',\n  ],\n];\n\nconst resourcesContainer = css`\n  background: #fff;\n  .links {\n    margin-top: 80px;\n    .resourcesLinks {\n      display: flex;\n      flex-direction: row;\n      flex-wrap: wrap;\n      justify-content: center;\n      text-align: center;\n      .link {\n        margin: 25px;\n        width: 189px;\n        position: relative;\n        font-size: 16px;\n        flex-direction: column;\n        border: solid 1px #cbcbcb;\n        border-radius: 5px;\n        padding: 45px 36px;\n        &:hover {\n          border-color: #1fa8c9;\n          cursor: pointer;\n        }\n        .youtube {\n          width: 94px;\n          height: 24px;\n          margin-bottom: 40px;\n        }\n        .preset {\n          margin-top: -13px;\n          margin-bottom: -10px;\n        }\n        .ytBtn {\n          position: absolute;\n          top: 129px;\n          left: 9px;\n        }\n        .title {\n          margin-bottom: 59px;\n        }\n        .gBtn {\n          margin-top: 10px;\n        }\n      }\n      a {\n        display: block;\n        margin-bottom: 50px;\n      }\n      .gatsby-image-wrapper {\n        display: block !important;\n        margin-bottom: 40px;\n      }\n    }\n  }\n  .videos {\n    text-align: center;\n    iframe {\n      margin: 15px;\n    }\n  }\n  .span {\n    display: block;\n    text-align: center;\n    font-size: 20px;\n  }\n  h2 {\n    text-align: center;\n    font-size: 35px;\n  }\n  .learnContent,\n  .installation {\n    margin-top: 25px;\n    margin-bottom: 50px;\n    a {\n      display: block;\n      text-align: center;\n      font-size: 20px;\n      margin: 15px;\n    }\n  }\n  ul {\n    display: table;\n    margin: 0 auto;\n    font-size: 20px;\n    margin-top: 25px;\n    margin-bottom: 25px;\n  }\n`;\n\nconst title = css`\n  margin-top: 150px;\n  text-align: center;\n  font-size: 60px;\n`;\n\nconst Resources = () => (\n  <Layout>\n    <SEO title=\"Resources\" />\n    <div css={resourcesContainer}>\n      <h1 css={title}>Resources</h1>\n      <span className=\"span\">\n        Here’s a collection of resources and blogs about Apache Superset\n        {' '}\n        <br />\n        from around the Internet. If you find anything worth adding, you\n        {' '}\n        <br />\n        can add to the list which can be found here\n        <a href=\"https://github.com/apache-superset/awesome-apache-superset\">\n          Awesome Apache Superset\n        </a>\n      </span>\n      <div className=\"links\">\n        <div>\n          <h2> Getting Started Resources</h2>\n          <div className=\"resourcesLinks\">\n            <div className=\"link\">\n              <div className=\"title\">Docker Image</div>\n              <a\n                href=\"https://hub.docker.com/r/preset/superset/\"\n                target=\"_blank\"\n                rel=\"noreferrer\"\n              >\n                <Button type=\"primary\">Docker Image</Button>\n              </a>\n            </div>\n            <div className=\"link\">\n              <div className=\"title\">Preset Blog</div>\n              <a\n                href=\"https://preset.io/blog/\"\n                target=\"_blank\"\n                rel=\"noreferrer\"\n              >\n                <Button type=\"primary\"> Go To Blog!</Button>\n              </a>\n            </div>\n            <div className=\"link\">\n              <div>Youtube Page</div>\n              <a\n                href=\"https://www.youtube.com/channel/UCMuwrvBsg_jjI2gLcm04R0g\"\n                target=\"_blank\"\n                rel=\"noreferrer\"\n              >\n                <Button type=\"primary\" className=\"ytBtn\">\n                  Go To YouTube Page!\n                </Button>\n              </a>\n            </div>\n            <div className=\"link\">\n              <div className=\"title\">Install Drivers</div>\n              <a\n                href=\"https://preset.io/blog/2020-05-18-install-db-drivers/\"\n                target=\"_blank\"\n                rel=\"noreferrer\"\n              >\n                <Button type=\"primary\">Go To Blog!</Button>\n              </a>\n            </div>\n            <div className=\"link\">\n              <div>Connect Superset To Google Sheets</div>\n              <a\n                href=\"https://preset.io/blog/2020-06-01-connect-superset-google-sheets/\"\n                target=\"_blank\"\n                rel=\"noreferrer\"\n              >\n                <Button type=\"primary\" className=\"gBtn\">\n                  Go To Blog!\n                </Button>\n              </a>\n            </div>\n          </div>\n        </div>\n        <div className=\"learnContent\">\n          <h2>Learning Content</h2>\n          {links.map(([link, href]) => (\n            <a href={href} target=\"_blank\" rel=\"noreferrer\">\n              {link}\n            </a>\n          ))}\n        </div>\n        <div className=\"installation\">\n          <h2>Additional Installation Resources</h2>\n          {installationLinks.map(([link, href]) => (\n            <a href={href} target=\"_blank\" rel=\"noreferrer\">\n              {link}\n            </a>\n          ))}\n        </div>\n        <div className=\"videos\">\n          <h2> Videos Content </h2>\n          <iframe\n            width=\"560\"\n            height=\"315\"\n            src=\"https://www.youtube.com/embed/24XDOkGJrEY\"\n            frameBorder=\"0\"\n            allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n            allowFullScreen\n          />\n          <iframe\n            width=\"560\"\n            height=\"315\"\n            src=\"https://www.youtube.com/embed/AqousXQ7YHw\"\n            frameBorder=\"0\"\n            allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n            allowFullScreen\n          />\n          <iframe\n            width=\"560\"\n            height=\"315\"\n            src=\"https://www.youtube.com/embed/JGeIHrQYhIs\"\n            frameBorder=\"0\"\n            allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n            allowFullScreen\n          />\n          <iframe\n            width=\"560\"\n            height=\"315\"\n            src=\"https://www.youtube.com/embed/z350Gbi463I\"\n            frameBorder=\"0\"\n            allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n            allowFullScreen\n          />\n        </div>\n        <div>\n          <ul>\n            {additionalResources.map(([span, href]) => (\n              <li>\n                <a href={href} target=\"_blank\" rel=\"noreferrer\">\n                  {span}\n                </a>\n              </li>\n            ))}\n          </ul>\n        </div>\n      </div>\n    </div>\n  </Layout>\n);\n\nexport default Resources;\n"],"sourceRoot":""}