Sha256: d3dbd9f90addd807694d83d81a7096198bff9e2ffb3fd1ad69840b26c7dbf1d4

Contents?: true

Size: 1.58 KB

Versions: 12

Compression:

Stored size: 1.58 KB

Contents

require 'jsduck/img/dir_set'
require 'jsduck/img/writer'
require 'jsduck/welcome'
require 'jsduck/guides'
require 'jsduck/videos'
require 'jsduck/examples'
require 'jsduck/categories/factory'
require 'jsduck/format/doc'
require 'jsduck/news'

module JsDuck

  # Binds together: Welcome page, Categories, Images, Guides, Videos,
  # Examples.
  #
  # Often we need to pass guides/videos/examples/... to several
  # classes. Having all these assets together in here, means we just
  # need to pass one value instead of 3 or more.
  class Assets
    attr_reader :images
    attr_reader :welcome
    attr_reader :guides
    attr_reader :videos
    attr_reader :examples
    attr_reader :categories
    attr_reader :news

    def initialize(relations, opts)
      @relations = relations
      @opts = opts

      doc_formatter = Format::Doc.new(@relations, @opts)

      @images = Img::DirSet.new(@opts.images, "images")
      @welcome = Welcome.create(@opts.welcome, doc_formatter)
      @guides = Guides.create(@opts.guides, doc_formatter, @opts)
      @videos = Videos.create(@opts.videos)
      @examples = Examples.create(@opts.examples, @opts)
      @categories = Categories::Factory.create(@opts.categories_path, doc_formatter, @relations)
      @news = News.create(@relations, doc_formatter, @opts)
    end

    # Writes out the assets that can be written out separately:
    # guides, images.
    #
    # Welcome page and categories are written in JsDuck::IndexHtml
    def write
      @guides.write(@opts.output_dir+"/guides")
      Img::Writer.copy(@images.all_used, @opts.output_dir+"/images")
    end

  end

end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
jsduck-5.3.4 lib/jsduck/assets.rb
jsduck-5.3.3 lib/jsduck/assets.rb
jsduck-5.3.2 lib/jsduck/assets.rb
jsduck-5.3.1 lib/jsduck/assets.rb
jsduck-5.3.0 lib/jsduck/assets.rb
jsduck-5.2.0 lib/jsduck/assets.rb
jsduck-5.1.0 lib/jsduck/assets.rb
jsduck-5.0.1 lib/jsduck/assets.rb
jsduck-5.0.0 lib/jsduck/assets.rb
jsduck-5.0.0.beta5 lib/jsduck/assets.rb
jsduck-5.0.0.beta4 lib/jsduck/assets.rb
jsduck-5.0.0.beta3 lib/jsduck/assets.rb