Skip to content

Commit c9b19c4

Browse files
committed
Add default filter
1 parent dee4a81 commit c9b19c4

File tree

3 files changed

+22
-26
lines changed

3 files changed

+22
-26
lines changed

lib/jekyll-seo-tag.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
require 'jekyll-seo-tag/filters'
2+
13
module Jekyll
24
class SeoTag < Liquid::Tag
35

@@ -22,7 +24,7 @@ def payload
2224
def info
2325
{
2426
:registers => context.registers,
25-
:filters => [Jekyll::Filters]
27+
:filters => [Jekyll::Filters, JekyllSeoTag::Filters]
2628
}
2729
end
2830

lib/jekyll-seo-tag/filters.rb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
module JekyllSeoTag
2+
module Filters
3+
4+
# This is available in Liquid from version 3 which is required by Jekyll 3
5+
# Provided here for compatibility with Jekyll 2.x
6+
def default(input, default_value = ''.freeze)
7+
if !input || input.respond_to?(:empty?) && input.empty?
8+
default_value
9+
else
10+
input
11+
end
12+
end
13+
end
14+
end

lib/template.html

Lines changed: 5 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,10 @@
22

33
{% if site.url %}
44
{% assign seo_url = site.url | append: site.baseurl %}
5-
{% elsif site.github.url %}
6-
{% assign seo_url = site.github.url %}
75
{% endif %}
6+
{% assign seo_url = seo_url | default: site.github.url %}
87

9-
{% if site.title %}
10-
{% assign seo_site_title = site.title %}
11-
{% elsif site.name %}
12-
{% assign seo_site_title = site.name %}
13-
{% endif %}
8+
{% assign seo_site_title = site.title | default: site.name %}
149

1510
{% if page.title %}
1611
{% assign seo_title = page.title %}
@@ -35,29 +30,14 @@
3530
{% assign seo_page_title = seo_page_title | markdownify | strip_html | strip_newlines | escape_once %}
3631
{% endif %}
3732

38-
{% if page.description %}
39-
{% assign seo_description = page.description %}
40-
{% elsif page.excerpt %}
41-
{% assign seo_description = page.excerpt %}
42-
{% elsif site.description %}
43-
{% assign seo_description = site.description %}
44-
{% endif %}
33+
{% assign seo_description = page.description | default: page.excerpt | default: site.description %}
4534
{% if seo_description %}
4635
{% assign seo_description = seo_description | markdownify | strip_html | strip_newlines | escape_once %}
4736
{% endif %}
4837

4938
{% if page.author %}
50-
{% if page.author.name %}
51-
{% assign seo_author_name = page.author.name %}
52-
{% else %}
53-
{% assign seo_author_name = page.author %}
54-
{% endif %}
55-
56-
{% if page.author.twitter %}
57-
{% assign seo_author_twitter = page.author.twitter %}
58-
{% else %}
59-
{% assign seo_author_twitter = page.author %}
60-
{% endif %}
39+
{% assign seo_author_name = page.author.name | default: page.author %}
40+
{% assign seo_author_twitter = page.author.twitter | default: page.author %}
6141
{% endif %}
6242
{% if seo_author_twitter %}
6343
{% assign seo_author_twitter = seo_author_twitter | replace:"@","" | prepend:"@" %}

0 commit comments

Comments
 (0)