2022-11-11 05:48:02 +00:00
|
|
|
{{ define "title" }}
|
|
|
|
CV by Location | {{ .Site.Title }}
|
|
|
|
{{ end }}
|
|
|
|
|
|
|
|
{{ define "main-class" }}--section location-map{{ end }}
|
|
|
|
|
2023-04-08 18:57:21 +00:00
|
|
|
{{ define "header-scripts" }}
|
2023-10-03 12:08:35 +00:00
|
|
|
<link rel="stylesheet" href="/css/leaflet.css"/>
|
2023-04-08 18:57:21 +00:00
|
|
|
{{ end }}
|
|
|
|
|
2022-11-11 05:48:02 +00:00
|
|
|
{{ define "footer-scripts" }}
|
2023-10-03 12:08:35 +00:00
|
|
|
<script src="/js/leaflet.js"></script>
|
2023-04-08 18:57:21 +00:00
|
|
|
<script src="/js/leaflet-heat.js"></script>
|
2022-11-11 05:48:02 +00:00
|
|
|
<script>
|
2023-10-03 12:08:35 +00:00
|
|
|
var map = L.map('map').setView([55, -3], 3);
|
2023-04-08 18:57:21 +00:00
|
|
|
|
|
|
|
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
|
|
|
maxZoom: 19,
|
|
|
|
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'
|
|
|
|
}).addTo(map);
|
|
|
|
|
|
|
|
{{ range $.Site.Data.locations }}
|
2023-10-03 12:08:35 +00:00
|
|
|
L.marker([{{ .lat }}, {{ .lon }}]).addTo(map);
|
2023-04-08 18:57:21 +00:00
|
|
|
{{ end }}
|
|
|
|
|
|
|
|
{{ .Scratch.Set "maxItems" 0 }}
|
|
|
|
{{ .Scratch.Set "numOfItems" 0 }}
|
|
|
|
|
|
|
|
{{ range $key, $value := $.Site.Data.locations }}
|
|
|
|
{{ $childPosts := where $.Site.Pages ".Params.locations" "intersect" ( slice $key ) }}
|
2023-10-03 12:08:35 +00:00
|
|
|
{{ $.Scratch.Set "numOfItems" ( len $childPosts ) }}
|
|
|
|
{{ if ( gt ( $.Scratch.Get "numOfItems" ) ( $.Scratch.Get "maxItems" ) ) }}
|
|
|
|
{{ $.Scratch.Set "maxItems" ( $.Scratch.Get "numOfItems" ) }}
|
2023-04-08 18:57:21 +00:00
|
|
|
{{ end }}
|
|
|
|
{{ end }}
|
|
|
|
|
2023-10-03 12:08:35 +00:00
|
|
|
L.heatLayer(
|
|
|
|
[
|
|
|
|
{{- range $key, $value := $.Site.Data.locations -}}
|
|
|
|
{{- $childPosts := where $.Site.Pages ".Params.locations" "intersect" ( slice $key ) -}}
|
|
|
|
[ {{ .lat }}, {{ .lon }}, {{ len $childPosts }} ],
|
|
|
|
{{- end -}}
|
|
|
|
],
|
|
|
|
{
|
|
|
|
max: {{ $.Scratch.Get "maxItems" }},
|
|
|
|
gradient: { 0.4: 'blue', 0.65: 'lime', 1: 'red' }
|
2023-04-08 18:57:21 +00:00
|
|
|
}
|
2023-10-03 12:08:35 +00:00
|
|
|
).addTo(map);
|
2022-11-11 05:48:02 +00:00
|
|
|
</script>
|
|
|
|
{{ end }}
|
|
|
|
|
|
|
|
{{ define "main-header" }}
|
|
|
|
<header class="site-content__header">
|
|
|
|
<h1 class="page-title">{{ .Title | safeHTML }}.</h1>
|
|
|
|
{{ .Content }}
|
|
|
|
</header>
|
|
|
|
{{ end }}
|
|
|
|
|
|
|
|
{{ define "main-body" }}
|
|
|
|
<article class="site-content__body site-content__body--chart">
|
|
|
|
<div id="map" style="width: 100%; height: 500px; margin: 0; display: block;"></div>
|
|
|
|
</article>
|
|
|
|
{{ end }}
|