This is an automated email from the ASF dual-hosted git repository. mayanks pushed a commit to branch dev in repository https://gitbox.apache.org/repos/asf/incubator-pinot-site.git
The following commit(s) were added to refs/heads/dev by this push: new 898cb66 Updating who uses apache pinot new c08591f Merge pull request #47 from ChethanUK/f/who-uses 898cb66 is described below commit 898cb66ed4e47d9861dc226793e6e281610ef16c Author: ChethanUK <chetha...@outlook.com> AuthorDate: Sat Jun 12 20:35:45 2021 +0530 Updating who uses apache pinot --- website/README.md | 29 +++++++ website/docs/about/who_use_pinot.md | 2 - website/docusaurus.config.js | 7 +- website/src/data/companies-data.js | 133 ++++++++++++++++++++++++++++++ website/src/pages/index.js | 160 ++++++++++++++++-------------------- website/src/pages/who_uses.js | 101 +++++++++++++++++++---- 6 files changed, 322 insertions(+), 110 deletions(-) diff --git a/website/README.md b/website/README.md index 63c0ae2..c336d4f 100755 --- a/website/README.md +++ b/website/README.md @@ -57,3 +57,32 @@ Example: `website/blog/2017-09-17-Restaurant-Manager.md` Then fill in all the sections titles, author, etc.. Example: https://raw.githubusercontent.com/apache/incubator-pinot-site/ff73eceb6fa5f8128d9332bf95f92eab2d9c5b6a/website/blog/2017-09-17-Restaurant-Manager.md + +## Adding new Companies + +To add new companies who are using Apache Pinot, just add new blog in [website/src/data/companies-data.js](./src/data/companies-data.js) + +Example of Company with both Light and Dark mode Logo: + +```json + { + name: 'Confluera', + website: 'https://www.confluera.com/', + logo: '/img/companies/confluera_light.svg', + darkLogo: '/img/companies/confluera_dark.svg', + enable_dark_logo: true + } +``` + +Example of Company with just one logo: + +```json + { + name: 'Microsoft', + website: 'https://teams.microsoft.com', + logo: '/img/companies/MicrosoftTeamPost2018.svg', + enable_dark_logo: false + }, +``` + +Note: logo can just be any public svg link or add new svg file in [website/static/img/companies](./static/img/companies) folder diff --git a/website/docs/about/who_use_pinot.md b/website/docs/about/who_use_pinot.md index 6f1354d..cebcc27 100644 --- a/website/docs/about/who_use_pinot.md +++ b/website/docs/about/who_use_pinot.md @@ -23,5 +23,3 @@ draft: true ### Uber - Pinot powers both internal and external site facing analytics applications like Uber Eats Restaurant Analytics. - -## Companies using Thirdeye diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js index 88a7b59..24c6407 100755 --- a/website/docusaurus.config.js +++ b/website/docusaurus.config.js @@ -33,7 +33,8 @@ module.exports = { {name: 'description', content: 'user facing analytics'}, {name: 'description', content: 'Olap'}, {name: 'description', content: 'Consumer-facing facing analytics'}, - {name: 'description', content: 'Fast Analytics'} + {name: 'description', content: 'Fast Analytics'}, + {name: 'description', content: 'Who uses Apache Pinot?'} ], navbar: { hideOnScroll: true, @@ -236,7 +237,7 @@ module.exports = { blog: { path: 'blog', editUrl: 'https://github.com/apache/incubator-pinot-site/edit/dev/website/', - blogTitle: 'Blog - Apache Pinot: User-Face Analytics', + blogTitle: 'Blog - Apache Pinot: User-Facing Analytics', blogSidebarCount: 10, blogSidebarTitle: 'All our posts', /** @@ -256,7 +257,7 @@ module.exports = { // remarkPlugins: [variable], feedOptions: { type: "all", - title: 'Apache Pinot: User-Face Analytics', + title: 'Apache Pinot: User-Facing Analytics', // copyright: customFields.copyright, }, showReadingTime: true, diff --git a/website/src/data/companies-data.js b/website/src/data/companies-data.js new file mode 100644 index 0000000..8abca62 --- /dev/null +++ b/website/src/data/companies-data.js @@ -0,0 +1,133 @@ +function sortByKey(array, key) { + return array.sort(function(a, b) { + var x = a[key]; var y = b[key]; + return ((x < y) ? -1 : ((x > y) ? 1 : 0)); + }); +} + +const getCompaniesList = () => { + var companiesList = [ + { + name: 'LinkedIn', + website: 'https://www.linkedin.com', + logo: '/img/companies/linkedin.svg', + enable_dark_logo: false + }, + { + name: 'Uber', + website: 'https://www.ubereats.com', + logo: '/img/companies/uber.svg', + enable_dark_logo: false + }, + { + name: 'Microsoft', + website: 'https://teams.microsoft.com', + logo: '/img/companies/MicrosoftTeamPost2018.svg', + enable_dark_logo: false + }, + { + name: 'Slack', + website: 'https://slack.com', + logo: '/img/companies/slack.svg', + enable_dark_logo: false + }, + { + name: 'Factual', + website: 'https://www.factual.com', + logo: '/img/companies/factual.svg', + enable_dark_logo: false + }, + { + name: 'Weibo', + website: 'https://www.weibo.com', + logo: '/img/companies/weibo_light.svg', + darkLogo: '/img/companies/weibo_dark.svg', + enable_dark_logo: true + }, + { + name: 'Amazon eero', + website: 'https://eero.com/', + logo: '/img/companies/eero_light.svg', + darkLogo: '/img/companies/eero_dark.svg', + enable_dark_logo: true + }, + { + name: 'Confluera', + website: 'https://www.confluera.com/', + logo: '/img/companies/confluera_light.svg', + darkLogo: '/img/companies/confluera_dark.svg', + enable_dark_logo: true + }, + { + name: 'Stripe', + website: 'https://stripe.com', + logo: '/img/companies/stripe.svg', + enable_dark_logo: false + }, + { + name: 'Target', + website: 'https://www.target.com/', + logo: '/img/companies/target_logo.svg', + enable_dark_logo: false + }, + { + name: 'Walmart', + website: 'https://www.walmart.com/', + logo: '/img/companies/walmart_logo.svg', + enable_dark_logo: false + }, + { + name: 'Publicis Sapient', + website: 'https://www.publicissapient.com/', + logo: '/img/companies/ps_logo.svg', + enable_dark_logo: false + }, + { + name: 'Asurion', + website: 'https://www.asurion.com/', + logo: '/img/companies/asurion.svg', + enable_dark_logo: false + }, + { + name: 'CloudKitchens', + website: 'https://cloudkitchens.com/', + logo: '/img/companies/cloudkitchens.svg', + enable_dark_logo: false + }, + { + name: 'GuitarCenter', + website: 'https://www.guitarcenter.com/', + logo: '/img/companies/guitarcenter_logo.svg', + enable_dark_logo: false + }, + { + name: 'Wepay', + website: 'https://go.wepay.com/', + logo: '/img/companies/wepay_logo.svg', + enable_dark_logo: false + }, + { + name: 'Traceable', + website: 'https://www.traceable.ai', + logo: '/img/companies/traceableai.svg', + enable_dark_logo: false + }, + { + name: 'Adbeat', + website: 'https://www.adbeat.com', + logo: '/img/companies/adbeat.svg', + enable_dark_logo: false + }, + { + name: 'RazorPay', + website: 'https://razorpay.com/', + logo: '/img/companies/razorpay_light.svg', + darkLogo: '/img/companies/razorpay_dark.svg', + enable_dark_logo: true + } + ]; + return companiesList; + // return sortByKey(companiesList, 'name') +}; + +exports.getCompaniesList = getCompaniesList; diff --git a/website/src/pages/index.js b/website/src/pages/index.js index f6a2649..2402b13 100755 --- a/website/src/pages/index.js +++ b/website/src/pages/index.js @@ -32,11 +32,24 @@ import SwiftSlider from 'react-swift-slider' import withAutoplay from 'react-awesome-slider/dist/autoplay' import ReactPlayer from "react-player/youtube"; import styled from 'styled-components' +import Head from '@docusaurus/Head'; -const AutoplaySlider = withAutoplay(AwesomeSlider); - +const companiesData = require(`../data/companies-data.js`); +const companiesList = companiesData.getCompaniesList(); const AnchoredH2 = Heading("h2"); +const WhoUsesPinotSEO = () => ( + <Head> + <meta property="og:description" content="Who used Apache Pinot?" /> + <meta property="og:description" content="Who used Pinot?" /> + <meta property="og:description" content="Companies using Pinot?" /> + <meta property="og:description" content="Companies using Apache Pinot?" /> + <meta charSet="utf-8" /> + <title>Who used Apache Pinot?</title> + <link rel="canonical" href="http://mysite.com/example" /> + </Head> +); + const features = [ { title: "Blazing Fast", @@ -231,90 +244,6 @@ function UserFacingAnalytics() { ); } - - -function WhoUses() { - return ( - <section className="topologies"> - <div className="container"> - <AnchoredH2 id="who-uses">Who Uses?</AnchoredH2> - <div className="sub-title"> - Pinot powers several big players, including LinkedIn, Uber, - Microsoft, Walmart, WePay, Factual, Weibo, Slack and more - </div> - - <div className={styles.installationPlatforms}> - <Link class="grid-item" to="https://www.linkedin.com"> - <SVG src="/img/companies/linkedin.svg" /> - </Link> - <Link class="grid-item" to="https://www.ubereats.com"> - <SVG src="/img/companies/uber.svg" /> - </Link> - <Link class="grid-item" to="https://teams.microsoft.com"> - <SVG src="/img/companies/MicrosoftTeamPost2018.svg" /> - </Link> - <Link class="grid-item" to="https://slack.com"> - <SVG src="/img/companies/slack.svg" /> - </Link> - <Link class="grid-item" to="https://www.factual.com"> - <SVG src="/img/companies/factual.svg" /> - </Link> - <Link to="https://www.weibo.com"> - <CompanyLogo srcLight="/img/companies/weibo_light.svg" srcDark="/img/companies/weibo_dark.svg" /> - </Link> - <Link to="https://eero.com/"> - <CompanyLogo srcLight="/img/companies/eero_light.svg" srcDark="/img/companies/eero_dark.svg" /> - </Link> - <Link to="https://www.confluera.com/"> - <CompanyLogo srcLight="/img/companies/confluera_light.svg" srcDark="/img/companies/confluera_dark.svg" /> - </Link> - <Link class="grid-item" to="https://stripe.com"> - <SVG src="/img/companies/stripe.svg" /> - </Link> - <Link class="grid-item" to="https://www.target.com/"> - <SVG src="/img/companies/target_logo.svg" /> - </Link> - <Link class="grid-item" to="https://www.walmart.com/"> - <SVG src="/img/companies/walmart_logo.svg" /> - </Link> - <Link class="grid-item" to="https://cloudkitchens.com/"> - <SVG src="/img/companies/cloudkitchens.svg" /> - </Link> - <Link class="grid-item" to="https://www.guitarcenter.com/"> - <SVG src="/img/companies/guitarcenter_logo.svg" /> - </Link> - <Link class="grid-item" to="https://www.publicissapient.com/"> - <SVG src="/img/companies/ps_logo.svg" /> - </Link> - <Link class="grid-item" to="https://www.asurion.com/"> - <SVG src="/img/companies/asurion.svg" /> - </Link> - <Link class="grid-item" to="https://go.wepay.com/"> - <SVG src="/img/companies/wepay_logo.svg" /> - </Link> - <Link class="grid-item" to="https://www.traceable.ai"> - <SVG src="/img/companies/traceableai.svg" /> - </Link> - <Link class="grid-item" to="https://www.adbeat.com"> - <SVG src="/img/companies/adbeat.svg" /> - </Link> - <Link to="https://razorpay.com/"> - <CompanyLogo srcLight="/img/companies/razorpay_light.svg" srcDark="/img/companies/razorpay_dark.svg" /> - </Link> - </div> - </div> - </section> - ); -} - -const CompanyLogo = ({srcLight, srcDark}) => { - const { isDarkTheme } = useThemeContext(); - - return ( - <SVG src={isDarkTheme ? srcDark : srcLight} /> - ) -} - function Usage() { return ( <section className="topologies"> @@ -449,6 +378,61 @@ function Installation() { ); } +function WhoUsesPinot() { + return ( + <section className="topologies"> + <div className="container"> + <AnchoredH2 id="who-uses">Who Uses Apache Pinot?</AnchoredH2> + <div className="sub-title"> + Pinot powers several big players, including LinkedIn, Uber, Microsoft, Walmart, WePay, Factual, Weibo, Slack and more + </div> + + <div className={styles.installationPlatforms}> + { + companiesList.map( + company => ( + (() => { + if (company['enable_dark_logo'] == true) { + var title = `apache_pinot_user_${company.name}` + var altText = `Apache Pinot used by ${company.name}` + return <Link class="grid-item" to={company.website} alt={altText} title={title}> + <CompanyLogo srcLight={company.logo} srcDark={company.darkLogo} title={title} description={altText} /> + </Link> + } else { + var title = `apache_pinot_user_${company.name}` + var altText = `Apache Pinot used by ${company.name}` + return <Link class="grid-item" to={company.website} alt={altText} title={title}> + <SVG src={company.logo} title={title} description={altText} /> + </Link> + } + })() + ) + ) + } + </div> + </div> + <p align="center"> + <div className="hero--buttons"> + <Link + to="/who_uses" + className="button button--primary button--highlight"> + Read More on use cases.. + </Link> + </div> + </p> + + </section> + ); +} + +const CompanyLogo = ({srcLight, srcDark, title, description}) => { + const { isDarkTheme } = useThemeContext(); + + return ( + <SVG src={isDarkTheme ? srcDark : srcLight} title={title} description={description} /> + ) +} + function Home() { const context = useDocusaurusContext(); const { siteConfig = {} } = context; @@ -510,7 +494,7 @@ function Home() { <Features features={features} /> )} <Usage /> - <WhoUses /> + <WhoUsesPinot /> <UserFacingAnalytics /> <Installation /> @@ -519,4 +503,6 @@ function Home() { ); } +Home.description = "Who Uses Apache Pinot?" + export default Home; diff --git a/website/src/pages/who_uses.js b/website/src/pages/who_uses.js index 3649fdf..f4071b0 100644 --- a/website/src/pages/who_uses.js +++ b/website/src/pages/who_uses.js @@ -16,41 +16,106 @@ * specific language governing permissions and limitations * under the License. */ -import React from "react"; +import React, { useState, useEffect } from "react"; +import CodeBlock from "@theme/CodeBlock"; +import Heading from "@theme/Heading"; +import Jump from "@site/src/components/Jump"; import Layout from "@theme/Layout"; +import Link from "@docusaurus/Link"; +import SVG from "react-inlinesvg"; +import TabItem from "@theme/TabItem"; +import Tabs from "@theme/Tabs"; -import styles from "./who_uses.css"; +import classnames from "classnames"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; +import useThemeContext from "@theme/hooks/useThemeContext"; +import PinotOverview from '@site/static/img/pinot-overview-user.svg'; +import PinotQuery from '@site/static/img/ingest-query.svg'; + +import styles from "./index.module.css"; +import "./index.css"; + +import AwesomeSlider from 'react-awesome-slider'; +import 'react-awesome-slider/dist/custom-animations/cube-animation.css'; +import SwiftSlider from 'react-swift-slider' +import withAutoplay from 'react-awesome-slider/dist/autoplay' +import ReactPlayer from "react-player/youtube"; +import styled from 'styled-components' + +const AutoplaySlider = withAutoplay(AwesomeSlider); + +const AnchoredH1 = Heading("h1"); +const AnchoredH2 = Heading("h2"); + +const companiesData = require(`../data/companies-data.js`); +const companiesList = companiesData.getCompaniesList(); + + +function WhoUsesPinot() { + return ( + <section className="topologies"> + <div className="container"> + <AnchoredH2 id="who-uses">Who Uses Apache Pinot?</AnchoredH2> + <div className="sub-title"> + Pinot powers several big players, including LinkedIn, Uber, Microsoft, Walmart, WePay, Factual, Weibo, Slack and more + </div> + + <div className={styles.installationPlatforms}> + { + companiesList.map( + company => ( + (() => { + if (company['enable_dark_logo'] == true) { + var title = `apache_pinot_user_${company.name}` + var altText = `Apache Pinot used by ${company.name}` + return <Link class="grid-item" to={company.website} alt={altText} title={title}> + <CompanyLogo srcLight={company.logo} srcDark={company.darkLogo} title={title} description={altText} /> + </Link> + } else { + var title = `apache_pinot_user_${company.name}` + var altText = `Apache Pinot used by ${company.name}` + return <Link class="grid-item" to={company.website} alt={altText} title={title}> + <SVG src={company.logo} title={title} description={altText} /> + </Link> + } + })() + ) + ) + } + </div> + </div> + </section> + ); +} + +const CompanyLogo = ({srcLight, srcDark, title, description}) => { + const { isDarkTheme } = useThemeContext(); + + return ( + <SVG src={isDarkTheme ? srcDark : srcLight} title={title} description={description} /> + ) +} function WhoUses() { const context = useDocusaurusContext(); const { siteConfig = {} } = context; return ( - <Layout title="Who Uses" description="Collection of success stories and Companies using Pinot"> + <Layout title="Who Uses Apache Pinot" description="Collection of Companies using Apache Pinot"> <header className="hero"> <div className="container container--fluid"> - <h1>Download</h1> + <AnchoredH1>Who Uses Apache Pinot</AnchoredH1> <div className="hero--subtitle"> - Collection of success stories and Companies using Pinot + Collection of stories from Companies using Apache Pinot </div> </div> </header> - <main> - <section> - <div> - <div> - <img - alt="Uber" - height={360} - src="/img/uber.png" - width={640} - /> - </div> - </div> - </section> + <WhoUsesPinot /> + + {/* TODO Add Company quotes */} + </main> </Layout> ); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org