Improve handling of meta description
This commit is contained in:
parent
514e84831c
commit
a81ef5e28b
|
@ -8,7 +8,7 @@
|
|||
<meta name="author" content="{{ site.author }}">
|
||||
|
||||
{% 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 %}
|
||||
|
||||
<!-- http://t.co/dKP3o1e -->
|
||||
|
|
|
@ -79,6 +79,33 @@ module OctopressLiquidFilters
|
|||
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
|
||||
def strip_slash(input)
|
||||
if input =~ /(.+)\/$|^\/$/
|
||||
|
|
Loading…
Reference in New Issue