lib/middleman-core/core_extensions.rb



# Rack Request
require "middleman-core/core_extensions/request"

# File Change Notifier
require "middleman-core/core_extensions/file_watcher"

# Custom Feature API
require "middleman-core/core_extensions/extensions"

# Data looks at the data/ folder for YAML files and makes them available
# to dynamic requests.
require "middleman-core/core_extensions/data"

# Parse YAML from templates
require "middleman-core/core_extensions/front_matter"

# External helpers looks in the helpers/ folder for helper modules
require "middleman-core/core_extensions/external_helpers"

# Extended version of Padrino's rendering
require "middleman-core/core_extensions/rendering"

# Pass custom options to views
require "middleman-core/core_extensions/routing"

# Catch and show exceptions at the Rack level
require "middleman-core/core_extensions/show_exceptions"

# Setup default helpers
require "middleman-more/core_extensions/default_helpers"

require "middleman-more/core_extensions/i18n"

# Compass framework
begin
  require "middleman-more/core_extensions/compass"
rescue LoadError
  $stderr.puts "Compass not installed: #{$!}"
end

###
# Setup Optional Extensions
###

# CacheBuster adds a query string to assets in dynamic templates to
# avoid browser caches failing to update to your new content.
require "middleman-more/extensions/cache_buster"
Middleman::Extensions::CacheBuster.register

# RelativeAssets allow any asset path in dynamic templates to be either
# relative to the root of the project or use an absolute URL.
require "middleman-more/extensions/relative_assets"
Middleman::Extensions::RelativeAssets.register

# AssetHost allows you to setup multiple domains to host your static
# assets. Calls to asset paths in dynamic templates will then rotate
# through each of the asset servers to better spread the load.
require "middleman-more/extensions/asset_host"
Middleman::Extensions::AssetHost.register

# MinifyCss compresses CSS
require "middleman-more/extensions/minify_css"
Middleman::Extensions::MinifyCss.register

# MinifyJavascript compresses JS
require "middleman-more/extensions/minify_javascript"
Middleman::Extensions::MinifyJavascript.register

# GZIP assets and pages during build
require "middleman-more/extensions/gzip"
Middleman::Extensions::Gzip.register

# AssetHash appends a hash of the file contents to the assets filename
# to avoid browser caches failing to update to your new content.
require "middleman-more/extensions/asset_hash"
Middleman::Extensions::AssetHash.register

# Provide Apache-style index.html files for directories
require "middleman-more/extensions/directory_indexes"
Middleman::Extensions::DirectoryIndexes.register

# Lorem provides a handful of helpful prototyping methods to generate
# words, paragraphs, fake images, names and email addresses.
require "middleman-more/extensions/lorem"

# AutomaticImageSizes inspects the images used in your dynamic templates
# and automatically adds width and height attributes to their HTML
# elements.
require "middleman-more/extensions/automatic_image_sizes"
Middleman::Extensions::AutomaticImageSizes.register