103 lines
4.4 KiB
HTML
103 lines
4.4 KiB
HTML
<!DOCTYPE html>
|
|
<!-- WARNING: index.html serves as a template. If you want to change something, change it there -->
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta content="width=device-width, initial-scale=1.0, user-scalable=no" name="viewport">
|
|
<link href="./css/mobile.css" rel="stylesheet"/>
|
|
<link href="./css/openinghourstable.css" rel="stylesheet"/>
|
|
<link href="./css/tagrendering.css" rel="stylesheet"/>
|
|
<link href="css/ReviewElement.css" rel="stylesheet"/>
|
|
<link href="./css/index-tailwind-output.css" rel="stylesheet"/>
|
|
<link href="./css/wikipedia.css" rel="stylesheet"/>
|
|
<meta content="website" property="og:type">
|
|
|
|
<!-- THEME-SPECIFIC -->
|
|
<!-- Every theme gets their own html page, this is created by a script; this part will be removed except for the index -->
|
|
<title>MapComplete</title>
|
|
<link href="./assets/svg/add.svg" rel="icon" sizes="any" type="image/svg+xml">
|
|
<meta content="./assets/SocialImage.png" property="og:image">
|
|
<meta content="MapComplete - editable, thematic maps with OpenStreetMap" property="og:title">
|
|
<meta content="MapComplete is a platform to visualize OpenStreetMap on a specific topic and to easily contribute data back to it."
|
|
property="og:description">
|
|
|
|
<link href="./assets/generated/images/assets_svg_mapcomplete_logo512.png" rel="apple-touch-icon" sizes="512x512">
|
|
<link href="./assets/generated/images/assets_svg_mapcomplete_logo384.png" rel="apple-touch-icon" sizes="384x384">
|
|
<link href="./assets/generated/images/assets_svg_mapcomplete_logo192.png" rel="apple-touch-icon" sizes="192x192">
|
|
<link href="./assets/generated/images/assets_svg_mapcomplete_logo180.png" rel="apple-touch-icon" sizes="180x180">
|
|
<link href="./assets/generated/images/assets_svg_mapcomplete_logo152.png" rel="apple-touch-icon" sizes="152x152">
|
|
<link href="./assets/generated/images/assets_svg_mapcomplete_logo144.png" rel="apple-touch-icon" sizes="144x144">
|
|
<link href="./assets/generated/images/assets_svg_mapcomplete_logo128.png" rel="apple-touch-icon" sizes="128x128">
|
|
<link href="./assets/generated/images/assets_svg_mapcomplete_logo120.png" rel="apple-touch-icon" sizes="120x120">
|
|
<link href="./assets/generated/images/assets_svg_mapcomplete_logo96.png" rel="apple-touch-icon" sizes="96x96">
|
|
<link href="./assets/generated/images/assets_svg_mapcomplete_logo72.png" rel="apple-touch-icon" sizes="72x72">
|
|
|
|
<!-- THEME-SPECIFIC-END-->
|
|
|
|
</head>
|
|
<body>
|
|
|
|
|
|
<span class="absolute" id="belowmap" style="z-index: -1; visibility: hidden">Below</span>
|
|
<div id="maindiv" class="h-full">
|
|
<div id="default-main">
|
|
|
|
<span id="default-title">Loading MapComplete, hang on...</span>
|
|
|
|
<!-- DESCRIPTION START -->
|
|
MapComplete is an easy to use map viewer and map editor
|
|
<!-- DESCRIPTION END -->
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
|
|
let lang = ((navigator.languages && navigator.languages[0]) || navigator.language || navigator.userLanguage || 'en').substr(0, 2);
|
|
function filterLangs(maindiv){
|
|
let foundLangs = 0
|
|
for(const child of Array.from(maindiv.children)){
|
|
if(child.attributes.lang?.value === lang){
|
|
foundLangs ++
|
|
}
|
|
}
|
|
if(foundLangs === 0){
|
|
lang = "en"
|
|
}
|
|
for(const child of Array.from(maindiv.children)){
|
|
const childLang = child.attributes.lang
|
|
if(childLang === undefined){
|
|
continue
|
|
}
|
|
if(childLang.value === lang){
|
|
continue
|
|
}
|
|
child.parentElement.removeChild(child)
|
|
}
|
|
}
|
|
filterLangs( document.getElementById("default-main"))
|
|
filterLangs( document.getElementById("default-title"))
|
|
</script>
|
|
|
|
|
|
<script type="module" src="./index.ts"></script>
|
|
<script async data-goatcounter="https://pietervdvn.goatcounter.com/count" src="//gc.zgo.at/count.js"></script>
|
|
|
|
<script>
|
|
window.addEventListener('load', () => {
|
|
if ('serviceWorker' in navigator) {
|
|
// register service worker
|
|
navigator.serviceWorker.register('/service-worker.js').then(
|
|
() => {
|
|
console.log('Service worker registration successful');
|
|
},
|
|
err => {
|
|
console.error('Service worker registration failed', err)
|
|
});
|
|
} else {
|
|
console.log("Service workers are not supported")
|
|
}
|
|
});
|
|
</script>
|
|
|
|
</body>
|
|
</html>
|