Freewheeling
A website for calculating how far you can ride your bike without pedalling.
To run, it requires a file named 'roads.dat', which contains road data for all of Norway. This file is almost 700 MB large, so it is not included here. It can be downloaded from the Freewheeling website. At some point, I may add the code for generating the file to this repository.
This repository requires emscripten in order to build webassembly from the C++ code in the native folder. Before you can run npm run build or npm run build:emscripten, the emcc binary needs to be added to the PATH.
To initialize
Install all required packages by running npm ci. Next, build the WebAssembly code needed for route calculations by running npm run build:emscripten.
To run
First, run npm run build:emscripten, then run npx vite.
To build
Run npm run build. This will first run the emscripten build, and then the typescript build. The resulting website ends up in the dist/ folder.
Attributions
This library uses the leaflet library, which is licensed under the 2-clause BSD license. It also uses the leaflet-geoman-free, hue-map, and proj4 libraries, which are licensed under the MIT license.. It also uses typescript definitions for leaflet and geojson, which are also licensed under the MIT license.
The SVG icons used for creating and deleting map areas, as well as the favicon for the webiste, are copied, unaltered, from Font Awesome, and are licensed under the Creative Commons Attribution 4.0 International license. The colored map markers are from the leaflet-color-markers library, and are licensed under the 2-clause BSD license.