diff options
Diffstat (limited to 'railties/guides/rails_guides/textile_extensions.rb')
-rw-r--r-- | railties/guides/rails_guides/textile_extensions.rb | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/railties/guides/rails_guides/textile_extensions.rb b/railties/guides/rails_guides/textile_extensions.rb new file mode 100644 index 0000000000..a7fc5ba49c --- /dev/null +++ b/railties/guides/rails_guides/textile_extensions.rb @@ -0,0 +1,38 @@ +module RailsGuides + module TextileExtensions + def notestuff(body) + body.gsub!(/^(IMPORTANT|CAUTION|WARNING|NOTE|INFO)(?:\.|\:)(.*)$/) do |m| + css_class = $1.downcase + css_class = 'warning' if ['caution', 'important'].include?(css_class) + + result = "<div class='#{css_class}'><p>" + result << $2.strip + result << '</p></div>' + result + end + end + + def tip(body) + body.gsub!(/^(TIP)\:(.*)$/) do |m| + result = "<div class='info'><p>" + result << $2.strip + result << '</p></div>' + result + end + end + + def plusplus(body) + body.gsub!(/\+(.*?)\+/) do |m| + "<notextile><tt>#{$1}</tt></notextile>" + end + end + + def code(body) + body.gsub!(/\<(yaml|shell|ruby|erb|html|sql)\>(.*?)\<\/\1\>/m) do |m| + es = ERB::Util.h($2) + css_class = ['erb', 'shell'].include?($1) ? 'html' : $1 + "<notextile><code class='#{css_class}'>#{es}\n</code></notextile>" + end + end + end +end |