Sha256: 399250d0b46876f521a11bd2cb98796b6cc29080cd474e25495e5c0c3422a9bb

Contents?: true

Size: 1.44 KB

Versions: 11

Compression:

Stored size: 1.44 KB

Contents

# encoding: utf-8
module Middleman
  module Presentation
    # Helper module
    module Helpers
      # Slides helpers
      module Slides
        # Yield slides
        def yield_slides
          environment = Middleman::Presentation::MiddlemanEnvironment.new

          list = SlideList.new(Dir.glob(File.join(environment.slides_path, '**', '*')), slide_builder: ExistingSlide, base_path: environment.sources_path) do |l|
            l.transform_with Transformers::FileKeeper.new
            l.transform_with Transformers::RemoveDuplicateSlides.new raise_error: true
            l.transform_with Transformers::IgnoreSlides.new ignore_file: File.join(environment.root_path, Middleman::Presentation.config.slides_ignore_file)
            l.transform_with Transformers::SortSlides.new
            l.transform_with Transformers::GroupSlides.new template: Erubis::Eruby.new(GroupTemplate.new(working_directory: environment.root_path).content)
          end

          list.all.map do |element|
            begin
              element.render { |path| render_template(path, {}, layout: nil).chomp }
            rescue StandardError => e
              message = []
              message << "Rendering slide \"#{element.partial_path}\" failed with"
              message << e.class.to_s + ': ' + e.message
              message << e.backtrace.join("\n")

              raise e.class, message.join("\n\n")
            end
          end.join("\n")
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
middleman-presentation-helpers-0.17.7 lib/middleman-presentation-helpers/helpers/slides.rb
middleman-presentation-helpers-0.17.6 lib/middleman-presentation-helpers/helpers/slides.rb
middleman-presentation-helpers-0.17.2 lib/middleman-presentation-helpers/helpers/slides.rb
middleman-presentation-helpers-0.17.1 lib/middleman-presentation-helpers/helpers/slides.rb
middleman-presentation-helpers-0.17.0 lib/middleman-presentation-helpers/helpers/slides.rb
middleman-presentation-helpers-0.16.3 lib/middleman-presentation-helpers/helpers/slides.rb
middleman-presentation-helpers-0.16.2 lib/middleman-presentation-helpers/helpers/slides.rb
middleman-presentation-helpers-0.16.0 lib/middleman-presentation-helpers/helpers/slides.rb
middleman-presentation-helpers-0.16.0.rc2 lib/middleman-presentation-helpers/helpers/slides.rb
middleman-presentation-helpers-0.1.0.rc1 lib/middleman-presentation-helpers/helpers/slides.rb
middleman-presentation-helpers-0.1.0.beta lib/middleman-presentation-helpers/helpers/slides.rb