Module: JekyllAeo::Schema::Organization

Defined in:
lib/jekyll-aeo/schema/organization.rb

Class Method Summary collapse

Class Method Details

.build(page, site_config, aeo_config = {}) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/jekyll-aeo/schema/organization.rb', line 6

def self.build(page, site_config, aeo_config = {})
  return nil unless page["url"] == "/"

  name = site_config["title"] || site_config["name"]
  return nil unless name

  base_url = site_config["url"].to_s.chomp("/")

  schema = {
    "@context" => "https://schema.org",
    "@type" => "Organization",
    "name" => name,
    "url" => base_url.empty? ? "/" : base_url
  }

  description = site_config["description"]
  schema["description"] = description if description && !description.to_s.empty?

   = aeo_config.dig("domain_profile", "logo")
  schema["logo"] =  if 

  same_as = aeo_config.dig("domain_profile", "jsonld", "sameAs")
  schema["sameAs"] = same_as if same_as.is_a?(Array) && same_as.any?

  schema
end