###
# Page options, layouts, aliases and proxies
###

# Per-page layout changes:
#
# With no layout
page '/*.xml', layout: false
page '/*.json', layout: false
page '/*.txt', layout: false

# With alternative layout
# page "/path/to/file.html", layout: :otherlayout

# Proxy pages (http://middlemanapp.com/basics/dynamic-pages/)
# proxy "/this-page-has-no-template.html", "/template-file.html", locals: {
# which_fake_page: "Rendering a fake page with a local variable" }

###
# Helpers
###

###
# Environment List
###

# Server Environment
configure :server do

  # Debug assets
  set :debug_assets, true

end

# Development Environment
configure :development do

  #To activate the middleman-sprockets/ecmascript-6/bower
  require 'sprockets/es6'
  activate :sprockets do |s|
    s.supported_output_extensions << '.es6'
  end
  sprockets.append_path File.join root, "bower_components"

  # Automatic image dimensions on image_tag helpers
  activate :automatic_image_sizes

  # Autoprefixer
  activate :autoprefixer do |prefix|
    prefix.browsers = "last 2 versions"
  end

  # Reload the browser automatically whenever files change
  activate :livereload,  :no_swf => true

  # Haml Configuration
  # Disable Haml warnings
  Haml::TempleEngine.disable_option_validator!
  Haml::Options.defaults[:format] = :html5

  # Assets Pipeline Sets
  set :css_dir, 'assets/stylesheets'
  set :js_dir, 'assets/javascripts'
  set :images_dir, 'assets/images'
  set :fonts_dir, 'assets/fonts'

  # Pretty URLs
  # activate :directory_indexes

end

# Build Environment
configure :build do

  #To activate the middleman-sprockets
  require 'sprockets/es6'
  activate :sprockets do |s|
    s.supported_output_extensions << '.es6'
  end

  # Minify CSS on build
  activate :minify_css

  # Minify Javascript on build
  activate :minify_javascript

  # GZIP text files
  # activate :gzip

  # Use relative URLs
  activate :relative_assets

  # Middleman Deploy (https://github.com/middleman-contrib/middleman-deploy/)
  #activate :deploy do |deploy|
  #  deploy.deploy_method = :git
  #  Optional Settings
  #  deploy.remote   = '.....' # remote name or git url, default: origin
  #  deploy.branch   = 'gh-pages' # default: gh-pages
  #  deploy.strategy = :submodule # commit strategy: can be :force_push or :submodule, default: :force_push
  #  deploy.commit_message = 'custom-message' # commit message (can be empty), default: Automated commit at `timestamp` by middleman-deploy `version`
  #end

end

# Production Environment
configure :production do

  # Assets Pipeline Sets
  set :css_dir, 'assets/stylesheets'
  set :js_dir, 'assets/javascripts'
  set :images_dir, 'assets/images'
  set :fonts_dir, 'assets/fonts'

  # Middleman Production dev server run code
  # 'middleman server -e production'

end
