Lissy93/twitter-sentiment-visualisation

View on GitHub
views/page_entityExtraction.jade

Summary

Maintainability
Test Coverage
extends layout

block head
    link(href='https://fonts.googleapis.com/icon?family=Material+Icons', rel='stylesheet')

block content


    div.container
        .row
            div.col.s8.offset-s2.card-panel
                h3 Entity Extraction
                p Extract key information (people, places, topics, companies, media...) from Tweets.
                    | Enter a search term to fetch and analyse fresh Twitter data.
                div.input-field
                    input#txtKeyword.validate(type='text', value='#{searchTerm}')
                    label(for='txtKeyword') Enter a keyword, topic or search term to fetch new Tweets

        .row
            div.col.s12.card-panel
                p#chart(style='overflow: auto;')

    div.container(style='width: 90%')
        for key in Object.keys(data)
            h4 #{key.charAt(0).toUpperCase()+key.split('_')[0].slice(1)}
            div.row
                for entity in data[key]
                    div.card.small.col.s12.m3.l2.xl1
                        div.card-image
                            img.better-img-card-position(src='#{entity.additional_information.image}')
                            span.card-title #{entity.normalized_text}
                        div.card-content
                            p <b>#{entity.matches.length}</b> occurrences found
                            for match in entity.matches.splice(0,4)
                                span= ' '+match+' '
                            if entity.matches.length > 1
                                span ...
                        div.card-action
                            if entity.additional_information.wiki != ''
                                a(href='#{entity.additional_information.wiki}') Wikipedia
                            a(href='/entity-extraction/'+entity.normalized_text) Entities


block scripts
    script(type='text/javascript').
        var results = !{JSON.stringify(data)};
        var searchTerm = !{JSON.stringify(searchTerm)};
        var sankeyData = !{JSON.stringify(sankeyData)};
    script(type='text/javascript', src='/bower_components/d3/d3.min.js')
    script(type='text/javascript', src='/bower_components/sankey.js/index.js')
    script(type='text/javascript', src='/javascripts/charts/entity-extraction.js')