This is an automated email from the ASF dual-hosted git repository.
mmerli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 6b6bc52 Added powered-by page (#5018)
6b6bc52 is described below
commit 6b6bc529cfe890aa4dfa8d9a67e2d8f00a46643e
Author: Matteo Merli <[email protected]>
AuthorDate: Sun Aug 25 08:44:35 2019 -0700
Added powered-by page (#5018)
* Added powered-by page
* Renamed to Yahoo! JAPAN
* Added Kafkaesque
---
site2/website/core/Footer.js | 2 +
site2/website/data/users.js | 132 +++++++++++++++++++++++++++++++++++
site2/website/pages/en/powered-by.js | 51 ++++++++++++++
site2/website/static/css/custom.css | 39 ++++++++++-
4 files changed, 221 insertions(+), 3 deletions(-)
diff --git a/site2/website/core/Footer.js b/site2/website/core/Footer.js
index 4b574b7..4d4353b 100644
--- a/site2/website/core/Footer.js
+++ b/site2/website/core/Footer.js
@@ -122,6 +122,7 @@ class Footer extends React.Component {
const issuesUrl = 'https://github.com/apache/pulsar/issues'
const resourcesUrl = this.pageUrl('resources', this.props.language)
const teamUrl = this.pageUrl('team', this.props.language)
+ const poweredByUrl = this.pageUrl('powered-by', this.props.language)
const contributingUrl = this.pageUrl('contributing', this.props.language)
const communityMenuJs = `
@@ -140,6 +141,7 @@ class Footer extends React.Component {
'<li> </li>' +
'<li><a href="${resourcesUrl}">Resources</a></li>' +
'<li><a href="${teamUrl}">Team</a></li>' +
+ '<li><a href="${poweredByUrl}">Powered By</a></li>' +
'</ul>' +
'</div>' +
'</li>';
diff --git a/site2/website/data/users.js b/site2/website/data/users.js
new file mode 100644
index 0000000..c734bc3
--- /dev/null
+++ b/site2/website/data/users.js
@@ -0,0 +1,132 @@
+module.exports = [
+ {
+ name: 'Narvar',
+ url: 'https://corp.narvar.com/',
+ logo:
'https://corp.narvar.com/wp-content/themes/narvarinc/dist/images/narvar-logo.svg',
+ },
+ {
+ name: 'Giggso',
+ url: 'https://giggso.com/',
+ logo:
'https://pbs.twimg.com/profile_banners/4179602009/1470596851/600x200'
+ },
+ {
+ name: 'STICorp',
+ url: 'https://www.sticorp.com.br/',
+ logo:
'https://www.sticorp.com.br/wp-content/uploads/2015/09/logo-horizontal.png',
+ },
+ {
+ name: 'Verizon Media',
+ url: 'https://www.verizonmedia.com/',
+ logo:
'https://upload.wikimedia.org/wikipedia/commons/thumb/0/09/Verizon_Media_2019_logo.svg/1200px-Verizon_Media_2019_logo.svg.png'
+ },
+ {
+ name: 'Yahoo! JAPAN',
+ url: 'https://www.yahoo.co.jp/',
+ logo: 'https://s.yimg.jp/images/top/sp2/cmn/logo-170307.png'
+ },
+ {
+ name: 'Zhaopin',
+ url: 'https://www.zhaopin.com/',
+ logo:
'https://fecdn5.zhaopin.cn/www/assets/zhaopin.4659478df1ec9a2e6ed76997a64884f6.png'
+ },
+ {
+ name: 'Onde',
+ url: 'https://onde.app/',
+ logo:
'https://pbs.twimg.com/profile_images/1142024893229346818/JlCmThRZ_200x200.png',
+ },
+ {
+ name: 'Overstock',
+ url: 'https://www.overstock.com/',
+ logo: 'https://ak1.ostkcdn.com/img/mxc/OSTK_MAIN_LOGO_20181127KCH.jpg'
+ },
+ {
+ name: 'Ndustrial.io',
+ url: 'https://www.ndustrial.io/',
+ logo:
'https://images.squarespace-cdn.com/content/v1/56df41f2f699bb94c7a2c6fc/1552657060081-WX86GJXHX7UK81RGE6YU/ke17ZwdGBToddI8pDm48kKCofG1A85AnHnyK5g0bGkJZw-zPPgdn4jUwVcJE1ZvWQUxwkmyExglNqGp0IvTJZUJFbgE-7XRK3dMEBRBhUpzRPjxD400fzchYtVcY_asIzZyz67rHxPkx39rBmDbrxrXjNbFEDrPRRKbjQDhrWWQ/ndustrial.png'
+ },
+ {
+ name: 'Nutanix',
+ url: 'https://www.nutanix.com/',
+ logo: 'https://www.zuora.com/wp-content/uploads/2017/05/nutanix.png'
+ },
+ {
+ name: 'The Hut Group',
+ url: 'https://www.thg.com',
+ logo:
'https://s3-eu-west-1.amazonaws.com/thehutgroup-uploads-test/app/uploads/2016/10/THG.jpg'
+ },
+ {
+ name: 'ProxyClick',
+ url: 'https://www.proxyclick.com/',
+ logo:
'https://www.proxyclick.com/hubfs/assets/images/logo-positive.svg'
+ },
+ {
+ name: 'Toast',
+ url: 'https://toasttab.com',
+ logo: 'https://cdn2.hubspot.net/hubfs/412971/toast-restaurant-pos.png'
+ },
+ {
+ name: 'Quantel AI',
+ url: 'http://quantel.ai/',
+ logo: 'http://quantel.ai/wp-content/uploads/2019/02/Quantel.png'
+ },
+ {
+ name: 'Streamlio',
+ url: 'https://streaml.io/',
+ logo: 'https://streaml.io/media/logo/Streamlio-Logo.svg'
+ },
+ {
+ name: 'Stream Native',
+ url: 'https://streamnative.io/',
+ logo: 'https://streamnative.io/images/logo.png'
+ },
+ {
+ name: 'EMQ',
+ url: 'https://www.emqx.io/',
+ logo: 'https://www.emqx.io/static/img/logo.svg'
+ },
+ {
+ name: 'Tencent',
+ url: 'https://www.tencent.com',
+ logo:
'http://pluspng.com/img-png/tencent-png-tencent-logo-logotype-emblem-2-7537.png'
+ },
+ {
+ name: 'Comcast',
+ url: 'https://corporate.comcast.com/',
+ logo:
'https://corporate.comcast.com/resources/corporate/assets/images/svg/logo-desktop.svg'
+ },
+ {
+ name: 'China Mobile',
+ url: 'https://www.chinamobileltd.com/',
+ logo: 'https://www.chinamobileltd.com/en/images/global/logo.svg'
+ },
+ {
+ name: 'VipKid',
+ url: 'https://t.vipkid.com.cn/',
+ logo:
'https://s.vipkidstatic.com/fe-static/teacher/mkt-pc/img/e74f189.svg'
+ },
+ {
+ name: 'IoTium',
+ url: 'https://www.iotium.io/',
+ logo:
'https://www.iotium.io/site/wp-content/uploads/2018/04/IoTium-logo.jpg'
+ },
+ {
+ name: 'One Click Retail',
+ url: 'https://oneclickretail.com/',
+ logo:
'https://oneclickretail.com/wp-content/uploads/2018/08/colored_logo-1.png'
+ },
+ {
+ name: 'Tuya',
+ url: 'https://en.tuya.com/',
+ logo: 'https://static1.tuyaus.com/static/portal_intl/img/e25eefa.png'
+ },
+ {
+ name: 'China Telecom',
+ url: 'https://www.chinatelecom-h.com/',
+ logo: 'https://www.chinatelecom-h.com/en/images/global/logo.png'
+ },
+ {
+ name: 'Kafkaesque',
+ url: 'https://kafkaesque.io/',
+ logo:
'https://kafkaesque.io/wp-content/uploads/2019/04/color_logo_with_background.svg'
+ },
+].sort((a, b) => (a.name > b.name) ? 1 : -1);
diff --git a/site2/website/pages/en/powered-by.js
b/site2/website/pages/en/powered-by.js
new file mode 100644
index 0000000..4326a3f
--- /dev/null
+++ b/site2/website/pages/en/powered-by.js
@@ -0,0 +1,51 @@
+
+
+const React = require('react');
+
+const CompLibrary = require('../../core/CompLibrary.js');
+const Container = CompLibrary.Container;
+const MarkdownBlock = CompLibrary.MarkdownBlock; /* Used to read markdown */
+const GridBlock = CompLibrary.GridBlock;
+
+const CWD = process.cwd();
+
+const translate = require('../../server/translate.js').translate;
+
+const siteConfig = require(`${CWD}/siteConfig.js`);
+const users = require(`${CWD}/data/users.js`)
+
+class Users extends React.Component {
+ render() {
+ let language = this.props.language || '';
+
+
+ return (
+ <div className="docMainWrapper wrapper">
+ <Container className="mainContainer documentContainer postContainer">
+ <div className="post">
+ <header className="postHeader">
+ <h1><translate>Companies using or contributing to Apache
Pulsar</translate></h1>
+ <hr />
+ </header>
+
+ <div class="logo-wrapper">
+ {
+
+ users.map(
+ c => (
+ <div class="logo-box">
+ <a href={c.url} title={c.name} target="_blank">
+ <img src={c.logo} alt={c.name}
class={c.logo.endsWith('.svg') ? 'logo-svg' : ''} />
+ </a>
+ </div>
+ )
+ )}
+ </div>
+ </div>
+ </Container>
+ </div>
+ );
+ }
+}
+
+module.exports = Users;
diff --git a/site2/website/static/css/custom.css
b/site2/website/static/css/custom.css
index 5a74501..14290c4 100644
--- a/site2/website/static/css/custom.css
+++ b/site2/website/static/css/custom.css
@@ -38,9 +38,9 @@
color: #188fff;
}
-.navigationSlider .slidingNav ul li.siteNavGroupActive a,
-.navigationSlider .slidingNav ul li.siteNavItemActive a,
-.navigationSlider .slidingNav ul li a:focus,
+.navigationSlider .slidingNav ul li.siteNavGroupActive a,
+.navigationSlider .slidingNav ul li.siteNavItemActive a,
+.navigationSlider .slidingNav ul li a:focus,
.navigationSlider .slidingNav ul li a:hover {
background: white;
color: #188fff;
@@ -99,3 +99,36 @@
}
+.logo-wrapper {
+ display: grid;
+ grid-template-columns: 250px 250px 250px 250px;
+ grid-gap: 30px;
+ /* background-color: #fff; */
+ /* color: #444; */
+ /* border: dashed red 1px; */
+ /* align-items: center; */
+ justify-content: center;
+}
+
+.logo-box {
+ /* background-color: #fafafa; */
+ /* color: #fff; */
+ border-radius: 5px;
+ padding: 20px;
+ font-size: 150%;
+ /* border: dashed blue 1px; */
+ height: 120px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+}
+
+.logo-box img {
+ max-height: 80px;
+ /* border: dashed green 1px; */
+}
+
+.logo-svg {
+ min-width: 200px;
+}