Sha256: 67dbcbdc276af385ebfac12db70dbad6486fa4c70f9c3c16b008d62f4c5c0b12

Contents?: true

Size: 1.25 KB

Versions: 4

Compression:

Stored size: 1.25 KB

Contents

# encoding: utf-8
module Middleman
  module Presentation
    # Helper module
    module Helpers
      # Yield slides
      def yield_slides
        list = SlideList.new(Dir.glob(File.join(source_dir, extensions[:presentation].options.slides_directory, '**', '*')), slide_builder: ExistingSlide, base_path: source_dir) 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(root, extensions[:presentation].options.slides_ignore_file)
          l.transform_with Transformers::SortSlides.new
          l.transform_with Transformers::GroupSlides.new template: Erubis::Eruby.new(GroupTemplate.new(working_directory: root).content)
        end

        list.all.map do |element|
          begin
            element.render { |path| partial(path).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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
middleman-presentation-0.15.8 lib/middleman-presentation/helpers/slides.rb
middleman-presentation-0.15.7 lib/middleman-presentation/helpers/slides.rb
middleman-presentation-0.15.6 lib/middleman-presentation/helpers/slides.rb
middleman-presentation-0.15.5 lib/middleman-presentation/helpers/slides.rb