Skip to content

openknowledgebe/website-v2

Repository files navigation

Open Knowledge Belgium website

The official website of Open Knowledge Belgium — an umbrella organisation (vzw/asbl) for the many open-knowledge and open-data initiatives in Belgium.

Live site License: MIT Deploy to GitHub Pages

It's a fast, static site built with Astro. All content lives as plain Markdown in this repo, so it's easy to read, review, and contribute to — no CMS or login required.


✨ Contributing

We welcome contributions from the community — fixing a typo, adding a story, updating an activity, or improving the site itself.

The easiest way: edit a Markdown file straight on GitHub (use the ✏️ button on any file) and open a pull request. For anything bigger, fork the repo and run it locally (below).

Common edits:

I want to… Edit
Publish a story / blog post add a file in src/content/stories/
Add or update an activity / project a file in src/content/activities/
Change the Home / About / Team pages src/content/pages/
Update navigation, footer, contact src/config/site.ts

See Editing content for the field details. Every pull request gets a preview build, and once merged it deploys to openknowledge.be automatically.

🚀 Run it locally

Requires Node.js 22+ and pnpm.

pnpm install
pnpm dev        # http://localhost:4321
pnpm build      # production build → dist/
pnpm preview    # preview the production build

🧩 Tech stack

Framework Astro — static output
Interactivity & animation React islands + motion (scroll reveals, hover)
Styling Tailwind CSS + the Relume design system + OKBE brand tokens
Content Markdown via Astro content collections
Hosting GitHub Pages (auto-deploy on push to main)

📁 Project structure

src/
├── components/
│   ├── react/     # interactive/animated islands (Hero, Navbar, grids, newsletter…)
│   └── ui/        # design-system primitives (button, card, input)
├── content/
│   ├── stories/    # blog posts (Markdown)
│   ├── activities/ # projects & communities (Markdown)
│   └── pages/      # Home / About / Team (Markdown frontmatter)
├── config/site.ts  # nav, footer, socials, contact — one place
├── layouts/        # page shell + SEO/head
├── lib/            # content helpers
├── pages/          # routes
└── styles/         # global styles + article typography
public/uploads/     # images, referenced with absolute /uploads/… paths

📝 Editing content

All content is plain Markdown with a small YAML frontmatter block at the top.

A storysrc/content/stories/<yyyymmdd-slug>.md

---
title: Your headline
date: 2026-01-31
author: Your name
tags: [open data, event]
excerpt: One-sentence summary (optional).
---
Your post, in Markdown. Images go in public/uploads/stories/<slug>/ and are
referenced like /uploads/stories/<slug>/photo.jpg

An activitysrc/content/activities/<slug>.md

  • status: active lists it under “Active now”; status: past (the default) files it under “Past activities”. When nothing is active, the site invites people to start something.
  • Other fields: name, logo, tags, to (website), catchphrase, featured_image, contact_info, members.

Home / About / Teamsrc/content/pages/{home,about,team}.md.

🎨 Brand

  • Deep purple #301948 and electric purple #641bff
  • Headings in Work Sans, body in Chivo

📣 Newsletter

The signup form posts to an n8n automation (automation.openknowledge.be) that stores subscribers. The endpoint lives in src/config/site.ts.

📄 License

Code is released under the MIT License. Site content is © Open Knowledge Belgium, shared under CC BY 4.0 unless noted otherwise.

About

Open Knowledge Belgium website (v2) — Astro rebuild of openknowledge.be

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors