# service_catalog Extension

`service_catalog` is a custom Sphinx extension that generates the service catalog automatically from YAML data files.

It is the technical centrepiece of this docs platform: a single Python module that connects structured data, schema validation, and templating into the Sphinx build pipeline.

---

## Source

The extension is a single file: [`extensions/service_catalog.py`](https://github.com/vicioussoul/docs-as-code-portfolio/blob/main/extensions/service_catalog.py).

It hooks into Sphinx via the `builder-inited` event, which fires before any source files are read. This means the generated `.md` files are available to Sphinx as if they were hand-written.

---

## API reference

```{eval-rst}
.. automodule:: service_catalog
   :members:
   :undoc-members:
   :member-order: bysource
```
