extends ../layouts/basic

block variablesLang
    include ./_variablesLang.jade

block extra_head
    title Committers - Apache ECharts (incubating)

block content
    nav(class='navbar navbar-default navbar-fixed-top')
        include ./nav

    .page-main
        .page-info
            h1 Thanks for Helping
            p The development of ECharts is associated with the outstanding contributions from the people in the community,<br>who have different skills and come from different backgrounds.
            p Thank you all your help!
            p.page-info-echarts Apache ECharts (incubating)<sup>TM</sup>

        #about-page
            section.container.contributor

                h4.group.mentors  Apache Mentors
                .row
                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/dave.jpg?_v_=#{cdnPayVersion}')
                            h5.about-name Dave Fisher
                            .about-desc San Francisco, US
                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/kevin.jpg?_v_=#{cdnPayVersion}')
                            h5.about-name Kevin A. McGrail
                            .about-desc Washington, US
                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/shengwu.jpg?_v_=#{cdnPayVersion}')
                            h5.about-name Sheng Wu
                            .about-desc Beijing, China
                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/tedliu.jpg?_v_=#{cdnPayVersion}')
                            h5.about-name Ted Liu
                            .about-desc Beijing, China

                h4.group.code PPMC
                .row
                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            a(href='https://github.com/pissang', target='_blank')
                                img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/沈毅.jpg?_v_=#{cdnPayVersion}')
                            h5.about-name Yi Shen
                            .about-desc Baidu
                            .about-desc Shanghai, China
                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            a(href='https://github.com/100pah', target='_blank')
                                img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/宿爽.jpg?_v_=#{cdnPayVersion}')
                            h5.about-name Shuang Su
                            .about-desc Baidu
                            .about-desc Beijing, China
                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            a(href='https://github.com/Ovilia', target='_blank')
                                img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/羡辙.jpg?_v_=#{cdnPayVersion}')
                            h5.about-name Ovilia
                            .about-desc Baidu
                            .about-desc Shanghai, China
                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            a(href='https://github.com/deqingli', target='_blank')
                                img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/德清.jpg?_v_=#{cdnPayVersion}')
                            h5.about-name Deqing Li
                            .about-desc Alibaba
                            .about-desc Hangzhou, China
                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            a(href='https://www.behance.net/wjtjiayouac8aa', target='_blank')
                                img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/王俊婷.jpg?_v_=#{cdnPayVersion}')
                            h5.about-name Junting Wang
                            .about-desc Baidu
                            .about-desc Shanghai, China
                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            a(href='https://github.com/kener', target='_blank')
                                img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/林峰.jpg?_v_=#{cdnPayVersion}')
                            h5.about-name Feng Lin
                            .about-desc Alibaba
                            .about-desc Hangzhou, China

                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            a(href='https://github.com/erik168', target='_blank')
                                img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/erik.jpg?_v_=#{cdnPayVersion}')
                            h5.about-name Erik
                            .about-desc Baidu
                            .about-desc Beijing, China

                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            a(href='https://github.com/chriswong', target='_blank')
                                img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/大佛.jpg?_v_=#{cdnPayVersion}')
                            h5.about-name Houjin Huang
                            .about-desc GSX
                            .about-desc Beijing, China

                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            a(href='https://github.com/susiwen8', target='_blank')
                                img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/苏思文.jpg?_v_=#{cdnPayVersion}')
                            h5.about-name Siwen Su
                            .about-desc Baidu
                            .about-desc Beijing, China
                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            a(href='https://github.com/plainheart', target='_blank')
                                img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/plainheart.jpg')
                            h5.about-name Zhongxiang Wang
                            .about-desc Henan, China
                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            a(href='https://github.com/wf123537200', target='_blank')
                                img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/zakwu.jpg?_v_=#{cdnPayVersion}')
                            h5.about-name Zak Wu
                            .about-desc Tencent
                            .about-desc Shenzhen, China



                h4.group.code Committers
                .row
                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            a(href='https://github.com/cuijian-dexter', target='_blank')
                                img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/崔健.jpg?_v_=#{cdnPayVersion}')
                            h5.about-name Jian Cui
                            .about-desc Baidu
                            .about-desc Beijing, China

                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            a(href='https://github.com/ClemMakesApps', target='_blank')
                                img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/clement.jpg?_v_=#{cdnPayVersion}')
                            h5.about-name Clement Ho
                            .about-desc MURAL
                            .about-desc Texas, US

                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            a(href='https://github.com/yufeng04', target='_blank')
                                img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/禹峰.jpg?_v_=#{cdnPayVersion}')
                            h5.about-name Feng Yu
                            .about-desc Baidu
                            .about-desc Shanghai, China

                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            a(href='https://github.com/SnailSword', target='_blank')
                                img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/韩天.jpg?_v_=#{cdnPayVersion}')
                            h5.about-name Tian Han
                            .about-desc Student
                            .about-desc Beijing, China
                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            a(href='https://github.com/alex2wong', target='_blank')
                                img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/黄益修.jpg?_v_=#{cdnPayVersion}')
                            h5.about-name Yixiu Huang
                            .about-desc ByteDance
                            .about-desc Shanghai, China
                    .col-md-3.col-sm-4.col-xs-6
                        .about-person
                            a(href='https://github.com/chfw', target='_blank')
                                img(src='#{cdnPayRoot}/#{ecWWWLang}/images/people/chfw.jpg?_v_=#{cdnPayVersion}')
                            h5.about-name chfw
                            .about-desc UK


                h4.group.contributor Contributors
                .row
                    <p></p>
                    p Thanks to all the <a href="https://github.com/apache/incubator-echarts/graphs/contributors">CONTRIBUTORS</a> <br /> making their effort to help ECharts getting better.

        include ./footer

block extra_js

    script(type='text/javascript').
        document.getElementById('nav-contribute').className = 'active';
