Sha256: 5099ea5aa438331e9bc93c5ebb42d3618437684736ae38f561a9bc6c92993b36

Contents?: true

Size: 1.17 KB

Versions: 7

Compression:

Stored size: 1.17 KB

Contents

require 'rake'

module RevealCK
  module Builders
    # Given a slides.html, a Rake application, a template for building
    # out a reveal.js index.html, and a place where the resulting
    # index.html file should end up, this class knows how to work with
    # Rake and create the index.html.
    class CreateIndexHtml < CreationTask
      attr_reader :slides_html, :template, :output_dir, :config

      def initialize(args)
        @slides_html = retrieve(:slides_html, args)
        @template = retrieve(:template, args)
        @output_dir = retrieve(:output_dir, args)
        @config = retrieve(:config, args)
        super
      end

      def setup
        index_html_file = "#{output_dir}/index.html"
        task(index_html_file => slides_html) do
          content = IndexHtml.new(slides_html: slides_html,
                                  head_prefix: config.head_prefix,
                                  template: template,
                                  config: config).render
          File.open(index_html_file, 'w') do |index_html|
            index_html.puts(content)
          end
        end
        things_to_create.add(index_html_file)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
reveal-ck-3.9.2 lib/reveal-ck/builders/create_index_html.rb
reveal-ck-3.9.1 lib/reveal-ck/builders/create_index_html.rb
reveal-ck-3.9.0 lib/reveal-ck/builders/create_index_html.rb
reveal-ck-3.8.1 lib/reveal-ck/builders/create_index_html.rb
reveal-ck-3.8.0 lib/reveal-ck/builders/create_index_html.rb
reveal-ck-3.7.0 lib/reveal-ck/builders/create_index_html.rb
reveal-ck-3.6.0 lib/reveal-ck/builders/create_index_html.rb