From f3eab8e6639db77ba414ea3b0bf17c94cadecba9 Mon Sep 17 00:00:00 2001 From: Xavier Noria Date: Wed, 17 Feb 2010 20:22:37 +0100 Subject: [PATCH] adds support for an edge badge in guides --- railties/guides/images/edge_badge.png | Bin 0 -> 9095 bytes railties/guides/rails_guides/generator.rb | 11 +++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 railties/guides/images/edge_badge.png diff --git a/railties/guides/images/edge_badge.png b/railties/guides/images/edge_badge.png new file mode 100644 index 0000000000000000000000000000000000000000..274801bb7121c4a6ffbfdf585b53a883e16ebd3f GIT binary patch literal 9095 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 FV1jJXleGW< literal 0 HcmV?d00001 diff --git a/railties/guides/rails_guides/generator.rb b/railties/guides/rails_guides/generator.rb index b931dd6c28..2f0718af75 100644 --- a/railties/guides/rails_guides/generator.rb +++ b/railties/guides/rails_guides/generator.rb @@ -49,16 +49,19 @@ module RailsGuides if guide =~ /\.textile\.erb$/ # Generate the erb pages with textile formatting - e.g. index/authors result = view.render(:layout => 'layout', :file => guide) - f.write textile(result) + result = textile(result) else body = File.read(File.join(view_path, guide)) body = set_header_section(body, @view) body = set_index(body, @view) result = view.render(:layout => 'layout', :text => textile(body).html_safe) - f.write result + warn_about_broken_links(result) if ENV.key?("WARN_BROKEN_LINKS") end + + result = insert_edge_badge(result) if ENV.key?('INSERT_EDGE_BADGE') + f.write result end end @@ -168,5 +171,9 @@ module RailsGuides end end end + + def insert_edge_badge(html) + html.sub(/]*>/, '\&') + end end end