Welcome to the Bengal Wiki Developer Portal. This page outlines the technical specifications of the project and guides you on how to access our public endpoints, compile the codebase locally, and contribute new features.
1. Technical Architecture
Bengal Wiki is engineered using a highly performant, server-first framework designed to deliver static content with maximum efficiency:
- Framework: Astro v6 (utilizing content collection layers).
- Styling: Vanilla HSL variables, ensuring absolute flexibility without the overhead of heavy CSS utility frameworks.
- Hosting: Completely static pages, deployable to high-performance CDNs (Netlify, Vercel, or GitHub Pages).
2. Public API Endpoints
We expose a lightweight search index API at compile time for third-party integrations or local matching scripts.
Search Index Endpoint
- URL:
/search.json - Method:
GET - Content-Type:
application/json - Output Format:
[ { "title": "Rabindranath Tagore", "slug": "people/rabindranath-tagore", "description": "Nobel laureate poet, polymath, writer, composer, and artist who reshaped Bengali literature and music." }, ... ]
This JSON endpoint is updated automatically during each compile and can be fetched dynamically (e.g., using fetch('/search.json')).
3. Contributing Code
The project is open source and open to pull requests:
- Code Standard: All layout designs, pages, and components utilize standard HTML/Astro markup with strict separation of styles.
- Pre-population: To add a new biography, location profile, or song:
- Add a standard markdown
.mdfile under the appropriate subdirectory inside src/content/pages/. - Declare the facts keys matching our Zod Schema validation defined inside src/content.config.ts.
- Run the local test build:
npm run buildto verify there are no validation conflicts.
- Add a standard markdown