Skip to content

Commit

Permalink
Merge remote branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
bobmcwhirter committed Jul 13, 2011
2 parents 2aa0bc3 + 3355d7d commit cb946d3
Show file tree
Hide file tree
Showing 7 changed files with 94 additions and 11 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
*.swp
*.gem
_tmp
.DS_Store
2 changes: 1 addition & 1 deletion lib/awestruct/context_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ def close_tags(s)
end

def summarize(text, numwords=20, ellipsis='...')
close_tags(text.split()[0, numwords].join(' ') + ellipsis)
close_tags(text.split(/ /)[0, numwords].join(' ') + ellipsis)
end

def fully_qualify_urls(base_url, text)
Expand Down
20 changes: 12 additions & 8 deletions lib/awestruct/engine.rb
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
require 'awestruct/extensions/tag_cloud'
require 'awestruct/extensions/intense_debate'
require 'awestruct/extensions/disqus'
require 'awestruct/extensions/flattr'
require 'awestruct/extensions/google_analytics'
require 'awestruct/extensions/partial'

Expand Down Expand Up @@ -128,14 +129,17 @@ def create_context(page, content='')
context.page = page
class << context
def interpolate_string(str)
str = str || ''
str = str.gsub( /\\/, '\\\\\\\\' )
str = str.gsub( /\\\\#/, '\\#' )
str = str.gsub( '@', '\@' )
str = str.gsub( '#{', '\#\{' ) unless site.interpolate
str = "%@#{str}@"
result = instance_eval( str )
result
if site.interpolate
str = str || ''
str = str.gsub( /\\/, '\\\\\\\\' )
str = str.gsub( /\\\\#/, '\\#' )
str = str.gsub( '@', '' ) #'\@' )
str = "%@#{str}@"
result = instance_eval( str )
result
else
str || ''
end
end
def evaluate_erb(erb)
erb.result( binding )
Expand Down
5 changes: 4 additions & 1 deletion lib/awestruct/extensions/disqus.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,14 @@ def execute(site)
module Disqus
def disqus_comments()
developer = (site.disqus_developer) ? 'var disqus_developer = 1;' : ''
identifier = (self.disqus_identifier) ? %Q{var disqus_identifier = "#{self.disqus_identifier}";} : ''
%Q{
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_shortname = '#{site.disqus}';
var disqus_url = "#{site.base_url}/#{self.url}";
#{developer}
#{identifier}
(function() {
var dsq = document.createElement("script"); dsq.type = "text/javascript"; dsq.async = true;
dsq.src = "http://#{site.disqus}.disqus.com/embed.js";
Expand All @@ -26,7 +28,8 @@ def disqus_comments()
end

def disqus_comments_link()
%Q{ <a href="#{self.url}#disqus_thread">Comments</a> }
identifier = self.disqus_identifier ? %Q(data-disqus-identifier="#{self.disqus_identifier}") : ''
%Q{ <a href="#{self.url}#disqus_thread" #{identifier}>Comments</a> }
end

def disqus_comments_count()
Expand Down
42 changes: 42 additions & 0 deletions lib/awestruct/extensions/flattr.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@

module Awestruct
module Extensions
class Flattr

def execute(site)
site.pages.each{|p| p.extend Flattrable }
end

module Flattrable
def flattr_javascript()
html = %Q|<script type='text/javascript'> /* <![CDATA[ */ (function() {\n|
html += %Q|var s = document.createElement('script'), t = document.getElementsByTagName('script')[0];|
html += %Q|s.type = 'text/javascript';\n|
html += %Q|s.async = true;\n|
html += %Q|s.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto&uid=#{site.flattr_username}&category=text';\n|
html += %Q|t.parentNode.insertBefore(s, t);\n|
html += %Q|})(); /* ]]> */ </script>|
html
end
def flattr_large_counter(param={})
url = param[:url] ? param[:url] : site.base_url + self.url
title = param[:title] ? param[:title] : self.title
category = param[:category] ? param[:category] : "text"
tags = param[:tags] ? "tags:" + param[:tags] + ";" : ""
html = %Q|<a class="FlattrButton" style="display:none;" href="#{url}" title="#{title}" |
html += %Q|rev="flattr;uid:#{site.flattr_username};category:#{category};#{tags}"></a>|
html
end
def flattr_compact_counter(param={})
url = param[:url] ? param[:url] : site.base_url + self.url
title = param[:title] ? param[:title] : self.title
category = param[:category] ? param[:category] : "text"
tags = param[:tags] ? "tags:" + param[:tags] + ";" : ""
html = %Q|<a class="FlattrButton" style="display:none;" href="#{url}" title="#{title}" |
html += %Q|rev="flattr;button:compact;uid:#{site.flattr_username};category:#{category};#{tags}"></a>|
html
end
end
end
end
end
2 changes: 1 addition & 1 deletion lib/awestruct/extensions/template.atom.haml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

%feed{ 'xml:lang'=>'en-US', :xmlns=>'http://www.w3.org/2005/Atom' }
%id= "#{site.base_url}/"
%title #{page.title}
%title= escape_once( page.title )
- if ( defined?( site.author ) )
%author
- if ( defined?( site.author.name ) )
Expand Down
33 changes: 33 additions & 0 deletions lib/awestruct/rdiscountable.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
require 'rdiscount'

module Awestruct

module Rdiscountable
def render(context)
rendered = ''

begin
options = { }

unless self.options.nil?
options.merge!(self.options)
end

doc = RDiscount.new(context.interpolate_string( raw_page_content ))

rendered = doc.to_html
rescue => e
puts e
puts e.backtrace
end
rendered
end

def content
context = site.engine.create_context( self )
render( context )
end
end

end

0 comments on commit cb946d3

Please sign in to comment.