Welcome to the source repository for the official website of Randonneurs Belarus!
This site is statically generated using Astro, styled with Tailwind CSS 4 and Preline UI, and its entire content is managed without a traditional database. Instead, data lives in this repository as Markdown/JSON files (managed via Obsidian) and is synchronized with a Notion Headless CMS.
Our goal is to build a "ready, alive website" that minimizes technical debt and maximizes content velocity. To achieve this, we treat Content as Data and the Site as a Static Viewer. Content editors manage markdown files seamlessly, Astro securely compiles those files into a blazing-fast static site, and Artificial Intelligence (via Gemini) accelerates our development workflow.
By avoiding heavy databases and complex client-side frameworks, we ensure the project is easily maintainable by the open-source community for years to come.
You don't need to know how to code to add content to the site. We offer two ways to contribute, depending on your technical comfort level.
Note: A detailed, step-by-step guide with screenshots is available on the website itself at /how-to-contribute.
For writing Journal articles or Event announcements, we use Notion as our CMS.
- Get Access: Request an invite to the official Randonneurs Belarus Notion Workspace.
- Draft: Create a new page in the
EventsorJournaldatabase. Write your text and fill in the required properties (Date, Distance, etc.). - Review: Change the page status to
Review. Our automated bot will create a preview link and paste it into the Notion page so you can see how it looks on the site. - Publish: Once approved by an admin, the status changes to
Published, and the content goes live. Translation links (Crowdin) will automatically appear in Notion.
For managing complex data (like GPS Routes, Clubs, or deep site structure), or if you prefer local Markdown tools:
- Get the Repository: Clone this repository to your computer using Git or GitHub Desktop.
- Open the Vault: Install Obsidian and open the
rbelbyfolder as your vault. - Edit and Commit: Create/edit Markdown files. Ensure your YAML frontmatter is correct. Commit and push your changes to the
mainbranch.
The site uses a Static-First Architecture. If you want to contribute code, please read our CONTRIBUTING.md guide.
Tech Stack Summary: Astro 6.x, Tailwind CSS 4, Preline UI (Vanilla JS), and a Flat-File CMS (rbelby/).
- No React/Vue/Svelte: The project relies exclusively on
.astrocomponents. Interactivity must use Vanilla JS. - Content as Data: Do not hardcode content into components.
- Single Source of Truth: Read our Constitution for the absolute architectural rules.
- 🤖 AI Instructions:
GEMINI.md - 🤝 Contributing & Workflow:
CONTRIBUTING.md - 🏗️ Architecture Rules:
docs/CONSTITUTION.md - 🗺️ Roadmap & Milestones:
docs/ROADMAP.md - 📝 Active Specs:
docs/specs/
This site is automatically deployed via Cloudflare Pages. Pushes to the main branch trigger a production build (npm run build).
Developed with ❤️ and Gemini CLI.