diff --git a/lib/template.html b/lib/template.html index 85c745f..7dfc5c3 100644 --- a/lib/template.html +++ b/lib/template.html @@ -6,15 +6,21 @@ {% assign seo_url = site.github.url %} {% endif %} +{% if site.title %} + {% assign seo_site_title = site.title %} +{% elsif site.name %} + {% assign seo_site_title = site.name %} +{% endif %} + {% if page.title %} {% assign seo_title = page.title %} {% assign seo_page_title = page.title %} - {% if site.title %} - {% assign seo_title = seo_title | append:" - " | append: site.title %} + {% if seo_site_title %} + {% assign seo_title = seo_title | append:" - " | append: seo_site_title %} {% endif %} -{% elsif site.title %} - {% assign seo_title = site.title %} - {% assign seo_page_title = site.title %} +{% elsif seo_site_title %} + {% assign seo_title = seo_site_title %} + {% assign seo_page_title = seo_site_title %} {% if site.description %} {% assign seo_title = seo_title | append:" - " | append: site.description %} {% endif %} @@ -22,6 +28,9 @@ {% if seo_title %} {% assign seo_title = seo_title | markdownify | strip_html | strip_newlines | escape_once %} {% endif %} +{% if seo_site_title %} + {% assign seo_site_title = seo_site_title | markdownify | strip_html | strip_newlines | escape_once %} +{% endif %} {% if seo_page_title %} {% assign seo_page_title = seo_page_title | markdownify | strip_html | strip_newlines | escape_once %} {% endif %} @@ -53,13 +62,13 @@ {% endif %} -{% if site.title %} - +{% if seo_site_title %} + @@ -118,7 +127,7 @@ { "@context" : "http://schema.org", "@type" : "{% if site.social.type %}{{ site.social.type }}{% else %}person{% endif %}", - "name" : "{% if site.social.name %}{{ site.social.name }}{% else %}{{ site.title }}{% endif %}", + "name" : "{% if site.social.name %}{{ site.social.name }}{% else %}{{ seo_site_title }}{% endif %}", "url" : {{ seo_url | jsonify }}, "sameAs" : {{ site.social.links | jsonify }} } diff --git a/spec/jekyll_seo_tag_spec.rb b/spec/jekyll_seo_tag_spec.rb index 1bc8a04..9e98db0 100644 --- a/spec/jekyll_seo_tag_spec.rb +++ b/spec/jekyll_seo_tag_spec.rb @@ -165,6 +165,20 @@ describe Jekyll::SeoTag do expect(subject.render(context)).to match(expected) end + it "uses site.name if site.title is not present" do + site = site({"name" => "Site Name", "title" => nil }) + context = context({ :site => site }) + expected = %r!! + expect(subject.render(context)).to match(expected) + end + + it "uses site.tile if both site.title and site.name are present" do + site = site({"name" => "Site Name", "title" => "Site Title" }) + context = context({ :site => site }) + expected = %r!! + expect(subject.render(context)).to match(expected) + end + it "outputs valid HTML" do site.process options = {