# multitenancy_phoenix v0.1.0 - API Reference

## Modules

- [Multitenancy](Multitenancy.md): Host-resolved multi-site theming for Phoenix.
- [Multitenancy.Controller](Multitenancy.Controller.md): Helpers for base controllers that are also routed from theme routers.
- [Multitenancy.HTML](Multitenancy.HTML.md): Embeds a theme's templates, falling back to the base application ones.
- [Multitenancy.LiveView](Multitenancy.LiveView.md): `on_mount` hook resolving the site from the socket host, for both the
disconnected and the connected mount.
- [Multitenancy.Plug.Dispatch](Multitenancy.Plug.Dispatch.md): Hands the request over to the current theme's router, or to the
`:platform` router when no site was resolved. Replaces the
`plug MyAppWeb.Router` line at the end of the endpoint.
- [Multitenancy.Plug.ResolveSite](Multitenancy.Plug.ResolveSite.md): Resolves `conn.host` into a site and assigns `:current_site` and
`:current_theme`. Hosts in `:platform_hosts` are left untouched so they
can be served by the platform router; any other unknown host gets a 404.
- [Multitenancy.Site](Multitenancy.Site.md): A site served by the application, bound to a theme and a set of hosts.
- [Multitenancy.SiteResolver](Multitenancy.SiteResolver.md): Resolves a request host into a `Multitenancy.Site`.
- [Multitenancy.SiteResolver.YAML](Multitenancy.SiteResolver.YAML.md): Resolves sites from a YAML file loaded once into `:persistent_term`.
- [Multitenancy.Theme](Multitenancy.Theme.md): Declares a theme.

- Exceptions
  - [Multitenancy.ThemeNotFoundError](Multitenancy.ThemeNotFoundError.md)

## Mix Tasks

- [mix multitenancy.assets](Mix.Tasks.Multitenancy.Assets.md): Builds `themes/<name>/assets/css/app.css` with tailwind and
`themes/<name>/assets/js/app.js` with esbuild into
`priv/static/themes/<name>/app.{css,js}`.
- [mix multitenancy.gen.theme](Mix.Tasks.Multitenancy.Gen.Theme.md): Generates a theme skeleton.

