Improve handling of meta description
This commit is contained in:
parent
514e84831c
commit
a81ef5e28b
|
@ -8,7 +8,7 @@
|
||||||
<meta name="author" content="{{ site.author }}">
|
<meta name="author" content="{{ site.author }}">
|
||||||
|
|
||||||
{% capture description %}{% if page.description %}{{ page.description }}{% else %}{{ content | raw_content }}{% endif %}{% endcapture %}
|
{% capture description %}{% if page.description %}{{ page.description }}{% else %}{{ content | raw_content }}{% endif %}{% endcapture %}
|
||||||
<meta name="description" content="{{ description | strip_newlines | strip_html | truncate:150 }}">
|
<meta name="description" content="{{ description | strip_html | condense_spaces | truncate:150 }}">
|
||||||
{% if page.keywords %}<meta name="keywords" content="{{ page.keywords }}">{% endif %}
|
{% if page.keywords %}<meta name="keywords" content="{{ page.keywords }}">{% endif %}
|
||||||
|
|
||||||
<!-- http://t.co/dKP3o1e -->
|
<!-- http://t.co/dKP3o1e -->
|
||||||
|
|
|
@ -79,6 +79,33 @@ module OctopressLiquidFilters
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Improved version of Liquid's truncate:
|
||||||
|
# - Doesn't cut in the middle of a word.
|
||||||
|
# - Uses typographically correct ellipsis (…) insted of '...'
|
||||||
|
def truncate(input, length)
|
||||||
|
if input.length > length && input[0..(length-1)] =~ /(.+)\b.+$/im
|
||||||
|
$1.strip + ' …'
|
||||||
|
else
|
||||||
|
input
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# Improved version of Liquid's truncatewords:
|
||||||
|
# - Uses typographically correct ellipsis (…) insted of '...'
|
||||||
|
def truncatewords(input, length)
|
||||||
|
truncate = input.split(' ')
|
||||||
|
if truncate.length > length
|
||||||
|
truncate[0..length-1].join(' ').strip + ' …'
|
||||||
|
else
|
||||||
|
input
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# Condenses multiple spaces and tabs into a single space
|
||||||
|
def condense_spaces(input)
|
||||||
|
input.gsub(/\s{2,}/, ' ')
|
||||||
|
end
|
||||||
|
|
||||||
# Removes trailing forward slash from a string for easily appending url segments
|
# Removes trailing forward slash from a string for easily appending url segments
|
||||||
def strip_slash(input)
|
def strip_slash(input)
|
||||||
if input =~ /(.+)\/$|^\/$/
|
if input =~ /(.+)\/$|^\/$/
|
||||||
|
|
Loading…
Reference in New Issue