Spaces:
Running
Running
| <html xmlns="http://www.w3.org/1999/xhtml"> | |
| <head> | |
| <title>Common Crawl citations</title> | |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | |
| <link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.0/dist/leaflet.css" /> | |
| <link rel="stylesheet" href="https://opengeo.tech/maps/leaflet-search/src/leaflet-search.css" /> | |
| <link rel="stylesheet" href="./style.css" /> | |
| <meta charset="utf-8" /> | |
| <meta name="viewport" content="width=device-width" /> | |
| <script> | |
| function showFullLegend() { | |
| [].forEach.call(document.querySelectorAll('.legend-more'), function (el) { | |
| el.style.display = 'inline'; | |
| }); | |
| } | |
| document.addEventListener('DOMContentLoaded', function() { | |
| // your code here | |
| document.getElementById('loading').style.display = 'none'; | |
| //sample data values for populate map | |
| var _data = []; | |
| // Calculate center as the mean of all locations | |
| var sumLat = 0, sumLng = 0; | |
| for (let i = 0; i < data.length; i++) { | |
| sumLat += data[i].loc[0]; | |
| sumLng += data[i].loc[1]; | |
| } | |
| var centerLat = sumLat / data.length; | |
| var centerLng = sumLng / data.length; | |
| var map = new L.Map('map', { | |
| zoom: 7, | |
| zoomControl: false, | |
| center: new L.latLng([centerLat, centerLng]) | |
| }); //set center from mean of all locations | |
| L.control.zoom({ | |
| position: 'topright' | |
| }).addTo(map); | |
| // map.addLayer(new L.TileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png')); //base layer | |
| var markersLayer = new L.LayerGroup(); //layer contain searched elements | |
| map.addLayer(markersLayer); | |
| var controlSearch = new L.Control.Search({ | |
| position:'topleft', | |
| collapsed: false, | |
| textPlaceholder: 'Search papers ...', | |
| layer: markersLayer, | |
| initial: false, | |
| zoom: 12, | |
| marker: false, | |
| }); | |
| map.addControl( controlSearch ); | |
| ////////////populate map with markers from sample data | |
| var colors = [ | |
| "#63b598", "#ce7d78", "#ea9e70", "#a48a9e", "#c6e1e8", "#648177", "#0d5ac1", | |
| "#f205e6", "#1c0365", "#14a9ad", "#4ca2f9", "#a4e43f", "#d298e2", "#6119d0", | |
| "#d2737d", "#c0a43c", "#f2510e", "#651be6", "#79806e", "#61da5e", "#cd2f00", | |
| "#9348af", "#01ac53", "#c5a4fb", "#996635", "#b11573", "#4bb473", "#75d89e", | |
| "#2f3f94", "#2f7b99", "#da967d", "#34891f", "#b0d87b", "#ca4751", "#7e50a8", | |
| "#c4d647", "#e0eeb8", "#11dec1", "#289812", "#566ca0", "#ffdbe1", "#2f1179", | |
| ]; | |
| var legendHtml = '<b>Legend:</b> ' | |
| var moreFrom = 10; | |
| for (let i = 0; i < labels.length; i++) { | |
| if (i >= moreFrom) { | |
| cls = 'legend-more'; | |
| } else { | |
| cls = ''; | |
| } | |
| legendHtml += '<span class="legend-item ' + cls +'"><span class="legend-icon" style="background: ' + colors[i]+ '"></span>' + labels[i] + '</span> '; | |
| if (i == moreFrom) { | |
| legendHtml += '<a href="javascript:showFullLegend();">...</a>'; | |
| } | |
| } | |
| document.getElementById('legendContainer').innerHTML = legendHtml; | |
| for(i in data) { | |
| var title = data[i].title, //value searched | |
| loc = data[i].loc, //position found | |
| abstract = data[i].abstract, | |
| venue = data[i].venue, | |
| authors = data[i].authors, | |
| label = data[i].label | |
| url = data[i].openalex_id | |
| if (url == '') { | |
| url = 'https://github.com/commoncrawl/cc-citations' | |
| } | |
| // else { | |
| // url = openalex_id | |
| // } | |
| // circleMarker, Marker | |
| marker = new L.circleMarker(new L.latLng(loc), {title: title, radius: 5, className: 'label-' + label} );//se property searched | |
| marker.bindPopup('<b><a href="'+ url + '">' + title + '</a></b> [' + venue + '] <i>' + authors + ':<br />' + abstract ); | |
| //marker.setStyle({fillColor: colors[label]}); | |
| marker.bindTooltip(title) | |
| marker.setStyle({color: colors[label]}); | |
| markersLayer.addLayer(marker); | |
| } | |
| }, false); | |
| </script> | |
| </head> | |
| <body> | |
| <div id="header"> | |
| <h1>Common Crawl citations</h1> | |
| <a href="https://github.com/commoncrawl/cc-citations">Scientific articles using or citing Common Crawl data</a>. Built with <a href="https://github.com/malteos/scincl" target="_blank">SciNCL</a> | |
| and <a href="https://github.com/lmcinnes/umap" target="_blank">UMAP</a>. | |
| <div id="legendContainer"></div> | |
| </div> | |
| <div id="loading"> | |
| <h2>Loading ...</h2> | |
| </div> | |
| <div id="mapContainer"> | |
| <div id="map"></div> | |
| </div> | |
| <script src="./papers.js"></script> | |
| <script src="https://unpkg.com/leaflet@1.3.0/dist/leaflet.js"></script> | |
| <script src="https://opengeo.tech/maps/leaflet-search/src/leaflet-search.js"></script> | |
| </body> | |
| </html> |