Thank you for your interest in contributing to the Radio-Actief documentation platform! This guide will help you understand how to work with our Docusaurus-based documentation site.
- Fork and clone the repository
- Navigate to project directory:
cd radio-actief/ - Install dependencies:
npm install - Start development server:
npm start - Test full build locally (optional but recommended):
- Run
npm run buildto create a production build - Run
npm run serveto preview the production build locally - Note: All npm commands must be run from the
radio-actief/directory
- Run
- Read the guides below to understand our workflow
- Default Language: Dutch (Flemish) -
nl- ALWAYS START HERE - Supported Languages: Dutch (nl), English (en), French (fr)
- Dutch documentation:
radio-actief/docs/{category}/{filename}.mdx - English translations:
radio-actief/i18n/en/docusaurus-plugin-content-docs/current/{category}/{filename}.mdx - French translations:
radio-actief/i18n/fr/docusaurus-plugin-content-docs/current/{category}/{filename}.mdx
- CB Radio (
docs/cb/) - Citizens Band documentation - PMR446 / Walkietalkies (
docs/pmr446/) - PMR446 / Walkie-talkies documentation - MeshCore (
docs/meshcore/) - MeshCore networking documentation - Hardware (
docs/hardware/) - Hardware documentation - HAM / Shortwave (
docs/ham/) - HAM / Shortwave radio documentation
MANDATORY SEQUENCE:
- ✅ Step 1: Create complete Dutch version first
- ✅ Step 2: If ready and having a final version, translate to English and French (only after Dutch is complete)
- Ensures quality and consistency
- Prevents incomplete translations
- Makes review process manageable
- Maintains technical accuracy
- Always use
.mdxextension for new documentation files - MDX supports Markdown + React components
- Use
.mdonly if you have a specific reason
- Navigate to the appropriate category folder:
radio-actief/docs/{category}/ - Create file with
.mdxextension - Add frontmatter at the top:
--- sidebar_position: 2 ---
- Write complete content in Dutch (Flemish)
- Review and finalize before proceeding
Prerequisite: Dutch version must be complete, reviewed, and finalized.
Once you have a final Dutch version, you can translate to both English and French:
For English:
- Navigate to:
radio-actief/i18n/en/docusaurus-plugin-content-docs/current/ - Mirror the folder structure from Dutch version
- Copy frontmatter exactly (must be identical)
- Translate all content accurately from Dutch
- Preserve structure, headings, and code blocks
For French:
- Navigate to:
radio-actief/i18n/fr/docusaurus-plugin-content-docs/current/ - Mirror the folder structure
- Copy frontmatter exactly (must be identical)
- Translate from Dutch to French
- Preserve structure, headings, and code blocks
Note: English and French translations can be done in parallel after Dutch is complete, or sequentially - whichever works best for you.
Frontmatter must be identical across all three language versions. Only the content differs.
---
sidebar_position: 2 # Number: Lower = appears first
title: "Page Title" # String: Override H1 title
sidebar_label: "Short Name" # String: Custom sidebar label
description: "SEO summary" # String: Brief description
tags: # Array: For categorization
- tag1
- tag2
---Blog posts follow a similar workflow but use different frontmatter:
- Location:
radio-actief/blog/YYYY-MM-DD-slug.mdx - See:
radio-actief/BLOG_CONTRIBUTING.mdfor details
- Write in clear, accessible language
- Maintain technical accuracy
- Follow existing documentation style
- Keep code examples identical across languages (don't translate code)
- Use proper Markdown/MDX formatting
Before submitting:
- Dutch version is complete and reviewed
- English version is complete and reviewed (if applicable)
- French version is complete and reviewed (if applicable)
- All frontmatter is identical across languages
- File structure matches existing patterns
- Links are valid and use relative paths
- Code blocks are identical across all languages
- For AI/LLM agents: See
radio-actief/LLM_AI_AGENT_GUIDE.mdfor detailed instructions - For blog posts: See
radio-actief/BLOG_CONTRIBUTING.md - For logo processing: See
radio-actief/LOGO_INSTRUCTIONS.md(scripts inarchive/) - General questions: Open an issue or contact the maintainers
- Use
.mdxfor all new documentation files - Blog posts:
YYYY-MM-DD-slug.mdx - Category indexes:
index.mdx(notintro.mdx)
- Sidebar is configured in
sidebars.js - Use
sidebar_positionin frontmatter to control order - Category headers link to
index.mdxpages
- Internal:
/docs/category/page - External: Full URLs with
https://
- Place in
static/img/ - Reference as
/img/filename.png
:::tip
Helpful tip
:::
:::warning
Warning message
:::
:::info
Informational content
:::radio-actief/
├── docs/ # Dutch documentation (default)
├── blog/ # Blog posts
├── i18n/ # Translations (en, fr)
├── src/ # React components
├── static/ # Static assets
├── docusaurus.config.js
└── sidebars.js
Your contributions help make Radio-Actief documentation better for everyone. Thank you for taking the time to follow these guidelines!