diff options
author | Frederic Hemberger <mail@frederic-hemberger.de> | 2011-10-21 15:00:32 +0200 |
---|---|---|
committer | Frederic Hemberger <mail@frederic-hemberger.de> | 2011-10-21 15:00:32 +0200 |
commit | a81ef5e28bc2abb846a2a3da04dd43aa7ca547a1 (patch) | |
tree | 24f0da4cda6bc0304545bf3a862affbb202de68f /plugins | |
parent | 514e84831ca2d9bce27c2a209b67fce26b5c52e8 (diff) | |
download | my_new_personal_website-a81ef5e28bc2abb846a2a3da04dd43aa7ca547a1.tar.xz my_new_personal_website-a81ef5e28bc2abb846a2a3da04dd43aa7ca547a1.zip |
Improve handling of meta description
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/octopress_filters.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/plugins/octopress_filters.rb b/plugins/octopress_filters.rb index 997a740a..a5bb235c 100644 --- a/plugins/octopress_filters.rb +++ b/plugins/octopress_filters.rb @@ -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 =~ /(.+)\/$|^\/$/ |