A small, fast, community-driven site for parkour & freerunning in the Netherlands.
Live site
- Everything in one place! Central place for curated spots, jams, open-gym schedules and community links.
- Easy quick access to the Dutch Freerun Community. Lightning-fast frontend using SvelteKit and Tailwind; optimized for mobile first.
- Always up to date! Content is easy to update (Google Calendar for events, static files / JSON for spots and links).
- 📍 Spots: curated spot lists and city resources with map links.
- 🗓️ Jams & Events: pulled from Google Calendar and displayed in the UI.
- 🏋️ Open Gyms: schedules synced from Google Calendar.
- 🧭 Tools: Gym Finder, Spot Map Finder and other small utilities.
- 🔗 Community Links: WhatsApp groups, Instagram, playlists and partner sites.
- 📨 User Contributions: Forms connected to Telegram for easy community input.
- 🍿 JUMPFLIX: A collection of documentaries and playlists related to parkour and freerunning.
Follow these steps in PowerShell (Windows):
npx degit https://github.com/m-a-x-s-e-e-l-i-g/pkfr-nl pkfr-nl
cd pkfr-nl
npm install
npm run dev -- --openNotes
- You need Node.js + npm installed. The site uses the commands defined in
package.json. - Add credentials to a local
.env(or.env.local) for any Google API keys or calendar IDs used by the app.
- Site text / navigation:
src/lib/config.js— update titles, nav items and copy here. - Components:
src/lib/components/— modular Svelte components (Header, Footer, PlacelistFilter, InputCollector, calendar widgets). - Static assets:
static/andbuild/contain images and the production output. - Data: calendars (Jams / Open Gyms) are configured via Google Calendar IDs and an API key (stored in env).
- Events (Jams) and Open Gyms are managed in Google Calendar. The site reads calendar events via the configured calendar IDs.
- To update a jam or open gym, edit the event in the corresponding Google Calendar or open an issue/PR if you need help.
- Build the site:
npm run build- Preview the production build locally:
npm run preview- Netlify is already configured for this project (see
netlify.toml) — CI runsnpm run buildand publishes thebuild/output.
- Make contributions via PRs or open issues for content changes or code fixes.
- For content-only changes, edit the relevant JSON/JS under
src/lib/or add assets tostatic/. - For Jam, Open Gym, Spot contributions, please use the provided forms on the website.
- See
LICENSEin the repository for the project license and attribution details.