diff options
| author | davidtsadler <davidtsadler@googlemail.com> | 2012-01-05 23:31:30 +0000 |
|---|---|---|
| committer | davidtsadler <davidtsadler@googlemail.com> | 2012-01-05 23:31:30 +0000 |
| commit | d46501e18b795d9bf41f229298810bffa1d8e520 (patch) | |
| tree | d44214d722293708d3c47677ff6abe3cb92433c0 | |
| parent | c76802130c1541fb03f3c9170726aedf25aae599 (diff) | |
Replace ExcerptFilter with TruncateFilter.
| -rw-r--r-- | Gemfile | 1 | ||||
| -rw-r--r-- | Gemfile.lock | 6 | ||||
| -rw-r--r-- | _site_build/_includes/post_excerpt.html | 5 | ||||
| -rw-r--r-- | _site_build/_plugins/posts.rb | 10 | ||||
| -rw-r--r-- | templates/post.markdown | 2 |
5 files changed, 16 insertions, 8 deletions
@@ -4,3 +4,4 @@ source "http://gemcutter.org" gem 'jekyll' gem 'rdiscount' gem 'rake' +gem 'sanitize' diff --git a/Gemfile.lock b/Gemfile.lock index 93c4bf5..72e62f4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -19,8 +19,12 @@ GEM liquid (2.3.0) maruku (0.6.0) syntax (>= 1.0.0) + nokogiri (1.5.0) posix-spawn (0.3.6) + rake (0.9.2.2) rdiscount (1.6.8) + sanitize (2.0.3) + nokogiri (>= 1.4.4, < 1.6) syntax (1.0.0) PLATFORMS @@ -28,4 +32,6 @@ PLATFORMS DEPENDENCIES jekyll + rake rdiscount + sanitize diff --git a/_site_build/_includes/post_excerpt.html b/_site_build/_includes/post_excerpt.html index a8ef58e..1caf4d5 100644 --- a/_site_build/_includes/post_excerpt.html +++ b/_site_build/_includes/post_excerpt.html @@ -1,8 +1,7 @@ <article class="excerpt"> <header> - <h1>{{ post.title }}</h1> + <h1><a href="{{ post.url }}" target="_self" title="{{ post.title }}">{{ post.title }}</a></h1> <time datetime="{{ post.date | date: '%Y-%m-%d' }}" pubdate>{{ post.date | date: '%A' }} {{ post.date | ordinalize }} {{ post.date | date: '%B, %Y' }}</time> </header> - {{ post.content | text_excerpt }} - <a href="{{ post.url }}" target="_self" title="{{ post.title }}">Click to continue reading »</a> + {{ post.content | truncate }} </article> diff --git a/_site_build/_plugins/posts.rb b/_site_build/_plugins/posts.rb index 58d0128..75c1c18 100644 --- a/_site_build/_plugins/posts.rb +++ b/_site_build/_plugins/posts.rb @@ -1,9 +1,11 @@ +require 'sanitize' + module Jekyll - module ExcerptFilter - def text_excerpt(text) - text.split(@context.registers[:site].config['excerpt_tag']).first + module TruncateFilter + def truncate(html, num_characters = 1000, indicator = ' [...]') + '<p>' << Sanitize.clean(html).slice(Regexp.new(".{1,#{num_characters}}( |$)")).chomp(' ') << indicator << '</p>' end end end -Liquid::Template.register_filter(Jekyll::ExcerptFilter) +Liquid::Template.register_filter(Jekyll::TruncateFilter) diff --git a/templates/post.markdown b/templates/post.markdown index a19d257..fda21cf 100644 --- a/templates/post.markdown +++ b/templates/post.markdown @@ -3,7 +3,7 @@ layout: post title: :title --- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce et tellus ac sem vestibulum tristique ac at magna. Proin eros ipsum, egestas sit amet rutrum non, fringilla ut tellus. Sed facilisis rhoncus libero ornare interdum. Morbi a dui id quam dignissim mollis at sit amet purus. Ut pretium malesuada dolor, eu luctus lorem bibendum id. Mauris cursus cursus est sit amet lobortis. Quisque sit amet dui quis sapien fringilla tempus et convallis lectus. Integer pretium tristique sollicitudin. Fusce at ante et tellus vulputate congue. Aliquam nec ligula est. Vestibulum aliquet scelerisque neque, ut elementum neque mattis id. Sed non mauris quam. Vivamus id augue felis. Etiam eleifend, erat sit amet tempor tempor, nibh neque tristique lorem, pretium adipiscing nulla lorem sit amet lacus. Vestibulum odio mauris, hendrerit non dictum sit amet, consequat in mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nulla est nulla, pulvinar eget volutpat quis, placerat nec metus. Vivamus tristique elit ac lectus vestibulum bibendum. Phasellus ac diam purus, cursus imperdiet lorem. Sed a nulla nec velit placerat tempus. -<!--more--> + ## Post subheader Nullam convallis commodo tellus ut iaculis. Suspendisse at purus eget est pharetra vehicula. Integer a mi non odio vulputate ultricies. Cras nisi metus, mattis id suscipit in, accumsan eu nisl. Duis eu est sed libero posuere ullamcorper. Quisque venenatis dignissim malesuada. Ut pretium, justo vitae auctor lacinia, eros ante condimentum sem, ut auctor massa ligula vel risus. Etiam congue gravida mollis. Fusce mollis eleifend nibh, ut lacinia diam pellentesque nec. Sed lobortis tincidunt facilisis. Cras sit amet sapien risus. Pellentesque pretium consectetur vulputate. Vestibulum faucibus lorem eu sapien faucibus dignissim. Donec vel sapien a mauris pretium mattis ac eu nisi. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Phasellus congue posuere turpis eget ullamcorper. Pellentesque dui risus, pharetra sed pellentesque nec, facilisis id est. Nunc ut purus nec lacus sagittis lacinia ut vel velit. Vestibulum dui velit, facilisis eu consectetur quis, laoreet id turpis. Nam odio orci, pretium in cursus a, varius sit amet metus. |
