Current section

Files

Jump to
crawlberg lib crawlberg page_metadata.ex
Raw

lib/crawlberg/page_metadata.ex

# This file is auto-generated by alef — DO NOT EDIT.
# alef:hash:75130b11765cbed0a1ea2b5bcffe59620c4045cee1c7cece391c5e3fa47b10e0
# To regenerate: alef generate
# To verify freshness: alef verify --exit-code
defmodule Crawlberg.PageMetadata do
@moduledoc "Metadata extracted from an HTML page's `<meta>` tags and `<title>` element."
@typedoc "Metadata extracted from an HTML page's `<meta>` tags and `<title>` element."
@type t :: %__MODULE__{
title: String.t() | nil,
description: String.t() | nil,
canonical_url: String.t() | nil,
keywords: String.t() | nil,
author: String.t() | nil,
viewport: String.t() | nil,
theme_color: String.t() | nil,
generator: String.t() | nil,
robots: String.t() | nil,
html_lang: String.t() | nil,
html_dir: String.t() | nil,
og_title: String.t() | nil,
og_type: String.t() | nil,
og_image: String.t() | nil,
og_description: String.t() | nil,
og_url: String.t() | nil,
og_site_name: String.t() | nil,
og_locale: String.t() | nil,
og_video: String.t() | nil,
og_audio: String.t() | nil,
og_locale_alternates: [String.t()] | nil,
twitter_card: String.t() | nil,
twitter_title: String.t() | nil,
twitter_description: String.t() | nil,
twitter_image: String.t() | nil,
twitter_site: String.t() | nil,
twitter_creator: String.t() | nil,
dc_title: String.t() | nil,
dc_creator: String.t() | nil,
dc_subject: String.t() | nil,
dc_description: String.t() | nil,
dc_publisher: String.t() | nil,
dc_date: String.t() | nil,
dc_type: String.t() | nil,
dc_format: String.t() | nil,
dc_identifier: String.t() | nil,
dc_language: String.t() | nil,
dc_rights: String.t() | nil,
article: Crawlberg.ArticleMetadata.t() | nil,
hreflangs: [Crawlberg.HreflangEntry.t()] | nil,
favicons: [Crawlberg.FaviconInfo.t()] | nil,
headings: [Crawlberg.HeadingInfo.t()] | nil,
word_count: non_neg_integer() | nil
}
defstruct title: nil,
description: nil,
canonical_url: nil,
keywords: nil,
author: nil,
viewport: nil,
theme_color: nil,
generator: nil,
robots: nil,
html_lang: nil,
html_dir: nil,
og_title: nil,
og_type: nil,
og_image: nil,
og_description: nil,
og_url: nil,
og_site_name: nil,
og_locale: nil,
og_video: nil,
og_audio: nil,
og_locale_alternates: nil,
twitter_card: nil,
twitter_title: nil,
twitter_description: nil,
twitter_image: nil,
twitter_site: nil,
twitter_creator: nil,
dc_title: nil,
dc_creator: nil,
dc_subject: nil,
dc_description: nil,
dc_publisher: nil,
dc_date: nil,
dc_type: nil,
dc_format: nil,
dc_identifier: nil,
dc_language: nil,
dc_rights: nil,
article: nil,
hreflangs: nil,
favicons: nil,
headings: nil,
word_count: nil
defimpl Jason.Encoder do
@doc false
def encode(value, opts) do
value
|> Map.from_struct()
|> Enum.reject(fn {_k, v} -> v == nil end)
|> Enum.into(%{})
|> Jason.Encoder.encode(opts)
end
end
end