# `MishkaBlog.Application`
[🔗](https://github.com/mishka-group/mishka_blog/blob/v0.0.1/lib/mishka_blog/application.ex#L5)

The blog's OTP application. It supervises the task supervisor that highlights a post's code blocks
and every mishka_installer plugin the extension ships (`plugins/0`): the dashboard widgets, the
notification producers, the settings, sidebar, install, SEO, share card, stylesheet and page
plugins. A plugin registers on the event it listens on once it is supervised here.

# `dashboard_widgets`

```elixir
@spec dashboard_widgets() :: [module()]
```

The blog's dashboard widget plugins. Each self-registers on the `dashboard:widgets` event, and
`MishkaBlog.Dashboard.WidgetSettings` walks this same list to register each widget's own settings
under the Blog tab — so the two can never disagree about which widgets exist.

# `plugins`

```elixir
@spec plugins() :: [module()]
```

Every mishka_installer plugin this extension ships, all of which `start/2` supervises. A plugin
left out of it never registers, so the event it listens on never reaches it.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
