# `ExDoc.Formatter.Config`
[🔗](https://github.com/elixir-lang/ex_doc/blob/v0.40.3/lib/ex_doc/formatter/config.ex#L1)

Configuration used by formatters.

Contains project metadata, output settings, and various
customization options for generating documentation.

# `t`

```elixir
@type t() :: %ExDoc.Formatter.Config{
  api_reference: boolean(),
  apps: [atom()],
  assets: %{required(binary()) =&gt; binary()},
  authors: nil | [String.t()],
  before_closing_body_tag: (atom() -&gt; String.t()) | mfa() | map(),
  before_closing_footer_tag: (atom() -&gt; String.t()) | mfa() | map(),
  before_closing_head_tag: (atom() -&gt; String.t()) | mfa() | map(),
  canonical: nil | String.t(),
  cover: nil | Path.t(),
  deps: [{ebin_path :: String.t(), doc_url :: String.t()}],
  description: nil | String.t(),
  extra_section: String.t(),
  favicon: nil | Path.t(),
  footer: boolean(),
  formatters: [String.t()],
  homepage_url: nil | String.t(),
  language: String.t(),
  logo: nil | Path.t(),
  main: nil | String.t(),
  nest_modules_by_prefix: [String.t()],
  output: Path.t(),
  package: :atom | nil,
  proglang: :elixir | :erlang,
  project: nil | String.t(),
  redirects: %{optional(String.t()) =&gt; String.t()} | [{String.t(), String.t()}],
  search: [%{name: String.t(), help: String.t(), url: String.t()}],
  skip_code_autolink_to: (String.t() -&gt; boolean()),
  skip_undefined_reference_warnings_on: (String.t() -&gt; boolean()),
  source_url: nil | String.t(),
  title: nil | String.t(),
  version: nil | String.t()
}
```

---

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