
* New translations map-controls.mdx (Lithuanian) * New translations map-controls.mdx (Dutch) * New translations map-controls.mdx (Norwegian) * New translations map-controls.mdx (Polish) * New translations map-controls.mdx (Portuguese) * New translations map-controls.mdx (Russian) * New translations map-controls.mdx (Swedish) * New translations map-controls.mdx (Chinese Simplified) * New translations map-controls.mdx (Vietnamese) * New translations map-controls.mdx (Portuguese, Brazilian) * Update source file map-controls.mdx * New translations en.json (Dutch) * New translations en.json (Swedish) * New translations en.json (Dutch) * New translations en.json (Swedish) * New translations files-and-stats.mdx (Dutch) * New translations getting-started.mdx (Dutch) * New translations gpx.mdx (Dutch) * New translations translation.mdx (Dutch) * New translations map-controls.mdx (Dutch) * New translations edit.mdx (Dutch) * New translations file.mdx (Dutch) * New translations settings.mdx (Dutch) * New translations toolbar.mdx (Dutch) * New translations file.mdx (Dutch) * New translations settings.mdx (Dutch) * New translations view.mdx (Dutch) * New translations routing.mdx (Dutch) * New translations scissors.mdx (Dutch) * New translations time.mdx (Dutch) * Update source file en.json * New translations en.json (Romanian) * New translations en.json (French) * New translations en.json (Spanish) * New translations en.json (Catalan) * New translations en.json (Czech) * New translations en.json (German) * New translations en.json (Greek) * New translations en.json (Hungarian) * New translations en.json (Italian) * New translations en.json (Lithuanian) * New translations en.json (Dutch) * New translations en.json (Norwegian) * New translations en.json (Polish) * New translations en.json (Portuguese) * New translations en.json (Russian) * New translations en.json (Swedish) * New translations en.json (Chinese Simplified) * New translations en.json (Vietnamese) * New translations en.json (Portuguese, Brazilian) * New translations map-controls.mdx (Portuguese, Brazilian) * New translations view.mdx (Portuguese, Brazilian) * New translations minify.mdx (Dutch) * New translations scissors.mdx (Portuguese, Brazilian) * New translations en.json (Italian) * New translations en.json (Catalan) * New translations gpx.mdx (Dutch) * New translations funding.mdx (Dutch) * New translations mapbox.mdx (Dutch) * New translations en.json (Italian) * New translations scissors.mdx (Italian) * New translations en.json (French) * New translations en.json (French) * New translations files-and-stats.mdx (Romanian) * New translations files-and-stats.mdx (French) * New translations files-and-stats.mdx (Spanish) * New translations files-and-stats.mdx (Catalan) * New translations files-and-stats.mdx (Czech) * New translations files-and-stats.mdx (German) * New translations files-and-stats.mdx (Greek) * New translations files-and-stats.mdx (Hungarian) * New translations files-and-stats.mdx (Italian) * New translations files-and-stats.mdx (Lithuanian) * New translations files-and-stats.mdx (Dutch) * New translations files-and-stats.mdx (Norwegian) * New translations files-and-stats.mdx (Polish) * New translations files-and-stats.mdx (Portuguese) * New translations files-and-stats.mdx (Russian) * New translations files-and-stats.mdx (Swedish) * New translations files-and-stats.mdx (Chinese Simplified) * New translations files-and-stats.mdx (Vietnamese) * New translations files-and-stats.mdx (Portuguese, Brazilian) * New translations edit.mdx (French) * New translations file.mdx (French) * New translations view.mdx (Romanian) * New translations view.mdx (French) * New translations view.mdx (Spanish) * New translations view.mdx (Catalan) * New translations view.mdx (Czech) * New translations view.mdx (German) * New translations view.mdx (Greek) * New translations view.mdx (Hungarian) * New translations view.mdx (Italian) * New translations view.mdx (Lithuanian) * New translations view.mdx (Dutch) * New translations view.mdx (Norwegian) * New translations view.mdx (Polish) * New translations view.mdx (Portuguese) * New translations view.mdx (Russian) * New translations view.mdx (Swedish) * New translations view.mdx (Chinese Simplified) * New translations view.mdx (Vietnamese) * New translations view.mdx (Portuguese, Brazilian) * Update source file files-and-stats.mdx * Update source file view.mdx * New translations en.json (French) * New translations settings.mdx (Romanian) * New translations settings.mdx (French) * New translations settings.mdx (Spanish) * New translations settings.mdx (Catalan) * New translations settings.mdx (Czech) * New translations settings.mdx (German) * New translations settings.mdx (Greek) * New translations settings.mdx (Hungarian) * New translations settings.mdx (Italian) * New translations settings.mdx (Lithuanian) * New translations settings.mdx (Dutch) * New translations settings.mdx (Norwegian) * New translations settings.mdx (Polish) * New translations settings.mdx (Portuguese) * New translations settings.mdx (Russian) * New translations settings.mdx (Swedish) * New translations settings.mdx (Chinese Simplified) * New translations settings.mdx (Vietnamese) * New translations settings.mdx (Portuguese, Brazilian) * New translations view.mdx (French) * New translations toolbar.mdx (French) * New translations clean.mdx (French) * New translations routing.mdx (French) * Update source file settings.mdx * New translations clean.mdx (French) * New translations extract.mdx (French) * New translations merge.mdx (French) * New translations minify.mdx (French) * New translations poi.mdx (French) * New translations routing.mdx (French) * New translations scissors.mdx (French) * New translations time.mdx (French) * New translations en.json (French) * New translations files-and-stats.mdx (French) * New translations gpx.mdx (French) * New translations funding.mdx (French) * New translations integration.mdx (French) * New translations map-controls.mdx (Romanian) * New translations map-controls.mdx (French) * New translations map-controls.mdx (Spanish) * New translations map-controls.mdx (Catalan) * New translations map-controls.mdx (Czech) * New translations map-controls.mdx (German) * New translations map-controls.mdx (Greek) * New translations map-controls.mdx (Hungarian) * New translations map-controls.mdx (Italian) * New translations map-controls.mdx (Lithuanian) * New translations map-controls.mdx (Dutch) * New translations map-controls.mdx (Norwegian) * New translations map-controls.mdx (Polish) * New translations map-controls.mdx (Portuguese) * New translations map-controls.mdx (Russian) * New translations map-controls.mdx (Swedish) * New translations map-controls.mdx (Chinese Simplified) * New translations map-controls.mdx (Vietnamese) * New translations map-controls.mdx (Portuguese, Brazilian) * New translations settings.mdx (French) * New translations view.mdx (French) * New translations routing.mdx (Romanian) * New translations routing.mdx (French) * New translations routing.mdx (Spanish) * New translations routing.mdx (Catalan) * New translations routing.mdx (Czech) * New translations routing.mdx (German) * New translations routing.mdx (Greek) * New translations routing.mdx (Hungarian) * New translations routing.mdx (Italian) * New translations routing.mdx (Lithuanian) * New translations routing.mdx (Dutch) * New translations routing.mdx (Norwegian) * New translations routing.mdx (Polish) * New translations routing.mdx (Portuguese) * New translations routing.mdx (Russian) * New translations routing.mdx (Swedish) * New translations routing.mdx (Chinese Simplified) * New translations routing.mdx (Vietnamese) * New translations routing.mdx (Portuguese, Brazilian) * Update source file map-controls.mdx * Update source file routing.mdx * New translations en.json (French) * New translations getting-started.mdx (French) * New translations map-controls.mdx (French) * New translations map-controls.mdx (Italian) * New translations routing.mdx (Italian) * New translations en.json (Italian) * New translations en.json (Chinese Simplified) * New translations files-and-stats.mdx (Chinese Simplified) * New translations view.mdx (Chinese Simplified) * New translations en.json (Chinese Simplified) * New translations translation.mdx (Italian) * New translations menu.mdx (Italian) * New translations edit.mdx (Italian) * New translations settings.mdx (Italian) * New translations en.json (Italian) * New translations routing.mdx (Italian) * New translations settings.mdx (Portuguese, Brazilian) * New translations view.mdx (Portuguese, Brazilian) * New translations en.json (Spanish) * New translations files-and-stats.mdx (Spanish) * New translations map-controls.mdx (Spanish) * New translations settings.mdx (Spanish) * New translations view.mdx (Spanish) * New translations routing.mdx (Spanish) * New translations scissors.mdx (Spanish) * New translations mapbox.mdx (Dutch) * New translations mapbox.mdx (Dutch) * New translations integration.mdx (Dutch) * New translations map-controls.mdx (Dutch) * New translations en.json (Catalan) * New translations funding.mdx (Catalan) * New translations translation.mdx (Catalan) * New translations settings.mdx (Catalan) * New translations mapbox.mdx (Dutch) * New translations map-controls.mdx (Dutch) * New translations menu.mdx (Dutch) * New translations file.mdx (Dutch) * New translations view.mdx (Dutch) * New translations view.mdx (Dutch) * New translations toolbar.mdx (Dutch) * New translations clean.mdx (Dutch) * New translations extract.mdx (Dutch) * New translations merge.mdx (Dutch) * New translations minify.mdx (Dutch) * New translations minify.mdx (Dutch) * New translations poi.mdx (Dutch) * New translations en.json (Dutch) * New translations poi.mdx (Dutch) * New translations routing.mdx (Dutch) * New translations routing.mdx (Dutch) * New translations en.json (Dutch) * New translations routing.mdx (Dutch) * New translations en.json (Dutch) * New translations files-and-stats.mdx (Dutch) * New translations funding.mdx (Dutch) * New translations map-controls.mdx (Dutch) * New translations settings.mdx (Dutch) * New translations view.mdx (Dutch) * New translations routing.mdx (Dutch) * New translations en.json (Polish) * New translations en.json (Polish) * New translations funding.mdx (Italian) * New translations funding.mdx (Italian) * New translations mapbox.mdx (Italian) * New translations translation.mdx (Italian)
gpx.studio is an online tool for creating and editing GPX files.
This repository contains the source code of the new website, currently available here.
Contributing
Please create an issue if you find a bug or have a feature request.
Code contributions are also welcome, but except for obvious bug fixes, please open an issue first to discuss the changes you would like to make.
Translation
The website is translated by volunteers on a collaborative translation platform. You can help complete and improve the translations by joining the Crowdin project. If you would like to start the translation in a new language, please contact me or create an issue.
Any help is greatly appreciated!
Development
The code is split into two parts:
gpx
: a Typescript library for parsing and manipulating GPX files,website
: the website itself, which is a SvelteKit application.
You will need Node.js to build and run these two parts.
Building the gpx
library
cd gpx
npm install
npm run build
Running the website
To be able to load the map, you will need to create your own Mapbox access token and store it in a .env
file in the website
directory.
cd website
echo PUBLIC_MAPBOX_TOKEN={YOUR_MAPBOX_TOKEN} >> .env
npm install
npm run dev
Credits
This project has been made possible thanks to the following open source projects:
- Development:
- Svelte and SvelteKit — seamless development experience
- MDsveX — allowing a Markdown-based documentation
- svelte-i18n — easy localization
- Design:
- shadcn-svelte — beautiful components
- lucide-svelte — beautiful icons
- tailwindcss — easy styling
- Chart.js — beautiful and fast charts
- Logic:
- immer — complex state management
- Dexie.js — IndexedDB wrapper
- fast-xml-parser — fast GPX file parsing
- SortableJS — creating a sortable file tree
- Mapping:
- Mapbox GL JS — beautiful and fast interactive maps
- brouter — routing engine
- OpenStreetMap — map data used by Mapbox and brouter
License
This project is licensed under the MIT License - see the LICENSE file for details.