This repository contains the code for our website: https://foss4g.be .
Different branches exist for every year that we organised. For past editions, all uploaded content has been added to the repo using git LFS.
To run this site on your own computer you need php and for most years mysql. You can use the deploy scripts ansible for a full deploy or to get inspiration.
This project is built with Nuxt 3 and Tailwind CSS. It generates a static, mobile-first, bento-grid–style site for the FOSS4G Belgium conference.
- Node.js ≥ 22.x (LTS recommended—see https://nodejs.org/)
- npm (comes with Node.js)
- Git for cloning
🛠️ Setup
- Clone the repo
git clone https://github.com/OSGeo-be/foss4g.be
cd foss4g.be
- Install dependencies
npm install
No additional API keys or environment variables are required.
- Start local dev server
npm run dev
Visit http://localhost:3000.
- Build & generate static site
npm run generate
- Fully static output generated in
.output/public
- You can preview this build using
npx serve .output/public
- You can now deploy
.output/public
to any static hosting
Command | Description |
---|---|
npm run dev |
Start Nuxt in development mode |
npm run generate |
Generate fully static site into dist/ |
├── assets/ # Uncompiled assets (styles, images)
├── components/ # Vue components (EventCard.vue, etc.)
├── composables/ # Custom composables (useSwipe.ts, etc.)
├── layouts/ # Application layouts
├── pages/ # Nuxt page components
│ ├── index.vue # Landing page
│ ├── sponsors.vue # Call for Sponsors page
│ └── schedule.vue # Schedule page
├── public/ # Static files (SVGs, PNGs)
├── nuxt.config.ts # Nuxt config (Tailwind, modules, generation options)
├── tailwind.config.ts # Tailwind CSS config
└── package.json # npm scripts & dependencies
Any improvements, fixes, or enhancements are very welcome! Simply push your changes to this branch;
To add translations, add them in the locales
folder.
If the translation key doesn't exist yet, you'll need to add it in the three different languages: en
, fr
, and nl
but also in the template files in the pages
folder.
To add a sponsor:
- add the logo in the
public/sponsors
folder - add a record in the
sponsors
variable in thepages/sponsors.vue
file