This guide covers the main configuration files and options for Dzaleka Online Services.Documentation Index
Fetch the complete documentation index at: https://dos.dzaleka.com/llms.txt
Use this file to discover all available pages before exploring further.
Astro Configuration
The project uses Astro as its framework. Configuration is inastro.config.mjs.
Basic Settings
astro.config.mjs
Configuration Options
site
Type:stringValue:
https://services.dzaleka.com
The production URL of your site. Used for generating canonical URLs and sitemaps.
output
Type:'static' | 'server' | 'hybrid'Value:
static
Defines the build output mode:
static: Pre-renders all pages at build time (current setting)server: Renders pages on-demandhybrid: Mix of static and server-rendered pages
adapter
Type:AstroAdapterValue: Dynamic (Netlify or Node.js) The adapter used depends on the environment:
- Netlify: Automatically selected when
NETLIFYenv var is present - Node.js: Used for local development and self-hosted deployments
Integrations
The project uses several Astro integrations defined inastro.config.mjs:20-24:
@astrojs/tailwind
Enables Tailwind CSS support. Configuration intailwind.config.cjs.
@astrojs/mdx
Enables MDX support for enhanced markdown with JSX components.@astrojs/react
Enables React component support in Astro pages.Markdown Configuration
Markdown processing is configured inastro.config.mjs:25-32:
remarkSlug: Adds IDs to headings for anchor linksremarkToc: Generates table of contents with compact spacing
- theme:
dracula- Syntax highlighting theme - wrap:
true- Wraps long code lines
Tailwind CSS Configuration
Tailwind is configured intailwind.config.cjs with custom theme extensions.
Content Sources
tailwind.config.cjs
Custom Colors
The project defines custom color palettes reflecting Dzaleka’s cultural identity:tailwind.config.cjs:13-80.
Typography
Custom font families are defined intailwind.config.cjs:81-84:
Custom Animations
Several custom animations are available intailwind.config.cjs:85-108:
Safelist
Dynamic classes that should always be included intailwind.config.cjs:4-10:
Safelisted classes are always included in the CSS output, even if not found during content scanning. Use sparingly to keep bundle size small.
Plugins
Tailwind plugins are configured intailwind.config.cjs:111-115:
- @tailwindcss/typography: Prose styles for markdown content
- @tailwindcss/forms: Better form element defaults
- @tailwindcss/aspect-ratio: Aspect ratio utilities
Content Collections
Content collections organize structured content like events, stories, and jobs.Available Collections
Based on the project structure, these collections are available:- events: Community events and activities
- stories: Community narratives and histories
- inspirational-stories: Personal success stories
- jobs: Job opportunities
- marketplace: Products and services for sale
- services: Community services and organizations
- stores: Local businesses
- sites: Community locations and facilities
- docs: Documentation pages
- talents: Community talent profiles
Collection Schema Example
Content collections use frontmatter for metadata. Example from an event:Adding New Content
TypeScript Configuration
The project uses TypeScript for type safety. Dependencies include:@types/node: Node.js type definitions@types/react: React type definitions@types/react-dom: React DOM type definitions@types/leaflet: Leaflet map library types@types/nodemailer: Nodemailer email library types
Next Steps
Environment Variables
Configure environment-specific settings
Netlify Deployment
Deploy your configured site to Netlify