diff options
author | Xavier Noria <fxn@hashref.com> | 2010-03-31 15:20:43 -0700 |
---|---|---|
committer | Xavier Noria <fxn@hashref.com> | 2010-03-31 15:20:43 -0700 |
commit | b786940248f3cbb0db62a95a6b2f1c205788c83f (patch) | |
tree | 1f88016ea81b82bf1137d105802bd42a5d3a49d3 /railties/guides/rails_guides | |
parent | 824fa10f4d1306cc1e310a7d5de7e95cfb07d6f8 (diff) | |
download | rails-b786940248f3cbb0db62a95a6b2f1c205788c83f.tar.gz rails-b786940248f3cbb0db62a95a6b2f1c205788c83f.tar.bz2 rails-b786940248f3cbb0db62a95a6b2f1c205788c83f.zip |
guides: rewrites index and credit pages as pure HTML to avoid textilizing the rendered view, in particular we can now put a DOCTYPE in the layout
Diffstat (limited to 'railties/guides/rails_guides')
-rw-r--r-- | railties/guides/rails_guides/generator.rb | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/railties/guides/rails_guides/generator.rb b/railties/guides/rails_guides/generator.rb index e30dd2d5f7..17a4f2ff8a 100644 --- a/railties/guides/rails_guides/generator.rb +++ b/railties/guides/rails_guides/generator.rb @@ -11,7 +11,9 @@ require 'rails_guides/levenshtein' module RailsGuides class Generator - attr_reader :guides_dir, :source_dir, :output_dir + attr_reader :guides_dir, :source_dir, :output_dir + + GUIDES_RE = /\.(?:textile|html\.erb)$/ def initialize(output=nil) initialize_dirs(output) @@ -42,7 +44,7 @@ module RailsGuides end def guides_to_generate - guides = Dir.entries(source_dir).grep(/\.textile(?:\.erb)?$/) + guides = Dir.entries(source_dir).grep(GUIDES_RE) ENV.key?("ONLY") ? select_only(guides) : guides end @@ -59,7 +61,7 @@ module RailsGuides end def output_file_for(guide) - guide.sub(/\.textile(?:\.erb)?$/, '.html') + guide.sub(GUIDES_RE, '.html') end def generate?(source_file, output_file) @@ -74,10 +76,9 @@ module RailsGuides view = ActionView::Base.new(source_dir) view.extend(Helpers) - if guide =~ /\.textile\.erb$/ + if guide =~ /\.html\.erb$/ # Generate the erb pages with textile formatting - e.g. index/authors result = view.render(:layout => 'layout', :file => guide) - result = textile(result) else body = File.read(File.join(source_dir, guide)) body = set_header_section(body, view) @@ -87,12 +88,9 @@ module RailsGuides warn_about_broken_links(result) if ENV.key?("WARN_BROKEN_LINKS") end - - # FIXME: If the doctype is in the layout textile escapes it. - # Things should be set up in a way that prevents that, a doctype - # belongs to the layout. - result = insert_doctype(result) + result = insert_edge_badge(result) if ENV.key?('INSERT_EDGE_BADGE') + f.write result end end @@ -203,13 +201,6 @@ module RailsGuides end end end - - def insert_doctype(html) - <<EOS + html -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -EOS - end def insert_edge_badge(html) html.sub(/<body[^>]*>/, '\&<img src="images/edge_badge.png" style="position:fixed; right:0px; top:0px; border:none; z-index:100"/>') |