Skip to content
This repository has been archived by the owner on May 16, 2021. It is now read-only.

Commit

Permalink
prepare merge
Browse files Browse the repository at this point in the history
  • Loading branch information
rkh committed Mar 27, 2011
1 parent e586a10 commit 7a806e1
Show file tree
Hide file tree
Showing 6 changed files with 52 additions and 125 deletions.
3 changes: 0 additions & 3 deletions .gitignore

This file was deleted.

4 changes: 1 addition & 3 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
(The MIT License)

Copyright (c) 2008-2009 Nicolas Sanguinetti, entp.com
Copyright (c) 2008-2011 Nicolas Sanguinetti, entp.com, Konstantin Haase

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
Expand Down
49 changes: 0 additions & 49 deletions README.rdoc

This file was deleted.

33 changes: 0 additions & 33 deletions Rakefile

This file was deleted.

54 changes: 51 additions & 3 deletions lib/sinatra/content_for.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,52 @@
module Sinatra
##
# Small extension for the Sinatra[http://sinatrarb.com] web framework
# that allows you to use the following helpers in your views:
#
# <% content_for :some_key do %>
# <chunk of="html">...</chunk>
# <% end %>
#
# <% yield_content :some_key %>
#
# This allows you to capture blocks inside views to be rendered later
# in this request. For example, to populate different parts of your
# layout from your view.
#
# When using this with the Haml rendering engine, you should do the
# following:
#
# - content_for :some_key do
# %chunk{ :of => "html" } ...
#
# = yield_content :some_key
#
# <b>Note</b> that with ERB <tt>yield_content</tt> is called <b>without</b>
# an '=' block (<tt><%= %></tt>), but with Haml it uses <tt>= yield_content</tt>.
#
# Using an '=' block in ERB will output the content twice for each block,
# so if you have problems with that, make sure to check for this.
#
# == Usage
#
# If you're writing "classic" style apps, then requring
# <tt>sinatra/content_for</tt> should be enough. If you're writing
# "classy" apps, then you also need to call
# <tt>helpers Sinatra::ContentFor</tt> in your app definition.
#
# == And how is this useful?
#
# For example, some of your views might need a few javascript tags and
# stylesheets, but you don't want to force this files in all your pages.
# Then you can put <tt><% yield_content :scripts_and_styles %></tt> on
# your layout, inside the <head> tag, and each view can call
# <tt>content_for</tt> setting the appropriate set of tags that should
# be added to the layout.
#
# == Credits
#
# Code by foca[http://github.com/foca], inspired on the Ruby on Rails
# helpers with the same name. Haml support by mattly[http://github.com/mattly].
module ContentFor
# Capture a block of content to be rendered later. For example:
#
Expand Down Expand Up @@ -49,9 +97,9 @@ def yield_content(key, *args)

private

def content_blocks
@content_blocks ||= Hash.new {|h,k| h[k] = [] }
end
def content_blocks
@content_blocks ||= Hash.new {|h,k| h[k] = [] }
end
end

helpers ContentFor
Expand Down
34 changes: 0 additions & 34 deletions sinatra-content-for.gemspec

This file was deleted.

0 comments on commit 7a806e1

Please sign in to comment.