-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
executable file
·136 lines (116 loc) · 4.68 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<!DOCTYPE html>
<!--
Run a find replace on:
- https://mangohacks17.devpost.com/ -> Your Devpost URL: http://pennappsxii.devpost.com
- MangoHacks -> Your Hackathon Name -> PennApps XII
You can also use your own favico or Hackathon logo/header.
-->
<html>
<head>
<meta charset='utf-8'>
<title>MangoHacks Expo</title>
<!-- Meta tags to eliminate caching. I don't totally get how these work, so you might not need all of them. cribbed from: http://stackoverflow.com/questions/1341089/using-meta-tags-to-turn-off-caching-in-all-browsers-->
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />
<meta name='viewport' content='width=device-width, initial-scale=1.0'/>
<link href='//fonts.googleapis.com/css?family=Roboto:400,700,900,400italic' rel='stylesheet' type='text/css'>
<link rel='stylesheet' type='text/css' href='css/style.css'>
<link rel="shortcut icon" href="http://nealrs.github.io/devpost-follow-button/icon/devpost-128.png">
<script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js'></script>
<script type='text/javascript' src='js/papaparse.min.js'></script>
<script type='text/javascript' src='js/mustache.min.js'></script>
<script type='text/javascript' src="js/list.js"></script>
</head>
<body>
<div class="container">
<div id="header">
<a href="https://mangohacks2018.devpost.com" title="MangoHacks Expo">
<img src="original.png">
</a>
</div>
<div id="fullTable"></div>
</div>
<script id="template" type="x-tmpl-mustache">
<div class="search_container">
<input class="search" type="search" placeholder="Filter by sponsor prize, project name, category or whatever" id="filter"/>
</div>
<table id="expoTable">
<thead>
<tr>
<th class="number">Table</th>
<th class="name">Project</th>
<th class="prize">Sponsor Prizes</th>
</tr>
</thead>
<tbody class="list">
{{#data}}
<tr>
<td class="number">{{table}}</td>
<td class="name"><a href="{{{link}}}" target="_blank">{{project}}</a></td>
<td class="prize">{{sponsors}}</td>
</tr>
{{/data}}
</tbody>
</table>
</script>
<br>
<div id="footer">
<p>Sponsors, want analytics about who's using your API, what they're building, and where?</p>
<p>Organizers, want your own slick expo / table number app?</p>
<p>Email <a href="mailto:[email protected]"> [email protected]</a></p>
<a href="http://devpost.com"><img src="http://devpost0.assetspost.com/assets/shared/devpost_logo-646bdf6ac6663230947a952f8d354cad.svg" style="height: 30px;"></a>
</div>
<script type="text/javascript">
var tableData;
function getParam(variable){
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return(false);
}
document.addEventListener('DOMContentLoaded', function() {
// CSV format: https://gist.githubusercontent.com/nealrs/510b6ab766d97b42f572/raw/92188f386410fe9ebdfdea381562a4ddff4a02b7/test.csv
Papa.parse("data/data.csv", {
download: true,
header: true,
complete: function(results) {
tableData = results;
// print raw data
//console.log(tableData);
// add commas to sponsor prize data
for (var x in tableData.data) {
var s = tableData.data[x]['sponsors'];
tableData.data[x]['sponsors'] = s.replace(/,/ig, ", ");
}
// print cleaned data
console.log(tableData);
// process and render template
var template = $('#template').html();
Mustache.parse(template); // optional, speeds up future uses
var rendered = Mustache.render(template, tableData);
//console.log(rendered);
$('#fullTable').html(rendered);
// list.js search init
var listOptions = {
valueNames: [ 'number', 'name', 'prize', 'cat' ],
page: 1000000
};
var userList = new List('fullTable', listOptions);
// grab filter url param and activate filter
var filter = decodeURI(getParam("filter"));
if (filter != "false"){
$("#filter").val(filter);
userList.search(filter);
};
}
});
});
</script>
</body>
</html>