feat(event): add event pages
diff --git a/_jade/en/events.jade b/_jade/en/events.jade
new file mode 100644
index 0000000..61789b2
--- /dev/null
+++ b/_jade/en/events.jade
@@ -0,0 +1,29 @@
+extends ../layouts/basic
+
+block variablesLang
+    include ./_variablesLang.jade
+
+block variables
+    - var pageTitle = 'Events - Apache ECharts'
+
+block extra_head
+    title Events - Apache ECharts
+
+block content
+    nav(class='navbar navbar-default navbar-fixed-top')
+        include ./nav
+
+    .page-main
+        .page-info
+            .container
+                h1 Events
+                p.page-info-echarts Apache ECharts<sup>TM</sup>
+
+        .page-content
+            .page-detail
+                p No events for now.
+
+                include ../components/inner-footer
+block extra_js
+    script(type='text/javascript').
+        document.getElementById('nav-contribute').className = 'active';
diff --git a/_jade/events.jade b/_jade/events.jade
new file mode 100644
index 0000000..9e92f87
--- /dev/null
+++ b/_jade/events.jade
@@ -0,0 +1,4 @@
+extends layouts/redirect
+
+block variables
+    - var redirectTo = 'events.html'
diff --git a/_jade/zh/events.jade b/_jade/zh/events.jade
new file mode 100644
index 0000000..65ff8c2
--- /dev/null
+++ b/_jade/zh/events.jade
@@ -0,0 +1,29 @@
+extends ../layouts/basic
+
+block variables
+    - var pageTitle = 'Apache ECharts - 活动'
+
+block extra_head
+    title 活动 - Apache ECharts
+
+block content
+    nav(class='navbar navbar-default navbar-fixed-top', role="navigation")
+        include ../components/nav
+
+    .page-main
+        .page-info
+            .container
+                h1 活动
+                p.page-info-echarts Apache ECharts<sup>TM</sup>
+
+        .page-content#maillist
+            .container
+                a.event(href='https://echarts-5-live.bj.bcebos.com/echarts-5-event.html?ref=ec-event')
+                    img.lazy(data-src="#{cdnPayRoot}/#{ecWWWLang}/images/event/20200128-apache-echarts-5.png?_v_=#{cdnPayVersion}")
+
+block extra_js
+    script.
+        window.lazyLoadOptions = {
+            elements_selector: ".lazy"
+        };
+    script(src='https://cdn.jsdelivr.net/npm/vanilla-lazyload@12.0.0/dist/lazyload.min.js')
diff --git a/_scss/_pages.events.scss b/_scss/_pages.events.scss
new file mode 100644
index 0000000..3638cad
--- /dev/null
+++ b/_scss/_pages.events.scss
@@ -0,0 +1,15 @@
+.event {
+    display: block;
+    margin: 20px 0 50px 0;
+
+    img {
+        width: 100%;
+        border-radius: 10px;
+        box-shadow: 0 0 20px rgba(0,0,0,0.2);
+        transition: 0.3s;
+    }
+
+    &:hover img {
+        box-shadow: 0 10px 20px rgba(0,0,0,0.3);
+    }
+}
diff --git a/_scss/main.scss b/_scss/main.scss
index da3e661..2647a2e 100644
--- a/_scss/main.scss
+++ b/_scss/main.scss
@@ -102,6 +102,7 @@
 @import 'pages.faq';
 @import 'pages.maillist';
 @import 'pages.cheatsheet';
+@import 'pages.events';
 
 #apache-banner {
     position: fixed;
diff --git a/images/event/20200128-apache-echarts-5.png b/images/event/20200128-apache-echarts-5.png
new file mode 100644
index 0000000..188a936
--- /dev/null
+++ b/images/event/20200128-apache-echarts-5.png
Binary files differ