Freewheeling/README.md
2025-07-02 17:13:44 +02:00

21 lines
2.1 KiB
Markdown

# 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.](https://freewheeling.martinserver.no) 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](https://leafletjs.com/) library, which is licensed under the [2-clause BSD license](https://opensource.org/license/bsd-2-clause). It also uses the [leaflet-geoman-free](https://geoman.io/docs/leaflet/), [hue-map](https://github.com/giraugh/hue-map), and [proj4](http://proj4js.org/) libraries, which are licensed under the [MIT license.](https://opensource.org/license/mit). It also uses typescript definitions for [leaflet](https://www.npmjs.com/package/@types/leaflet) and [geojson](https://www.npmjs.com/package/@types/geojson), which are also licensed under the [MIT license](https://opensource.org/license/mit).
The SVG icons used for creating and deleting map areas, as well as the favicon for the webiste, are copied, unaltered, from [Font Awesome](https://fontawesome.com), and are licensed under the [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/) license. The colored map markers are from the [leaflet-color-markers](https://github.com/pointhi/leaflet-color-markers) library, and are licensed under the [2-clause BSD license](https://opensource.org/license/bsd-2-clause).