This is an automated email from the ASF dual-hosted git repository.

nwang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-heron.git


The following commit(s) were added to refs/heads/master by this push:
     new 40ccec6  Joshfischer/refine docs (#3300)
40ccec6 is described below

commit 40ccec635b45191593ff984a9ae81fd4e0a5dadd
Author: Josh Fischer <[email protected]>
AuthorDate: Wed Jun 26 19:39:12 2019 -0500

    Joshfischer/refine docs (#3300)
    
    * refactor main page links
    
    * fix broken link
    
    * clean up
---
 website2/docs/community-contact.md     |  18 ---
 website2/docs/community-events.md      |   9 --
 website2/website/data/resources.js     | 207 +++++++++++++++++++++++++++++++++
 website2/website/pages/en/contact.js   |  98 ++++++++++++++++
 website2/website/pages/en/events.js    |  38 ++++++
 website2/website/pages/en/resources.js | 122 +++++++++++++++++++
 website2/website/static/js/custom.js   |   6 +-
 7 files changed, 468 insertions(+), 30 deletions(-)

diff --git a/website2/docs/community-contact.md 
b/website2/docs/community-contact.md
deleted file mode 100644
index bed72a8..0000000
--- a/website2/docs/community-contact.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-id: community-contact
-title: Contact
-sidebar_label: Contact
----
-
-## Contact
-
-#### Mailing lists
-
-| Name                                                                      | 
Scope                           |                                               
                 |                                                              
      |                                                                         
  |
-|:--------------------------------------------------------------------------|:--------------------------------|:---------------------------------------------------------------|:-------------------------------------------------------------------|:--------------------------------------------------------------------------|
-| [[email protected]](mailto:[email protected]) | 
User-related discussions        | 
[Subscribe](mailto:[email protected])  | 
[Unsubscribe](mailto:[email protected])  | 
[Archives](http://mail-archives.apache.org/mod_mbox/incubator-heron-user/)|
-| [[email protected]](mailto:[email protected])   
| Development-related discussions | 
[Subscribe](mailto:[email protected])   | 
[Unsubscribe](mailto:[email protected])   | 
[Archives](http://mail-archives.apache.org/mod_mbox/incubator-heron-dev/) |
-
-#### Slack
-
-[Self-Register](http://heronstreaming.herokuapp.com/) to our [Heron Slack 
Workspace](https://heronstreaming.slack.com/)
\ No newline at end of file
diff --git a/website2/docs/community-events.md 
b/website2/docs/community-events.md
deleted file mode 100644
index d7014a3..0000000
--- a/website2/docs/community-events.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-id: community-events
-title: Community Events
-sidebar_label: Community Events
----
-
-Groups
-
-[Apache Heron Bay Area Meetup](https://www.meetup.com/Apache-Heron-Bay-Area)
\ No newline at end of file
diff --git a/website2/website/data/resources.js 
b/website2/website/data/resources.js
new file mode 100644
index 0000000..742ecef
--- /dev/null
+++ b/website2/website/data/resources.js
@@ -0,0 +1,207 @@
+module.exports = {
+    publications: [
+      {
+        forum: 'O’Reilly',
+        forum_link: 'http://shop.oreilly.com/product/0636920203131.do',
+        title: 'Stream Processing with Heron',
+        link: 'http://shop.oreilly.com/product/0636920203131.do'
+      },
+      {
+        forum: '',
+        forum_link: '',
+        presenter: '',
+        date: 'July 2016',
+        title: 'Streaming@Twitter - Bulletin of the IEEE Computer Society 
Technical Committee on Data Engineering',
+        link: 'http://sites.computer.org/debull/A15dec/p15.pdf'
+      },
+      {
+        forum: '',
+        forum_link: '',
+        presenter: '',
+        date: 'May 2015',
+        title: 'Twitter Heron: Stream Processing at Scale - SIGMOD’15',
+        link: 'http://dl.acm.org/citation.cfm?id=2595641'
+      },
+      {
+        forum: '',
+        forum_link: '',
+        presenter: '',
+        date: 'June 2013',
+        title: 'Storm@Twitter - SIGMOD\'14',
+        link: 'http://dl.acm.org/citation.cfm?id=2595641'
+      },
+     
+    ],
+    presentations: [
+      {
+        forum: 'Twitter',
+        forum_link: '',
+        presenter: 'Maosong Fu',
+        date: 'April 2016',
+        title: 'Twitter Heron on Apache Aurora - #compute event @Twitter',
+        link: 'https://m.youtube.com/watch?v=ua0ufmr9sQI&feature=youtu.be'
+      },
+      {
+        forum: 'Twitter',
+        forum_link: '',
+        presenter: '',
+        date: 'May 2015',
+        title: 'Twitter Heron: Stream Processing at Scale - SIGMOD’15',
+        link: 'http://dl.acm.org/citation.cfm?id=2595641'
+      },
+      {
+        forum: 'QCon',
+        forum_link: 'https://qconferences.com/',
+        presenter: 'Karthik Ramasamy',
+        date: 'April 2016',
+        title: 'Flying Faster with Heron - InfoQ',
+        link: 'http://www.infoq.com/presentations/twitter-heron'
+      },
+      {
+        forum: 'Data @ Scale',
+        forum_link: 'https://www.youtube.com/channel/UCd9I8ZkgoR1d7GeSj_wi_LQ',
+        presenter: 'Karthik Ramasamy',
+        date: 'September 2015',
+        title: 'Twitter Heron: Stream Processing at Scale - @Scale',
+        link: 'https://www.youtube.com/watch?v=pUaFOuGgmco'
+      },
+      {
+        forum: 'Data @ Scale',
+        forum_link: 'https://www.youtube.com/channel/UCd9I8ZkgoR1d7GeSj_wi_LQ',
+        presenter: 'Karthik Ramasamy',
+        date: 'June 2015',
+        title: 'Stream Processing and Anomaly Detection - Velocity O’Reilly - 
Note: requires O’Reilly login',
+        link: 'https://player.oreilly.com/videos/9781491927977?login=true'
+      },
+      {
+        forum: 'Google',
+        forum_link: 
'hhttps://www.youtube.com/channel/UC7BjFZywGHiqWdEF7SnQ7hQ',
+        presenter: 'Josh Fischer',
+        date: 'October 2018',
+        title: 'Building Apache Heron - BazelCon 2018',
+        link: 'https://www.youtube.com/watch?v=yBTSfA4YDtY&t'
+      },
+    ],
+    blogs: [
+        {
+            forum: 'Twitter Engineering blog',
+            forum_link: 'https://blog.twitter.com/engineering/',
+            presenter: 'Maosong Fu',
+            date: 'Feb 2018',
+            title: 'Leaving the Nest: Heron donated to Apache Software 
Foundation',
+            link: 
'https://blog.twitter.com/engineering/en_us/topics/open-source/2018/heron-donated-to-apache-software-foundation.html'
+          },
+          {
+            forum: 'Twitter Engineering blog',
+            forum_link: 'https://blog.twitter.com/engineering/',
+            presenter: 'Karthik Ramasamy',
+            date: 'May 2016',
+            title: 'Leaving the Nest: Heron donated to Apache Software 
Foundation',
+            link: 'https://blog.twitter.com/2016/open-sourcing-twitter-heron'
+          },
+          {
+            forum: 'Twitter Engineering blog',
+            forum_link: 'https://blog.twitter.com/engineering/',
+            presenter: 'Karthik Ramasamy',
+            date: 'June 2015',
+            title: 'Flying Faster with Twitter Heron',
+            link: 'https://blog.twitter.com/2016/open-sourcing-twitter-heron'
+          },
+          {
+            forum: 'Streamanalytics',
+            forum_link: 'http://streamanalytics.blogspot.com/',
+            presenter: 'Supun Kamburugamuve',
+            date: 'June 2016',
+            title: 'Deploying Heron on a Cluster of Machines with Apache 
Aurora',
+            link: 
'http://streamanalytics.blogspot.com/2016/06/deploying-heron-on-cluster-of-machines.html'
+          },
+          {
+            forum: '',
+            forum_link: 'http://pulasthisupun.blogspot.com/',
+            presenter: 'Pulasthi Supun',
+            date: 'June 2016',
+            title: 'Setting up Heron Locally with Apache Aurora',
+            link: 
'http://pulasthisupun.blogspot.com/2016/06/setting-up-heron-cluster-with-apache.html'
+          },
+          {
+            forum: '1904Labs',
+            forum_link: 'https://1904labs.com/',
+            presenter: 'Josh Fischer',
+            date: 'Feb 2018',
+            title: 'Introducing Heron’s ECO; A Flexible Way To Manage 
Topologies',
+            link: 
'https://1904labs.com/2018/02/14/introducing-herons-eco-flexible-way-manage-topologies/'
+          },
+          {
+            forum: 'Twitter University',
+            forum_link: 'https://www.twitter.com/',
+            presenter: 'Arun Kejariwal',
+            date: 'May 2016',
+            title: 'Real-Time Analytics: Algorithms and Systems - Twitter 
University',
+            link: 
'http://www.slideshare.net/arunkejariwal/real-time-analytics-algorithms-and-systems'
+          },
+          {
+            forum: 'O’Reilly',
+            forum_link: 'https://www.oreilly.com/',
+            presenter: 'Arun Kejariwal',
+            date: 'June 2015',
+            title: 'Stream Processing and Anomaly Detection - Velocity 
O’Reilly',
+            link: 'http://www.slideshare.net/arunkejariwal/velocity-2015final'
+          },
+    ],
+    press: [
+        {
+            forum: '',
+            forum_link: '',
+            presenter: 'BenZinga ',
+            date: 'June 2016',
+            title: 'Heron, Twitter\'s Data Streaming Platform, Has Been Open 
Sourced',
+            link: 
'http://www.benzinga.com/tech/16/06/8119962/heron-twitters-data-streaming-platform-has-been-open-sourced'
+          },
+          {
+            forum: '',
+            forum_link: '',
+            presenter: 'Forbes',
+            date: 'June 2016',
+            title: 'Twitter Open Sources Heron -- Data Streaming For Dummies',
+            link: 
'http://www.forbes.com/sites/adrianbridgwater/2016/06/16/twitter-open-sources-heron-data-streaming-for-dummies/#6f8984319b50'
+          },
+          {
+            forum: '',
+            forum_link: '',
+            presenter: 'All Things Hadoop',
+            date: 'May 2016',
+            title: 'Getting Started with Heron on Apache Mesos and Apache 
Kafka',
+            link: 
'https://allthingshadoop.com/2016/05/30/getting-started-with-heron-on-apache-mesos-and-apache-kafka/'
+          },
+          {
+            forum: '',
+            forum_link: '',
+            presenter: 'VentureBeat',
+            date: 'May 2016',
+            title: 'Twitter open-sources Heron, its real-time 
stream-processing engine',
+            link: 
'http://venturebeat.com/2016/05/25/twitter-open-sources-heron-its-real-time-stream-processing-engine/'
+          },
+          {
+            forum: '',
+            forum_link: '',
+            presenter: 'Forbes',
+            date: 'June 2015',
+            title: 'Twitter\'s Heron Will Start a New Chapter in Real-Time 
Streaming',
+            link: 
'http://www.forbes.com/sites/janakirammsv/2015/06/08/twitters-heron-will-start-a-new-chapter-in-real-time-streaming/#62c8645b2306'
+          },
+          {
+            forum: '',
+            forum_link: '',
+            presenter: 'InfoQ',
+            date: 'June 2015',
+            title: 'Twitter Has Replaced Storm with Heron',
+            link: 'https://www.infoq.com/news/2015/06/twitter-storm-heron'
+          },
+    ]
+  }
+
+
+
+
+
+
diff --git a/website2/website/pages/en/contact.js 
b/website2/website/pages/en/contact.js
new file mode 100644
index 0000000..5d25b83
--- /dev/null
+++ b/website2/website/pages/en/contact.js
@@ -0,0 +1,98 @@
+
+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 translate = require('../../server/translate.js').translate;
+
+const CWD = process.cwd();
+
+const siteConfig = require(`${CWD}/siteConfig.js`);
+
+class Contact extends React.Component {
+  render() {
+    let language = this.props.language || '';
+    const mailingLists = [
+      {
+        email: '[email protected]',
+        desc: 'User-related discussions',
+        subscribe: 'mailto:[email protected]',
+        unsubscribe: 'mailto:[email protected]',
+        archives: 'http://mail-archives.apache.org/mod_mbox/heron-user/'
+      },
+      {
+        email: '[email protected]',
+        desc: 'Development-related discussions',
+        subscribe: 'mailto:[email protected]',
+        unsubscribe: 'mailto:[email protected]',
+        archives: 'http://mail-archives.apache.org/mod_mbox/heron-dev/'
+      },
+      {
+        email: '[email protected]',
+        desc: 'All commits to the Heron repository',
+        subscribe: 'mailto:[email protected]',
+        unsubscribe: 'mailto:[email protected]',
+        archives: 'http://mail-archives.apache.org/mod_mbox/heron-commits/'
+      }
+    ]
+
+    return (
+      <div className="docMainWrapper wrapper">
+        <Container className="mainContainer documentContainer postContainer">
+          <div className="post">
+            <header className="postHeader">
+              <h1><translate>Contact</translate></h1>
+              <hr />
+            </header>
+            <p><translate>
+            There are many ways to get help from the Apache Heron community.
+            The mailing lists are the primary place where all Heron committers 
are present.
+            Bugs and feature requests can either be discussed on the dev 
mailing list or
+            by opening an issue on
+            <a href="https://github.com/apache/incubator-heron/"; 
target="_blank">GitHub</a>.
+            </translate></p>
+
+            <h2><translate>Mailing Lists</translate></h2>
+            <table className="versions">
+              <thead>
+                <tr>
+                  <th><translate>Name</translate></th>
+                  <th><translate>Scope</translate></th>
+                  <th></th>
+                  <th></th>
+                  <th></th>
+                </tr>
+              </thead>
+              <tbody>
+                {mailingLists.map(
+                  list => (
+                      <tr key={list.email}>
+                        <td>{list.email}</td>
+                        <td>{list.desc}</td>
+                        <td><a 
href={list.subscribe}><translate>Subscribe</translate></a></td>
+                        <td><a 
href={list.unsubscribe}><translate>Unsubscribe</translate></a></td>
+                        <td><a 
href={list.archives}><translate>Archives</translate></a></td>
+                      </tr>
+                    )
+                )}
+              </tbody>
+            </table>
+
+            <h2><translate>Slack</translate></h2>
+            <p><translate>There is a Heron slack channel that is used for 
informal discussions for devs and users.</translate></p>
+
+            <p><translate>The Slack instance is at </translate> <a 
href="https://heronstreaming.slack.com/"; target="_blank">
+                    https://heronstreaming.slack.com/</a></p>
+
+            <p><translate>You can self-register at </translate> <a 
href="http://heronstreaming.herokuapp.com/"; target="_blank">
+                    http://heronstreaming.herokuapp.com/</a></p>
+          </div>
+        </Container>
+      </div>
+    );
+  }
+}
+
+module.exports = Contact;
\ No newline at end of file
diff --git a/website2/website/pages/en/events.js 
b/website2/website/pages/en/events.js
new file mode 100644
index 0000000..4197f36
--- /dev/null
+++ b/website2/website/pages/en/events.js
@@ -0,0 +1,38 @@
+
+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`);
+
+class Events extends React.Component {
+  render() {
+
+    return (
+      <div className="docMainWrapper wrapper">
+        <Container className="mainContainer documentContainer postContainer">
+          <div className="post">
+            <header className="postHeader">
+              <h1><translate>Events</translate></h1>
+              <hr />
+            </header>
+            
+            <h2><translate>Groups</translate></h2>
+            <MarkdownBlock>
+              - [Apache Heron Bay Area Meetup 
Group](https://www.meetup.com/Apache-Heron-Bay-Area/events/249414421/)
+            </MarkdownBlock>
+          </div>
+        </Container>
+      </div>
+    );
+  }
+}
+
+module.exports = Events;
\ No newline at end of file
diff --git a/website2/website/pages/en/resources.js 
b/website2/website/pages/en/resources.js
new file mode 100644
index 0000000..88344f0
--- /dev/null
+++ b/website2/website/pages/en/resources.js
@@ -0,0 +1,122 @@
+
+
+const React = require('react');
+
+const CompLibrary = require('../../core/CompLibrary.js');
+const Container = CompLibrary.Container;
+
+const CWD = process.cwd();
+
+const translate = require('../../server/translate.js').translate;
+
+const siteConfig = require(`${CWD}/siteConfig.js`);
+const resources = require(`${CWD}/data/resources.js`)
+
+class Resources 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>Resources</translate></h1>
+              <hr />
+            </header>
+            
+            <h2><translate>Articles</translate></h2>
+            <table className="versions">
+              <thead>
+                <tr>
+                  <th><translate>Link</translate></th>
+                </tr>
+              </thead>
+              <tbody>
+                {resources.publications.map(
+                  (a, i) => (
+                    <tr key={i}>
+                      <td><a href={a.link}>{a.title}</a></td>
+                    </tr>
+                  )
+                )}
+              </tbody>
+            </table>
+
+            <h2><translate>Presentations</translate></h2>
+            <table className="versions">
+              <thead>
+                <tr>
+                  <th><translate>Forum</translate></th>
+                  <th><translate>Data</translate></th>
+                  <th><translate>Presenter</translate></th>
+                  <th><translate>Link</translate></th>
+                </tr>
+              </thead>
+              <tbody>
+                {resources.presentations.map(
+                  (p, i) => (
+                    <tr key={i}>
+                      <td><a href={p.forum_link}>{p.forum}</a></td>
+                      <td>{p.date}</td>
+                      <td>{p.presenter}</td>
+                      <td><a href={p.link}>{p.title}</a></td>
+                    </tr>
+                  )
+                )}
+              </tbody>
+            </table>
+            <h2><translate>Blogs</translate></h2>
+            <table className="versions">
+              <thead>
+                <tr>
+                  <th><translate>Forum</translate></th>
+                  <th><translate>Data</translate></th>
+                  <th><translate>Presenter</translate></th>
+                  <th><translate>Link</translate></th>
+                </tr>
+              </thead>
+              <tbody>
+                {resources.blogs.map(
+                  (p, i) => (
+                    <tr key={i}>
+                      <td><a href={p.forum_link}>{p.forum}</a></td>
+                      <td>{p.date}</td>
+                      <td>{p.presenter}</td>
+                      <td><a href={p.link}>{p.title}</a></td>
+                    </tr>
+                  )
+                )}
+              </tbody>
+            </table>
+            <h2><translate>Press</translate></h2>
+            <table className="versions">
+              <thead>
+                <tr>
+                  <th><translate>Data</translate></th>
+                  <th><translate>Presenter</translate></th>
+                  <th><translate>Link</translate></th>
+                </tr>
+              </thead>
+              <tbody>
+                {resources.press.map(
+                  (p, i) => (
+                    <tr key={i}>
+                      <td>{p.date}</td>
+                      <td>{p.presenter}</td>
+                      <td><a href={p.link}>{p.title}</a></td>
+                    </tr>
+                  )
+                )}
+              </tbody>
+            </table>
+
+          </div>
+        </Container>
+      </div>
+    );
+  }
+}
+
+module.exports = Resources;
\ No newline at end of file
diff --git a/website2/website/static/js/custom.js 
b/website2/website/static/js/custom.js
index cd61b65..a89d27f 100644
--- a/website2/website/static/js/custom.js
+++ b/website2/website/static/js/custom.js
@@ -7,10 +7,10 @@ window.addEventListener('load', function() {
     '<a id="community-menu" href="#">Community<span style="font-size: 
0.75em">&nbsp;▼</span></a>' +
     '<div id="community-dropdown" class="hide" >' +
       '<ul id="community-dropdown-items">' +
-        '<li><a href="community-contact" 
style="color:#1d3f5f">Contact</a></li>' +
-        '<li><a href="community-events" style="color:#1d3f5f">Events</a></li>' 
+
+        '<li><a href="/contact" style="color:#1d3f5f">Contact</a></li>' +
+        '<li><a href="/events" style="color:#1d3f5f">Events</a></li>' +
         '<li><a href="https://github.com/apache/incubator-heron/issues"; 
style="color:#1d3f5f">Issue tracking</a></li>' +
-        '<li><a href="heron-resources-resources" 
style="color:#1d3f5f">Resources</a></li>' +
+        '<li><a href="/resources" style="color:#1d3f5f">Resources</a></li>' +
         '<li><a href="/team" style="color:#1d3f5f">Team</a></li>' +
       '</ul>' +
     '</div>' +

Reply via email to