The resolver
One endpoint resolves any path to its kind and raw data.
How it works
GET /api/docs/resolve?path= looks up the single Page whose Path equals the (normalized) query and returns { kind, data }, with data emitted as raw JSON. Unknown paths return 404.
curl 'https://gaborvilics.be/api/docs/resolve?path=/docs-api/overview'{
"kind": "section",
"data": { "title": "Overview", "blocks": [ ... ] }
}Typed shortcuts
Some kinds also have typed read routes that return data directly (no { kind, data } envelope):
/projects/{id}→ the project page/projects/{id}/sections/{section}→ a section/projects/{id}/api→ the API reference/projects/{id}/components→ the component gallery/cheatsheets/{id}→ a cheatsheet