-
    let events2016 = `[
    {
        "title":"Shared Memory Layer for Spark Applications",
        "link":"https:\/\/apachebigdataeu2016.sched.org\/event\/8m2O\/shared-memory-layer-for-spark-applications-dmitriy-setrakyan-gridgain",
        "loc":"Apache Big Data Europe",
        "speaker":[
            "Dmitriy Setrakyan"
        ],
        "data":"November 16, 2016"
    },
    {
        "title":"Shared Memory Layer and Faster SQL for Spark Applications",
        "link":"https:\/\/apachebigdataeu2016.sched.org\/event\/8m2i\/shared-memory-layer-and-faster-sql-for-spark-applications-dmitriy-setrakyan-gridgain",
        "loc":"Apache Big Data Europe",
        "speaker":[
            "Dmitriy Setrakyan"
        ],
        "data":"November 16, 2016"
    },
    {
        "title":"Apache Ignite - Path to Converged Data Platform",
        "link":"https:\/\/apachebigdataeu2016.sched.org\/event\/8TzM\/apache-ignite-path-to-converged-data-platform-dmitriy-setrakyan-gridgain",
        "loc":"Apache Big Data Europe",
        "speaker":[
            "Dmitriy Setrakyan"
        ],
        "data":"November 15, 2016"
    },
    {
        "title":"Apache Ignite London Meetup",
        "link":"https:\/\/secure.meetup.com\/register\/?ctx=ref",
        "loc":"Apache Ignite London Meetup",
        "speaker":[
            "Nikita Ivanov"
        ],
        "data":"July 13, 2016"
    },
    {
        "title":"Apache Ignite NYC Meetup",
        "link":"http:\/\/www.meetup.com\/mysqlnyc\/events\/231578906\/",
        "loc":"Apache Ignite NYC Meetup",
        "speaker":[
            "Nikita Ivanov"
        ],
        "data":"June 28, 2016"
    }]`;

    let events2016Array = JSON.parse(events2016);

.eventspast__tab
    each val, index in events2016Array
        if index > 2
            - break;
        - let joinSpeacker = val['speaker'].join("<br>");
        article.eventcard
            .eventcard__date !{val['data']}
            .eventcard__title.pt-2 !{val['title']}
            .eventcard__info.pt-2 
                .eventcard__speaker !{joinSpeacker}
                .eventcard__loc !{val['loc']}
            a.eventcard__button.button.button--shadow(href=val['link'], target="_blank")  Learn more details
.eventspast__morewrap(data-hidebox="ev2016more")
    .eventspast__tab
        each val, index in events2016Array
            if index < 3
                - continue;
            - let joinSpeacker = val['speaker'].join("<br>");
            article.eventcard
                .eventcard__date !{val['data']}
                .eventcard__title.pt-2 !{val['title']}
                .eventcard__info.pt-2 
                    .eventcard__speaker !{joinSpeacker}
                    .eventcard__loc !{val['loc']}
                a.eventcard__button.button.button--shadow(href=val['link'], target="_blank")  Learn more details 
.eventspast__bottom.pt-1
    a.eventspast__more.jsLoadMoreEvents(href="#", data-hideopen="ev2016more", data-invis="1") Show more