A community-driven website showcasing tech events and meetups in Aarhus, Denmark.
This project aggregates information about various technology communities and their events in Aarhus, including JavaScript, Rust, Swift, Ruby, and more.
- Astro - Static site generator
- Preact - Interactive UI components
- Tailwind CSS - Styling
- Bun - JavaScript runtime and package manager
/
├── public/ # Static assets
├── src/
│ ├── content/ # Content collections
│ │ ├── event/ # Event markdown files (organized by language)
│ │ │ ├── js/
│ │ │ ├── rust/
│ │ │ ├── swift/
│ │ │ └── ruby/
│ │ └── organizer/ # Organizer information
│ ├── pages/ # Astro pages
│ └── components/ # UI components
└── package.json
- Bun (v1.3.1 or higher)
bun installStart the local dev server:
bun run devThe site will be available at http://localhost:4321
Build for production:
bun run buildPreview the production build:
bun run previewYou can add events and organizers directly through the GitHub web interface - no need to clone the repository or create a PR manually!
- Navigate to the appropriate language directory on GitHub (e.g.,
src/content/event/js/) - Click "Add file" → "Create new file"
- Use the template from
src/content/event/_template.mdas a reference - Name your file (the filename will be used as the URL slug)
- Fill in the event details in the frontmatter
- Add event description and details in the content body
- Commit the file - this will automatically create a PR for review
Alternatively, you can work locally:
- Copy the template file
src/content/event/_template.md - Place it in the appropriate language directory (e.g.,
js/,rust/,swift/,ruby/) - Rename the file and fill in the details
- Create a PR with your changes
- Navigate to
src/content/organizer/on GitHub - Click "Add file" → "Create new file"
- Use the template from
src/content/organizer/_template.mdas a reference - Name the file to match your organizer's ID
- Fill in the organizer details
- Commit the file - this will automatically create a PR for review
Or work locally by copying src/content/organizer/_template.md and creating a PR.
| Command | Action |
|---|---|
bun install |
Installs dependencies |
bun run dev |
Starts local dev server at localhost:4321 |
bun run build |
Build your production site to ./dist/ |
bun run preview |
Preview your build locally, before deploying |
bun run astro ... |
Run CLI commands like astro add, astro check |
bun run astro --help |
Get help using the Astro CLI |
If you see an error that port 4321 is already in use:
# Find the process using the port
lsof -ti:4321
# Kill the process
kill -9 $(lsof -ti:4321)
# Or start on a different port
bun run dev -- --port 3000# Run type checking to see detailed errors
bun run astro check
# Clear cache and rebuild
rm -rf dist .astro
bun run buildIf you encounter issues installing Bun, refer to the official Bun installation guide.
- Ensure the markdown file has valid frontmatter
- Check that the file is in the correct directory (
src/content/event/[lang]/orsrc/content/organizer/) - Verify the frontmatter matches the schema requirements
- Restart the dev server after adding new content files
This project is designed to work with Bun. While it may work with Node.js, Bun is the recommended runtime for the best experience.
If you encounter other issues:
- Check existing GitHub issues
- Search the Astro documentation
- Open a new issue with details about your problem
Contributions are welcome! Please read our Contributing Guidelines before submitting a pull request.
- Fork the repository
- Clone your fork:
git clone https://github.com/f8nui/aarhus.dev.git - Create a branch:
git checkout -b my-feature - Make your changes
- Test locally:
bun run devandbun run build - Commit and push:
git commit -am "Add feature" && git push origin my-feature - Open a Pull Request
Please see CONTRIBUTING.md for detailed guidelines.
This project adheres to a Code of Conduct. By participating, you are expected to uphold this code.
MIT License - see LICENSE file for details