# `HtmlToMarkdown.DocumentMetadata`

Document-level metadata extracted from `<head>` and top-level elements.

Contains all metadata typically used by search engines, social media platforms,
and browsers for document indexing and presentation.

# Examples

```
let doc = DocumentMetadata {
    title: Some("My Article".to_string()),
    description: Some("A great article about Rust".to_string()),
    keywords: vec!["rust".to_string(), "programming".to_string()],
    ..Default::default()
};

assert_eq!(doc.title, Some("My Article".to_string()));
```

# `t`

```elixir
@type t() :: %HtmlToMarkdown.DocumentMetadata{
  author: String.t() | nil,
  base_href: String.t() | nil,
  canonical_url: String.t() | nil,
  description: String.t() | nil,
  keywords: [String.t()],
  language: String.t() | nil,
  meta_tags: map(),
  open_graph: map(),
  text_direction: String.t() | nil | nil,
  title: String.t() | nil,
  twitter_card: map()
}
```

Document-level metadata extracted from `<head>` and top-level elements.

---

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