You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by ka...@apache.org on 2019/10/29 21:19:46 UTC

[airflow-site] 03/05: Create community page

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

kamilbregula pushed a commit to branch aip-11
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit a73b44ad3560004c2ff13d1a46c77dccc33e3816
Author: Kamil Gabryjelski <ka...@gmail.com>
AuthorDate: Wed Oct 23 14:14:28 2019 +0200

    Create community page
---
 .../site/assets/icons/contribute-icon.svg          | 24 ++++++
 .../site/assets/icons/documentation-icon.svg       | 10 +++
 landing-pages/site/assets/icons/fix-bug-icon.svg   | 18 +++++
 .../site/assets/icons/new-feature-icon.svg         | 18 +++++
 landing-pages/site/assets/icons/project-icon.svg   | 22 ++++++
 .../assets/scss/_community-page.scss}              | 33 +++++++-
 landing-pages/site/assets/scss/_ol-ul.scss         | 21 ++---
 landing-pages/site/assets/scss/main-custom.scss    |  1 +
 .../site/content/en/community/_index.html          | 89 ++++++++++++++++++++++
 landing-pages/site/data/commiters.json             |  5 +-
 landing-pages/site/layouts/community/baseof.html   | 46 +++++++++++
 landing-pages/site/layouts/community/list.html     | 58 ++++++++++++++
 landing-pages/src/index.js                         |  3 +-
 landing-pages/src/js/showAllCommiters.js           |  6 +-
 14 files changed, 336 insertions(+), 18 deletions(-)

diff --git a/landing-pages/site/assets/icons/contribute-icon.svg b/landing-pages/site/assets/icons/contribute-icon.svg
new file mode 100644
index 0000000..ee3ef37
--- /dev/null
+++ b/landing-pages/site/assets/icons/contribute-icon.svg
@@ -0,0 +1,24 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="60" height="43.846" viewBox="0 0 60 43.846">
+    <g id="Group_1452" data-name="Group 1452" transform="translate(918.588 -652.077)">
+        <g id="Group_1450" data-name="Group 1450">
+            <g id="Group_1445" data-name="Group 1445">
+                <path id="Path_1230" d="M-879.39 670.854a3.615 3.615 0 0 1-3.61-3.611 3.615 3.615 0 0 1 3.611-3.611 3.615 3.615 0 0 1 3.611 3.611 3.615 3.615 0 0 1-3.612 3.611zm0-6.006a2.4 2.4 0 0 0-2.395 2.395 2.4 2.4 0 0 0 2.395 2.4 2.4 2.4 0 0 0 2.4-2.4 2.4 2.4 0 0 0-2.4-2.395z" fill="#017cee" data-name="Path 1230"/>
+            </g>
+            <g id="Group_1446" data-name="Group 1446">
+                <path id="Path_1231" d="M-898.459 670.854a3.615 3.615 0 0 1-3.611-3.611 3.615 3.615 0 0 1 3.611-3.611 3.615 3.615 0 0 1 3.611 3.611 3.615 3.615 0 0 1-3.611 3.611zm0-6.006a2.4 2.4 0 0 0-2.4 2.395 2.4 2.4 0 0 0 2.4 2.4 2.4 2.4 0 0 0 2.395-2.4 2.4 2.4 0 0 0-2.395-2.395z" fill="#017cee" data-name="Path 1231"/>
+            </g>
+            <g id="Group_1447" data-name="Group 1447">
+                <path id="Path_1232" d="M-879.39 684.368a3.615 3.615 0 0 1-3.61-3.611 3.615 3.615 0 0 1 3.611-3.611 3.615 3.615 0 0 1 3.611 3.611 3.615 3.615 0 0 1-3.612 3.611zm0-6.006a2.4 2.4 0 0 0-2.395 2.4 2.4 2.4 0 0 0 2.395 2.395 2.4 2.4 0 0 0 2.4-2.395 2.4 2.4 0 0 0-2.4-2.4z" fill="#017cee" data-name="Path 1232"/>
+            </g>
+            <g id="Group_1448" data-name="Group 1448">
+                <path id="Rectangle_474" d="M0 0h13.063v1.216H0z" fill="#017cee" data-name="Rectangle 474" transform="translate(-895.456 666.635)"/>
+            </g>
+            <g id="Group_1449" data-name="Group 1449">
+                <path id="Path_1233" d="M-882.093 681.365c-4.979 0-6.534-3.988-7.9-7.507-1.256-3.223-2.341-6.007-5.608-6.007v-1.216c4.1 0 5.442 3.448 6.741 6.782 1.349 3.462 2.624 6.732 6.772 6.732z" fill="#017cee" data-name="Path 1233"/>
+            </g>
+        </g>
+        <g id="Group_1451" data-name="Group 1451">
+            <path id="Path_1234" d="M-861.628 695.923h-53.919a3.044 3.044 0 0 1-3.041-3.041v-37.764a3.044 3.044 0 0 1 3.041-3.041h53.919a3.044 3.044 0 0 1 3.04 3.041v37.764a3.044 3.044 0 0 1-3.04 3.041zm-53.919-42.63a1.827 1.827 0 0 0-1.825 1.825v37.764a1.827 1.827 0 0 0 1.825 1.825h53.919a1.827 1.827 0 0 0 1.824-1.825v-37.764a1.827 1.827 0 0 0-1.824-1.825z" fill="#017cee" data-name="Path 1234"/>
+        </g>
+    </g>
+</svg>
diff --git a/landing-pages/site/assets/icons/documentation-icon.svg b/landing-pages/site/assets/icons/documentation-icon.svg
new file mode 100644
index 0000000..b4f909e
--- /dev/null
+++ b/landing-pages/site/assets/icons/documentation-icon.svg
@@ -0,0 +1,10 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="60" height="42.748" viewBox="0 0 60 42.748">
+    <g id="Group_1455" data-name="Group 1455" transform="translate(853.723 -652.626)">
+        <g id="Group_1453" data-name="Group 1453">
+            <path id="Path_1235" d="M-804.022 695.374h-46.324a3.224 3.224 0 0 1-3.377-3.037.627.627 0 0 1 .02-.155l6.9-26.219a3.236 3.236 0 0 1 3.376-2.954h46.327a3.224 3.224 0 0 1 3.377 3.037.627.627 0 0 1-.02.155l-6.9 26.22a3.236 3.236 0 0 1-3.379 2.953zm-48.483-2.965a2.032 2.032 0 0 0 2.159 1.749h46.324a2.015 2.015 0 0 0 2.161-1.821.584.584 0 0 1 .02-.155l6.9-26.208a2.032 2.032 0 0 0-2.159-1.749h-46.324a2.015 2.015 0 0 0-2.161 1.821.627.627 0 0 1-.02.155zm58.174-26.363z" fill="#017cee [...]
+        </g>
+        <g id="Group_1454" data-name="Group 1454">
+            <path id="Path_1236" d="M-815.831 695.374h-34.515a3.381 3.381 0 0 1-3.377-3.374v-38.766a.608.608 0 0 1 .608-.608h14.665a.61.61 0 0 1 .477.231l2.919 3.691h31.032a3.381 3.381 0 0 1 3.377 3.377v3.692a.608.608 0 0 1-.608.608.608.608 0 0 1-.608-.608v-3.692a2.163 2.163 0 0 0-2.161-2.16h-31.326a.61.61 0 0 1-.477-.231l-2.92-3.692h-13.762V692a2.163 2.163 0 0 0 2.161 2.161h34.515a.608.608 0 0 1 .608.608.608.608 0 0 1-.608.605z" fill="#017cee" data-name="Path 1236"/>
+        </g>
+    </g>
+</svg>
diff --git a/landing-pages/site/assets/icons/fix-bug-icon.svg b/landing-pages/site/assets/icons/fix-bug-icon.svg
new file mode 100644
index 0000000..442ff23
--- /dev/null
+++ b/landing-pages/site/assets/icons/fix-bug-icon.svg
@@ -0,0 +1,18 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="60" height="56.368" viewBox="0 0 60 56.368">
+    <g id="Group_1444" data-name="Group 1444" transform="translate(1113.183 -645.816)">
+        <g id="Group_1441" data-name="Group 1441">
+            <g id="Group_1439" data-name="Group 1439">
+                <path id="Path_1226" d="M-1066.914 702.183c-.115 0-.23 0-.346-.008a6.8 6.8 0 0 1-4.918-2.495l-12.434-15.276-3.457.107a.614.614 0 0 1-.449-.178l-3.182-3.183a.607.607 0 0 1-.178-.43.606.606 0 0 1 .178-.429l9.684-9.684a.606.606 0 0 1 .859 0l3.228 3.228a.606.606 0 0 1 .178.459l-.165 3.387 15.29 12.448a6.8 6.8 0 0 1 2.494 4.919 6.8 6.8 0 0 1-1.98 5.147 6.8 6.8 0 0 1-4.802 1.988zm-17.416-19a.607.607 0 0 1 .471.224l12.624 15.509a5.584 5.584 0 0 0 4.038 2.048 5.577 5.577 0 0 0 4. [...]
+            </g>
+            <g id="Group_1440" data-name="Group 1440">
+                <path id="Path_1227" d="M-1089.441 678.891l-15.03-15.03-3.606-.546a.607.607 0 0 1-.433-.293l-4.589-7.817a.608.608 0 0 1 .095-.738l5.164-5.164a.608.608 0 0 1 .738-.095l7.817 4.589a.607.607 0 0 1 .293.433l.546 3.607 15.03 15.029-.86.86-15.171-15.171a.6.6 0 0 1-.171-.339l-.533-3.517-7.161-4.2-4.5 4.5 4.2 7.161 3.517.533a.6.6 0 0 1 .339.171l15.171 15.171z" fill="#017cee" data-name="Path 1227"/>
+            </g>
+        </g>
+        <g id="Group_1442" data-name="Group 1442">
+            <path id="Path_1228" d="M-1077.186 679.14l-.86-.86 7.044-7.044.353.112a12.418 12.418 0 0 0 12.6-3.054 12.469 12.469 0 0 0 3.409-11.234l-5.375 5.375-7.722-2.068-2.069-7.722 5.376-5.375a12.466 12.466 0 0 0-11.234 3.409 12.416 12.416 0 0 0-3.054 12.6l.112.353-7.452 7.453-.86-.86 6.932-6.933a13.627 13.627 0 0 1 3.462-13.476 13.688 13.688 0 0 1 13.457-3.469l.991.285-6.373 6.374 1.7 6.365 6.365 1.7 6.374-6.374.285.992a13.688 13.688 0 0 1-3.469 13.457 13.627 13.627 0 0 1-13.476 3.46 [...]
+        </g>
+        <g id="Group_1443" data-name="Group 1443">
+            <path id="Path_1229" d="M-1103.6 702.184a5.913 5.913 0 0 1-4.262-1.689 6.05 6.05 0 0 1-1.652-5 8.761 8.761 0 0 1 2.592-5.264l14.842-14.842.86.86-14.842 14.842a7.547 7.547 0 0 0-2.242 4.525 4.858 4.858 0 0 0 1.3 4.015 4.86 4.86 0 0 0 4.015 1.3 7.547 7.547 0 0 0 4.525-2.242l14.436-14.435.859.86-14.435 14.435a8.762 8.762 0 0 1-5.264 2.592 7.312 7.312 0 0 1-.732.043z" fill="#017cee" data-name="Path 1229"/>
+        </g>
+    </g>
+</svg>
diff --git a/landing-pages/site/assets/icons/new-feature-icon.svg b/landing-pages/site/assets/icons/new-feature-icon.svg
new file mode 100644
index 0000000..1d5e795
--- /dev/null
+++ b/landing-pages/site/assets/icons/new-feature-icon.svg
@@ -0,0 +1,18 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="59.393" height="43.404" viewBox="0 0 59.393 43.404">
+    <g id="Group_1438" data-name="Group 1438" transform="translate(983.149 -652.298)">
+        <g id="Group_1436" data-name="Group 1436">
+            <g id="Group_1433" data-name="Group 1433">
+                <path id="Path_1222" d="M-957.671 686.932a.624.624 0 0 1-.179-.027.609.609 0 0 1-.4-.76l7.55-24.645a.608.608 0 0 1 .76-.4.608.608 0 0 1 .4.76l-7.55 24.64a.609.609 0 0 1-.581.432z" fill="#017cee" data-name="Path 1222"/>
+            </g>
+            <g id="Group_1434" data-name="Group 1434">
+                <path id="Path_1223" d="M-961.257 680.764a.6.6 0 0 1-.43-.178l-6.123-6.124a.606.606 0 0 1 0-.859l5.966-5.967a.609.609 0 0 1 .86 0 .607.607 0 0 1 0 .86l-5.536 5.536 5.693 5.694a.607.607 0 0 1 0 .86.6.6 0 0 1-.43.178z" fill="#017cee" data-name="Path 1223"/>
+            </g>
+            <g id="Group_1435" data-name="Group 1435">
+                <path id="Path_1224" d="M-946.158 680.764a.606.606 0 0 1-.43-.178.609.609 0 0 1 0-.86l5.537-5.537-5.694-5.693a.609.609 0 0 1 0-.86.609.609 0 0 1 .86 0l6.123 6.123a.607.607 0 0 1 0 .86l-5.966 5.967a.6.6 0 0 1-.43.178z" fill="#017cee" data-name="Path 1224"/>
+            </g>
+        </g>
+        <g id="Group_1437" data-name="Group 1437">
+            <path id="Path_1225" d="M-926.8 695.7h-53.311a3.044 3.044 0 0 1-3.041-3.04v-37.322a3.044 3.044 0 0 1 3.041-3.04h53.311a3.044 3.044 0 0 1 3.04 3.04v37.324a3.044 3.044 0 0 1-3.04 3.038zm-53.311-42.188a1.827 1.827 0 0 0-1.825 1.824v37.324a1.827 1.827 0 0 0 1.825 1.824h53.311a1.826 1.826 0 0 0 1.824-1.824v-37.322a1.826 1.826 0 0 0-1.824-1.824z" fill="#017cee" data-name="Path 1225"/>
+        </g>
+    </g>
+</svg>
diff --git a/landing-pages/site/assets/icons/project-icon.svg b/landing-pages/site/assets/icons/project-icon.svg
new file mode 100644
index 0000000..a8ab6da
--- /dev/null
+++ b/landing-pages/site/assets/icons/project-icon.svg
@@ -0,0 +1,22 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="43.847" height="60" viewBox="0 0 43.847 60">
+    <g id="Group_1462" data-name="Group 1462" transform="translate(780.781 -644)">
+        <g id="Group_1456" data-name="Group 1456">
+            <path id="Path_1237" d="M-740.682 704h-36.353a3.751 3.751 0 0 1-3.746-3.746v-52.508a3.751 3.751 0 0 1 3.746-3.746h36.353a3.751 3.751 0 0 1 3.747 3.746v52.508a3.751 3.751 0 0 1-3.747 3.746zm-36.353-58.784a2.533 2.533 0 0 0-2.53 2.53v52.508a2.533 2.533 0 0 0 2.53 2.53h36.353a2.533 2.533 0 0 0 2.53-2.53v-52.508a2.533 2.533 0 0 0-2.53-2.53z" fill="#017cee" data-name="Path 1237"/>
+        </g>
+        <g id="Group_1457" data-name="Group 1457">
+            <path id="Path_1238" d="M-746.828 656.17h-23.015a.608.608 0 0 1-.608-.608.608.608 0 0 1 .608-.608h23.015a.608.608 0 0 1 .608.608.608.608 0 0 1-.608.608z" fill="#017cee" data-name="Path 1238"/>
+        </g>
+        <g id="Group_1458" data-name="Group 1458">
+            <path id="Path_1239" d="M-746.828 665.324h-23.015a.608.608 0 0 1-.608-.608.608.608 0 0 1 .608-.608h23.015a.608.608 0 0 1 .608.608.608.608 0 0 1-.608.608z" fill="#017cee" data-name="Path 1239"/>
+        </g>
+        <g id="Group_1459" data-name="Group 1459">
+            <path id="Path_1240" d="M-746.828 674.477h-23.015a.608.608 0 0 1-.608-.608.608.608 0 0 1 .608-.608h23.015a.608.608 0 0 1 .608.608.608.608 0 0 1-.608.608z" fill="#017cee" data-name="Path 1240"/>
+        </g>
+        <g id="Group_1460" data-name="Group 1460">
+            <path id="Path_1241" d="M-746.828 683.631h-23.015a.608.608 0 0 1-.608-.608.608.608 0 0 1 .608-.608h23.015a.608.608 0 0 1 .608.608.608.608 0 0 1-.608.608z" fill="#017cee" data-name="Path 1241"/>
+        </g>
+        <g id="Group_1461" data-name="Group 1461">
+            <path id="Path_1242" d="M-752.818 692.784h-17.025a.608.608 0 0 1-.608-.608.608.608 0 0 1 .608-.608h17.025a.608.608 0 0 1 .608.608.608.608 0 0 1-.608.608z" fill="#017cee" data-name="Path 1242"/>
+        </g>
+    </g>
+</svg>
diff --git a/landing-pages/src/index.js b/landing-pages/site/assets/scss/_community-page.scss
similarity index 62%
copy from landing-pages/src/index.js
copy to landing-pages/site/assets/scss/_community-page.scss
index 375f57c..12ac871 100644
--- a/landing-pages/src/index.js
+++ b/landing-pages/site/assets/scss/_community-page.scss
@@ -17,8 +17,33 @@
  * under the License.
  */
 
-import {showAllCommiters} from "./js/showAllCommiters";
-import {handleActiveVideo} from "./js/handleActiveVideo";
+.list-link {
+  @extend .bodytext__medium--greyish-brown;
+  text-decoration: underline;
+}
 
-showAllCommiters(8);
-handleActiveVideo();
+.community {
+  &--header-container {
+    max-width: 936px;
+    margin: 0 auto;
+  }
+
+  &--accordion-container {
+    margin: 60px 18px;
+  }
+
+  &--commiters-header {
+    @extend .header__small--greyish-brown;
+    text-align: center;
+    margin: 70px 0 40px;
+
+    &.large-margin {
+      margin: 100px 0 40px;
+    }
+  }
+
+  &--button-container {
+    width: fit-content;
+    margin: 60px auto 0;
+  }
+}
diff --git a/landing-pages/site/assets/scss/_ol-ul.scss b/landing-pages/site/assets/scss/_ol-ul.scss
index fbacaf2..1261639 100644
--- a/landing-pages/site/assets/scss/_ol-ul.scss
+++ b/landing-pages/site/assets/scss/_ol-ul.scss
@@ -19,6 +19,7 @@
 
 ol.counter-blue, ul.ticks-blue {
   list-style: none;
+  margin-bottom: 0;
 
   li {
     @extend .bodytext__medium--brownish-grey;
@@ -34,7 +35,9 @@ ol.counter-blue, ul.ticks-blue {
 }
 
 ol.counter-blue {
+  $counter-size: 26px;
   counter-reset: custom-counter;
+  padding-left: calc(#{$counter-size} + 2px);
 
   li {
     counter-increment: custom-counter;
@@ -43,31 +46,31 @@ ol.counter-blue {
     &::before {
       @extend .subtitle__medium--cerulean-blue;
       content: counter(custom-counter);
-      $size: 26px;
       box-sizing: content-box;
 
       top: -2px;
-      left: calc(-1 * #{$size});
-      width: $size;
-      height: $size;
+      left: calc(-1 * #{$counter-size});
+      width: $counter-size;
+      height: $counter-size;
 
       text-align: center;
-      line-height: $size;
+      line-height: $counter-size;
     }
   }
 }
 
 ul.ticks-blue {
+  $tick-size: 24px;
+  padding-left: calc(#{$tick-size} + 2px);
   li {
     margin-bottom: 22px;
 
     &::before {
-      $size: 24px;
       content: "";
 
-      left: calc(-1 * #{$size});
-      width: $size;
-      height: $size;
+      left: calc(-1 * #{$tick-size});
+      width: $tick-size;
+      height: $tick-size;
 
       background-position: center;
       background-repeat: no-repeat;
diff --git a/landing-pages/site/assets/scss/main-custom.scss b/landing-pages/site/assets/scss/main-custom.scss
index a15338f..fc9eff9 100644
--- a/landing-pages/site/assets/scss/main-custom.scss
+++ b/landing-pages/site/assets/scss/main-custom.scss
@@ -38,3 +38,4 @@
 @import "blog-page";
 @import "home-page";
 @import "meetups";
+@import "community-page";
diff --git a/landing-pages/site/content/en/community/_index.html b/landing-pages/site/content/en/community/_index.html
new file mode 100644
index 0000000..bda9212
--- /dev/null
+++ b/landing-pages/site/content/en/community/_index.html
@@ -0,0 +1,89 @@
+---
+title: Community
+menu:
+  main:
+    weight: 1
+---
+
+<div class="community--accordion-container">
+    {{< accordion title="Join the devlist" description="If you want to stay up to date with what is going on in the project, want to discuss the features, talk about fixes or simply ask a question - this is the first step to take." logo_path="icons/join-devlist-icon.svg" >}}
+    <ol class="counter-blue mx-auto">
+        <li>Send an email without any subject or content at <a class="list-link" href="mailto:dev@airflow.apache.org">dev@airflow.apache.org</a>
+        </li>
+        <li>Wait till you receive an email with subject “Confirm your subscription to dev@airflow.apache.org” and reply
+            to that email
+        </li>
+        <li>Wait till you receive a welcome email</li>
+    </ol>
+    {{< /accordion >}}
+    {{< accordion title="Report a bug" description="If you want to stay up to date with what is going on in the project, want to discuss the features, talk about fixes or simply ask a question - this is the first step to take." logo_path="icons/bug-icon.svg" >}}
+    <ol class="counter-blue mx-auto">
+        <li>Send an email without any subject or content at <a class="list-link" href="mailto:dev@airflow.apache.org">dev@airflow.apache.org</a>
+        </li>
+        <li>Wait till you receive an email with subject “Confirm your subscription to dev@airflow.apache.org” and reply
+            to that email
+        </li>
+        <li>Wait till you receive a welcome email</li>
+    </ol>
+    {{< /accordion >}}
+    {{< accordion title="Ask a question" description="If you want to stay up to date with what is going on in the project, want to discuss the features, talk about fixes or simply ask a question - this is the first step to take." logo_path="icons/ask-question-icon.svg" >}}
+    <ol class="counter-blue mx-auto">
+        <li>Send an email without any subject or content at <a class="list-link" href="mailto:dev@airflow.apache.org">dev@airflow.apache.org</a>
+        </li>
+        <li>Wait till you receive an email with subject “Confirm your subscription to dev@airflow.apache.org” and reply
+            to that email
+        </li>
+        <li>Wait till you receive a welcome email</li>
+    </ol>
+    {{< /accordion >}}
+    {{< accordion title="Add a new feature" description="If you want to stay up to date with what is going on in the project, want to discuss the features, talk about fixes or simply ask a question - this is the first step to take." logo_path="icons/new-feature-icon.svg" >}}
+    <ol class="counter-blue mx-auto">
+        <li>Send an email without any subject or content at <a class="list-link" href="mailto:dev@airflow.apache.org">dev@airflow.apache.org</a>
+        </li>
+        <li>Wait till you receive an email with subject “Confirm your subscription to dev@airflow.apache.org” and reply
+            to that email
+        </li>
+        <li>Wait till you receive a welcome email</li>
+    </ol>
+    {{< /accordion >}}
+    {{< accordion title="Fix a bug" description="If you want to stay up to date with what is going on in the project, want to discuss the features, talk about fixes or simply ask a question - this is the first step to take." logo_path="icons/fix-bug-icon.svg" >}}
+    <ol class="counter-blue mx-auto">
+        <li>Send an email without any subject or content at <a class="list-link" href="mailto:dev@airflow.apache.org">dev@airflow.apache.org</a>
+        </li>
+        <li>Wait till you receive an email with subject “Confirm your subscription to dev@airflow.apache.org” and reply
+            to that email
+        </li>
+        <li>Wait till you receive a welcome email</li>
+    </ol>
+    {{< /accordion >}}
+    {{< accordion title="Contribute to the source code" description="If you want to stay up to date with what is going on in the project, want to discuss the features, talk about fixes or simply ask a question - this is the first step to take." logo_path="icons/contribute-icon.svg" >}}
+    <ol class="counter-blue mx-auto">
+        <li>Send an email without any subject or content at <a class="list-link" href="mailto:dev@airflow.apache.org">dev@airflow.apache.org</a>
+        </li>
+        <li>Wait till you receive an email with subject “Confirm your subscription to dev@airflow.apache.org” and reply
+            to that email
+        </li>
+        <li>Wait till you receive a welcome email</li>
+    </ol>
+    {{< /accordion >}}
+    {{< accordion title="Improve documentation" description="If you want to stay up to date with what is going on in the project, want to discuss the features, talk about fixes or simply ask a question - this is the first step to take." logo_path="icons/documentation-icon.svg" >}}
+    <ol class="counter-blue mx-auto">
+        <li>Send an email without any subject or content at <a class="list-link" href="mailto:dev@airflow.apache.org">dev@airflow.apache.org</a>
+        </li>
+        <li>Wait till you receive an email with subject “Confirm your subscription to dev@airflow.apache.org” and reply
+            to that email
+        </li>
+        <li>Wait till you receive a welcome email</li>
+    </ol>
+    {{< /accordion >}}
+    {{< accordion title="Make changes in the project" description="If you want to stay up to date with what is going on in the project, want to discuss the features, talk about fixes or simply ask a question - this is the first step to take." logo_path="icons/project-icon.svg" >}}
+    <ol class="counter-blue mx-auto">
+        <li>Send an email without any subject or content at <a class="list-link" href="mailto:dev@airflow.apache.org">dev@airflow.apache.org</a>
+        </li>
+        <li>Wait till you receive an email with subject “Confirm your subscription to dev@airflow.apache.org” and reply
+            to that email
+        </li>
+        <li>Wait till you receive a welcome email</li>
+    </ol>
+    {{< /accordion >}}
+</div>
diff --git a/landing-pages/site/data/commiters.json b/landing-pages/site/data/commiters.json
index 28d0857..fe939cc 100644
--- a/landing-pages/site/data/commiters.json
+++ b/landing-pages/site/data/commiters.json
@@ -25,8 +25,11 @@
   },
   {
     "name": "Maxime \u201cMax\u201d Beauchemin",
+    "github": "https://github.com",
     "image": "/stock-guy.jpg",
-    "nick": "mistercrunch"
+    "linkedin": "https://linkedin.com",
+    "nick": "mistercrunch",
+    "twitter": "https://twitter.com"
   },
   {
     "name": "Maxime \u201cMax\u201d Beauchemin",
diff --git a/landing-pages/site/layouts/community/baseof.html b/landing-pages/site/layouts/community/baseof.html
new file mode 100644
index 0000000..b83b82f
--- /dev/null
+++ b/landing-pages/site/layouts/community/baseof.html
@@ -0,0 +1,46 @@
+{{/*
+ 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.
+*/}}
+
+<!doctype html>
+<html lang="{{ .Site.Language.Lang }}" class="no-js">
+<head>
+    {{ partial "head.html" . }}
+</head>
+<body class="td-{{ .Kind }}">
+<header>
+    {{ partial "navbar.html" . }}
+</header>
+<div class="container-fluid td-default">
+    <main role="main" class="td-main container base-layout">
+        {{ block "main" . }}{{ end }}
+        <div class="base-layout--button">
+            <a href="https://github.com">
+                {{ partial "buttons/button-with-icon" (dict "text" "Suggest a change on this page" "class" "button-fixed") }}
+            </a>
+        </div>
+    </main>
+    {{ partial "footer.html" . }}
+</div>
+{{ partialCached "scripts.html" . }}
+</body>
+{{ $script := .Site.Data.webpack.main }}
+{{ with $script.js }}
+    <script src="{{ relURL . }}"></script>
+{{ end }}
+</html>
diff --git a/landing-pages/site/layouts/community/list.html b/landing-pages/site/layouts/community/list.html
new file mode 100644
index 0000000..dc1dc3e
--- /dev/null
+++ b/landing-pages/site/layouts/community/list.html
@@ -0,0 +1,58 @@
+{{/*
+ 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.
+*/}}
+
+{{ define "main" }}
+    <div>
+        <div class="community--header-container">
+            <h2 class="page-header">Community</h2>
+            <h5 class="page-subtitle">
+                Started at Airbnb as open source from the very first commit. Apache Airflow community
+                has about 500 active members who support each other in solving problems.
+            </h5>
+
+            <h5 class="header__small--greyish-brown text-center">Join the community!</h5>
+            {{ with .Content }}
+                {{ . }}
+            {{ end }}
+        </div>
+        <h5 class="community--commiters-header large-margin">Primary Members Commiters</h5>
+        <div id="pmc-container" class="list-items">
+            {{ range .Site.Data.commiters }}
+                <div class="list-item">
+                    {{ partial "boxes/commiter" . }}
+                </div>
+            {{ end }}
+        </div>
+        <div class="community--button-container">
+            {{ partial "buttons/button-filled" (dict "text" "Show all" "id" "show-all-pmcs")}}
+        </div>
+
+        <h5 class="community--commiters-header">Commiters</h5>
+        <div id="commiters-container" class="list-items">
+            {{ range .Site.Data.commiters }}
+                <div class="list-item">
+                    {{ partial "boxes/commiter" . }}
+                </div>
+            {{ end }}
+        </div>
+        <div class="community--button-container">
+            {{ partial "buttons/button-filled" (dict "text" "Show all" "id" "show-all-commiters")}}
+        </div>
+    </div>
+{{ end }}
diff --git a/landing-pages/src/index.js b/landing-pages/src/index.js
index 375f57c..b7323d6 100644
--- a/landing-pages/src/index.js
+++ b/landing-pages/src/index.js
@@ -20,5 +20,6 @@
 import {showAllCommiters} from "./js/showAllCommiters";
 import {handleActiveVideo} from "./js/handleActiveVideo";
 
-showAllCommiters(8);
+showAllCommiters(8, "commiters-container", "show-all-commiters");
+showAllCommiters(8, "pmc-container", "show-all-pmcs");
 handleActiveVideo();
diff --git a/landing-pages/src/js/showAllCommiters.js b/landing-pages/src/js/showAllCommiters.js
index 63c7725..4786694 100644
--- a/landing-pages/src/js/showAllCommiters.js
+++ b/landing-pages/src/js/showAllCommiters.js
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-export const showAllCommiters = (initialChildrenCount) => {
-  const container = window.document.getElementById("commiters-container");
-  const button = window.document.getElementById("show-all-commiters");
+export const showAllCommiters = (initialChildrenCount, containerID, buttonID) => {
+  const container = window.document.getElementById(containerID);
+  const button = window.document.getElementById(buttonID);
   if (!container || !button) return;
   if (container.childElementCount <= initialChildrenCount) return;