From 967eeb46e8f9bb25a382c52f1f36de59b8f0d1cb Mon Sep 17 00:00:00 2001 From: Brandon Mathis Date: Fri, 22 Jul 2011 11:47:23 -0400 Subject: blockquote plugin now allows for source attribution with out a link, see docs --- plugins/blockquote.rb | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/plugins/blockquote.rb b/plugins/blockquote.rb index e6388db3..a0bf12cc 100644 --- a/plugins/blockquote.rb +++ b/plugins/blockquote.rb @@ -19,9 +19,9 @@ require './plugins/titlecase.rb' module Jekyll class Blockquote < Liquid::Block - FullCiteWithTitle = /(\S[\S\s]*)\s+(https?:\/\/)(\S+)\s+(.+)/i - FullCite = /(\S[\S\s]*)\s+(https?:\/\/)(\S+)/i - Author = /(\S[\S\s]*)/ + FullCiteWithTitle = /(\S.*)\s+(https?:\/\/)(\S+)\s+(.+)/i + FullCite = /(\S.*)\s+(https?:\/\/)(\S+)/i + Author = /(.+)/ def initialize(tag_name, markup, tokens) @by = nil @@ -35,7 +35,12 @@ module Jekyll @by = $1 @source = $2 + $3 elsif markup =~ Author - @by = $1 + if $1 =~ /([^,]+),([^,]+)/ + @by = $1 + @title = $2.titlecase + else + @by = $1 + end end super end @@ -54,15 +59,19 @@ module Jekyll source = parts.join('/') source << '/…' unless source == @source end - cite = "#{(@title || source)}" - quote_only = if @by.nil? + if !@source.nil? + cite = "#{(@title || source)}" + elsif !@title.nil? + cite = "#{@title}" + end + blockquote = if @by.nil? quote - elsif !@source.nil? + elsif cite "#{quote}" else "#{quote}" end - "
#{quote_only}
" + "
#{blockquote}
" end def paragraphize(input) -- cgit v1.2.1