diff options
Diffstat (limited to 'guides/rails_guides/generator.rb')
-rw-r--r-- | guides/rails_guides/generator.rb | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/guides/rails_guides/generator.rb b/guides/rails_guides/generator.rb index 3d8f54ab34..2b2ccfa906 100644 --- a/guides/rails_guides/generator.rb +++ b/guides/rails_guides/generator.rb @@ -17,14 +17,14 @@ module RailsGuides class Generator GUIDES_RE = /\.(?:erb|md)\z/ - def initialize(edge:, version:, all:, only:, kindle:, language:, rtl: false) - @edge = edge - @version = version - @all = all - @only = only - @kindle = kindle - @language = language - @rtl = rtl + def initialize(edge:, version:, all:, only:, kindle:, language:, direction: "ltr") + @edge = edge + @version = version + @all = all + @only = only + @kindle = kindle + @language = language + @direction = direction if @kindle check_for_kindlegen @@ -43,7 +43,6 @@ module RailsGuides end private - def register_kindle_mime_types Mime::Type.register_alias("application/xml", :opf, %w(opf)) Mime::Type.register_alias("application/xml", :ncx, %w(ncx)) @@ -63,9 +62,9 @@ module RailsGuides end def mobi - mobi = "ruby_on_rails_guides_#{@version || @edge[0, 7]}" - mobi += ".#{@language}" if @language - mobi += ".mobi" + mobi = +"ruby_on_rails_guides_#{@version || @edge[0, 7]}" + mobi << ".#{@language}" if @language + mobi << ".mobi" end def initialize_dirs @@ -118,12 +117,15 @@ module RailsGuides def copy_assets FileUtils.cp_r(Dir.glob("#{@guides_dir}/assets/*"), @output_dir) - if @rtl - FileUtils.rm(Dir.glob("#{@output_dir}/stylesheets/main.css")) - FileUtils.mv("#{@output_dir}/stylesheets/main.rtl.css", "#{@output_dir}/stylesheets/main.css") + if @direction == "rtl" + overwrite_css_with_right_to_left_direction end end + def overwrite_css_with_right_to_left_direction + FileUtils.mv("#{@output_dir}/stylesheets/main.rtl.css", "#{@output_dir}/stylesheets/main.css") + end + def output_file_for(guide) if guide.end_with?(".md") guide.sub(/md\z/, "html") @@ -147,8 +149,8 @@ module RailsGuides puts "Generating #{guide} as #{output_file}" layout = @kindle ? "kindle/layout" : "layout" - view = ActionView::Base.new( - @source_dir, + view = ActionView::Base.with_empty_template_cache.with_view_paths( + [@source_dir], edge: @edge, version: @version, mobi: "kindle/#{mobi}", @@ -161,7 +163,7 @@ module RailsGuides # Generate the special pages like the home. # Passing a template handler in the template name is deprecated. So pass the file name without the extension. - result = view.render(layout: layout, formats: [$1], file: $`) + result = view.render(layout: layout, formats: [$1.to_sym], file: $`) else body = File.read("#{@source_dir}/#{guide}") result = RailsGuides::Markdown.new( |