blastodb/
├── .eleventy.js # Build config: filters, collector logic, shortcodes
├── package.json # Dependencies and npm scripts
├── content/ # Eleventy input (every page + all data)
│ ├── *.md # Top-level pages (/datasets/, /blog/, /biobank/, …)
│ ├── admin/ # Sveltia CMS (index.html + config.yml), copied as-is
│ ├── data/ # Collection data + site config
│ │ ├── datasets/ … # Folder collections: one .md file per entry
│ │ ├── *.json # File collections (publications, research_labs, people)
│ │ ├── *.yaml # Vocabularies (countries, datatypes, …) + announcements
│ │ └── header.json … # Nav, footer, branding
│ ├── documentation/ # This documentation site
│ └── feeds/ # RSS feed templates (.njk)
├── _includes/
│ ├── layouts/ # Nunjucks page layouts (*.njk)
│ └── collector-cards/ # Card templates rendered into collector listings
├── assets/ # style.css, collector.css, main.js, uploads/
├── images/ # Static images
├── .github/workflows/ # CI/CD (check, deploy, publish, sync-staging)
└── output/ # Build output — git-ignored, regenerated each build
Key entries
| Path | Purpose |
|---|---|
.eleventy.js |
Mail file for eleventy: collection loading, the [collector] system, filters, custom shortcodes. |
content/admin/config.yml |
Defines the datastructure, CMS and some parts of the collector. |
content/data/<collection>/ |
Where Sveltia writes entries (.md per item for folder collections; .json/.yaml for file collections). |
_includes/layouts/ |
Page templates (e.g. dataset-page.njk, documentation.njk). |
_includes/collector-cards/ |
One card template per collection, pre-rendered into listings. |
output/ |
HTML generated by eleventy from the content in content/. |
See Sveltia CMS & the Collector for how config.yml,
content/data/, and the collector cards fit together.