Skip to content

Commit 05a9b30

Browse files
committed
feat: change icon of selected spot, add traces, fix license
1 parent f441960 commit 05a9b30

9 files changed

Lines changed: 1085 additions & 234 deletions

File tree

.release-it.json

Lines changed: 0 additions & 18 deletions
This file was deleted.

LICENSE

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@ Copyright (c) 2026 Vincent Emonet and contributors
66
This repository holds three different kinds of thing, and they cannot all carry
77
the same licence. Which one applies depends on the file:
88

9-
public/alpine-mtb-map.kml ODbL 1.0 (section 1)
10-
public/alpine-mtb-map.gpx
11-
public/alpine-mtb-map.geojson
9+
alpine-mtb-map.kml ODbL 1.0 (section 1)
1210

1311
src/, scripts/, index.html, MIT (section 2)
1412
vite.config.js, package.json, .github/
@@ -21,8 +19,7 @@ property of, OpenStreetMap, OpenTopoMap (CC BY-SA) and CyclOSM.
2119
1. MAP DATA - Open Database License (ODbL) v1.0
2220
-------------------------------------------------------------------------------
2321

24-
Covers public/alpine-mtb-map.kml, public/alpine-mtb-map.gpx and
25-
public/alpine-mtb-map.geojson.
22+
Covers alpine-mtb-map.kml
2623

2724
These files contain information derived from OpenStreetMap. The trail
2825
geometries (the <LineString> / LineString coordinates) were extracted from

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ Three different things live in this repo, so three licences. All three are in [`
6666

6767
If you redistribute the KML, GPX or GeoJSON - or anything built from them - keep this notice:
6868

69-
> Data &copy; OpenStreetMap contributors, available under the [ODbL](https://www.openstreetmap.org/copyright).
69+
> Data: OpenStreetMap contributors, available under the [ODbL](https://www.openstreetmap.org/copyright).
7070
7171
Base map tiles are served by [OpenStreetMap](https://www.openstreetmap.org/copyright), [OpenTopoMap](https://opentopomap.org/) (CC BY-SA) and [CyclOSM](https://www.cyclosm.org/); they are not redistributed here.
7272

73-
Prices and timetables were compiled in July 2026 from the operators' own sites (TVGD, TLML, Moléson, MyCMA, Verbier 4Vallées, Portes du Soleil, Châtel, Charmey, Téléphérique du Salève, Les 2 Alpes, Magic Pass, Métabief, Pila, Chamonix Mont-Blanc, Les Arcs, Auron, Isola 2000, Valberg, La Colmiane, Val di Sole Bikeland, Whistler Blackcomb, Mont-Sainte-Anne, Fujimi Panorama, Saalfelden Leogang, Saalbach Hinterglemm, Planai, Serfaus-Fiss-Ladis, Sölden, Muttereralm, MTB Zone Petzen, Flims Laax, Davos Klosters, Bergbahnen Scuol, Engelberg-Titlis, Flumserberg, Engadin St. Moritz, Les Gets, Morzine, La Clusaz, Grand Massif, Tignes, Serre Chevalier, SilverStar, Sun Peaks, Fernie, Tremblant, Bromont, Hakuba Iwatake, Fujiten, Thredbo, Nevados de Chillan, Catedral Alta Patagonia, La Parva, Buen Camino, Old Town Outfitters, Kronplatz, Dolomiti Paganella, Moviment Alta Badia, Eggental Carezza, Bikepark Spicak, SKI Kranjska Gora, Silvretta Montafon, Bikepark Brandnertal, Mayrhofner Bergbahnen, Kitzsteinhorn, Les Menuires, Antur Stiniog, Revolution Bike Park, Bike Park Ireland, Big White, Cerro Chapelco, Bike Glendhu, Elevation Mystic) and are indications, not quotes. Check before you travel.
73+
Prices and timetables were compiled in July 2026 from the operators' own sites and are indications, not quotes. Check before you travel.

alpine-mtb-map.kml

Lines changed: 719 additions & 179 deletions
Large diffs are not rendered by default.

index.html

Lines changed: 46 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,12 @@ <h1><img class="logo" src="./icon.png" alt="" width="24" height="24" />Alpine MT
333333
></span
334334
>Black</label
335335
>
336+
<label
337+
><input class="filter" type="checkbox" data-line-color="orange" checked /><span
338+
class="dot line-orange"
339+
></span
340+
>Orange</label
341+
>
336342
</fieldset>
337343
</div>
338344
</details>
@@ -358,6 +364,29 @@ <h1><img class="logo" src="./icon.png" alt="" width="24" height="24" />Alpine MT
358364
<span>💰 Day pass up to <output id="price-day-out">any</output></span>
359365
<input id="price-day" type="range" min="0" max="75" step="5" value="75" />
360366
</label>
367+
<label class="range stacked">
368+
<span>📏 Trace length <output id="trace-length-out">any</output></span>
369+
<span class="dual-range" id="trace-length-range">
370+
<input
371+
id="trace-length-min"
372+
type="range"
373+
min="0"
374+
max="16"
375+
step="1"
376+
value="0"
377+
aria-label="Shortest trace length to show"
378+
/>
379+
<input
380+
id="trace-length-max"
381+
type="range"
382+
min="0"
383+
max="16"
384+
step="1"
385+
value="16"
386+
aria-label="Longest trace length to show"
387+
/>
388+
</span>
389+
</label>
361390
<fieldset>
362391
<!-- <legend>Optional requirements</legend> -->
363392
<label
@@ -706,10 +735,11 @@ <h2>About this map</h2>
706735
<path d="M2.5 11.5v1a1.5 1.5 0 0 0 1.5 1.5h8a1.5 1.5 0 0 0 1.5-1.5v-1" />
707736
</svg>
708737
<span>
709-
<b>Take it offline.</b> Download the whole map as KML, GPX or GeoJSON in one click, and
710-
open it in <a href="https://www.comaps.app/" target="_blank" rel="noopener">CoMaps</a>,
738+
<b>Take it offline.</b> One click downloads the whole map, every trace of one spot, or a
739+
single trace, as KML, GPX or GeoJSON. Open it in
740+
<a href="https://www.comaps.app/" target="_blank" rel="noopener">CoMaps</a>,
711741
<a href="https://organicmaps.app/" target="_blank" rel="noopener">Organic Maps</a>
712-
or OsmAnd. This site is just a convenient way to browse the same file.
742+
or OsmAnd. Whatever you have hidden is left out, so the file is the map you built.
713743
</span>
714744
</li>
715745
<li>
@@ -743,20 +773,21 @@ <h2>About this map</h2>
743773
<summary><h3>Why another MTB map?</h3></summary>
744774
<p>
745775
Finding a good spot usually means trawling a dozen resort sites, none of which tell you in
746-
one place what the trails are like, how the lift works and what it costs. And once you
747-
have picked somewhere, there is rarely a KML or GPX to drop into your GPS app.
748-
</p>
749-
<p>
750-
Then getting those trails onto your phone is its own chore: export them one by one, often
751-
behind a login screen or a paywall, then import each file into your GPS app. Here the
752-
whole map is a single download, no account needed.
776+
one place what the trails are like, how the lift works and what it costs.
753777
</p>
778+
<p>Trailforks has the coverage, but getting a weekend onto your phone runs into:</p>
779+
<ul>
780+
<li>GPX and KML downloads sit behind a subscription, around 2.50 a month.</li>
781+
<li>Traces come one at a time, so a trip means a dozen exports and a dozen imports.</li>
782+
<li>Trails carry no description of the riding, the lift or the price.</li>
783+
<li>
784+
Every discipline shares one map, so the gravity lines sit among XC and other riding you
785+
have to sift through.
786+
</li>
787+
</ul>
754788
<p>
755-
Sites like Trailforks are useful, but the good riding gets lost in the noise: filters do
756-
not narrow enough, and many mapped routes are uninteresting dirt roads or impractical
757-
hiking trails tagged for MTB, sometimes closer to alpinism than mountain biking. And these
758-
sites ask for a subscription to access their data, which is a barrier to sharing and
759-
offline use. This map is curated, free and open.
789+
Here the traces are curated for gravity riding, described in plain words, and free to
790+
download whole, per spot or one at a time, with no account.
760791
</p>
761792
</details>
762793
<details class="about-details">

package.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,5 +40,23 @@
4040
},
4141
"allowScripts": {
4242
"fsevents@2.3.3": true
43+
},
44+
"release-it": {
45+
"$schema": "https://unpkg.com/release-it/schema/release-it.json",
46+
"git": {
47+
"commitMessage": "chore: release v${version}",
48+
"tagName": "v${version}",
49+
"tagAnnotation": "v${version}",
50+
"changelog": "git-cliff --unreleased --strip all"
51+
},
52+
"npm": {
53+
"publish": false
54+
},
55+
"github": {
56+
"release": false
57+
},
58+
"hooks": {
59+
"after:bump": "git-cliff --tag v${version} --output CHANGELOG.md"
60+
}
4361
}
4462
}

src/lib/kml-export.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ export const KINDS: Record<string, Kind> = {
2727
"line-blue": "trail",
2828
"line-red": "trail",
2929
"line-black": "trail",
30+
"line-orange": "trail",
3031
"line-trail": "trail",
3132
};
3233

0 commit comments

Comments
 (0)