Overview

# Overview

gnuboard5NX is a clean reimplementation of Gnuboard 5. This public handbook
covers only the running foundation: HTTP surfaces, Sample notes, and how
pages are composed. It does not describe deployment secrets, credentials,
or internal file locations.

## What you can do here

- Read these curated documents in the browser at `/docs/`.
- Fetch the same Markdown over the JSON API at `/api/v1/docs/{slug}`.
  Success `data` is exactly `slug`, `title`, `description`, and `content`.
- Fetch curated diagram JSON at `/api/v1/docs/diagrams/{id}`. Success
  `data` is exactly `id`, `title`, `description`, `kind`, and `model`.
  A valid `g5nx-diagram` fence in the Markdown island lazy-loads a
  first-party renderer for that id.
- Try Sample notes at `/samples` when that feature is enabled.

## A PHP page controller

Controllers stay small: they look up a curated slug and hand a view model
to the HTML responder. The slug is never turned into a filesystem path.

```php
final class DocsShowController
{
    public function __invoke($request, $response, array $arguments)
    {
        $document = $this->catalog->find($arguments['slug'] ?? '');
        if ($document === null) {
            throw new HttpNotFoundException($request);
        }

        return $this->pages->page($request, $response, $document);
    }
}
```

## Next

Use the sidebar for architecture, the data model, HTTP surfaces, Sample
notes, the public API, and theming.