Sha256: b6ccda50c4f94fd6283b743cb84289302130da756abd05a0993e99db009e20e3

Contents?: true

Size: 1.02 KB

Versions: 2

Compression:

Stored size: 1.02 KB

Contents

module Compass::SassExtensions::Functions::FontFiles
  FONT_TYPES = {
    :woff => 'woff',
    :otf => 'opentype',
    :opentype => 'opentype',
    :ttf => 'truetype',
    :truetype => 'truetype',
    :svg => 'svg',
    :eot => 'embedded-opentype'
  }

  def font_files(*args)
    files = []
    args_length = args.length
    skip_next = false

    args.each_with_index do |arg, index|
      if skip_next
        skip_next = false
        next
      end

      type = (args_length > (index + 1)) ? args[index + 1].value.to_sym : :wrong

      if FONT_TYPES.key? type
        skip_next = true
      else
        # let pass url like font.type?thing#stuff
        type = arg.to_s.split('.').last.gsub(/(\?(.*))?(#(.*))?"/, '').to_sym
      end

      if FONT_TYPES.key? type
        files << "#{font_url(arg)} format('#{FONT_TYPES[type]}')"
      else
        raise Sass::SyntaxError, "Could not determine font type for #{arg}"
      end
    end

    Sass::Script::String.new(files.join(", "))
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
compass-sourcemaps-0.12.3.sourcemaps.a4836f1 lib/compass/sass_extensions/functions/font_files.rb
compass-sourcemaps-0.12.2.sourcemaps.57a186c lib/compass/sass_extensions/functions/font_files.rb