Sha256: a2b20ea559657b2aa2ea218c1e5252f6428a6c943aa536d5e45a07bb1bdf5b94

Contents?: true

Size: 1.22 KB

Versions: 4

Compression:

Stored size: 1.22 KB

Contents

#!/usr/bin/env ruby

# A few helpful tips about the Rules file:
#
# * The string given to #compile and #route are matching patterns for
#   identifiers--not for paths. Therefore, you can’t match on extension.
#
# * The order of rules is important: for each item, only the first matching
#   rule is applied.
#
# * Item identifiers start and end with a slash (e.g. “/about/” for the file
#   “content/about.html”). To select all children, grandchildren, … of an
#   item, use the pattern “/about/*/”; “/about/*” will also select the parent,
#   because “*” matches zero or more characters.

compile '*' do
  if item.binary?
    # don’t filter binary items
  else
    case item[:extension]
    when "haml"
      filter :haml
    when "coffee"
      filter :coffeescript
    when "sass"
      filter :sass
    end
  end
end

route '*' do
  if item.binary?
    # Write item with identifier /foo/ to /foo.ext
    item.identifier.chop + '.' + item[:extension]
  else
    case item[ :extension ]
    when "coffee"
      item.identifier.chop + '.js'
    when 'sass'
      item.identifier.chop + '.css'
    when 'haml'
      item.identifier + 'index.html'
    else
      raise "not sure what to do with #{item}"
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
gitoe-0.1.3 Rules
gitoe-0.1.2 Rules
gitoe-0.1.1 Rules
gitoe-0.1.0 Rules