147 lines
5.1 KiB
Ruby
147 lines
5.1 KiB
Ruby
require 'middleman-core/extensions'
|
|
|
|
# File Change Notifier
|
|
Middleman::Extensions.register :file_watcher, auto_activate: :before_sitemap do
|
|
require 'middleman-core/core_extensions/file_watcher'
|
|
Middleman::CoreExtensions::FileWatcher
|
|
end
|
|
|
|
# Parse YAML from templates
|
|
Middleman::Extensions.register :front_matter, auto_activate: :before_sitemap do
|
|
require 'middleman-core/core_extensions/front_matter'
|
|
Middleman::CoreExtensions::FrontMatter
|
|
end
|
|
|
|
# Data looks at the data/ folder for YAML files and makes them available
|
|
# to dynamic requests.
|
|
Middleman::Extensions.register :data, auto_activate: :before_sitemap do
|
|
require 'middleman-core/core_extensions/data'
|
|
Middleman::CoreExtensions::Data
|
|
end
|
|
|
|
# Rewrite embedded URLs via Rack
|
|
Middleman::Extensions.register :inline_url_rewriter, auto_activate: :before_sitemap do
|
|
require 'middleman-core/core_extensions/inline_url_rewriter'
|
|
Middleman::CoreExtensions::InlineURLRewriter
|
|
end
|
|
|
|
# Catch and show exceptions at the Rack level
|
|
Middleman::Extensions.register :show_exceptions, auto_activate: :before_configuration, modes: [:server] do
|
|
require 'middleman-core/core_extensions/show_exceptions'
|
|
Middleman::CoreExtensions::ShowExceptions
|
|
end
|
|
|
|
# External helpers looks in the helpers/ folder for helper modules
|
|
Middleman::Extensions.register :external_helpers, auto_activate: :before_configuration do
|
|
require 'middleman-core/core_extensions/external_helpers'
|
|
Middleman::CoreExtensions::ExternalHelpers
|
|
end
|
|
|
|
# Extended version of Padrino's rendering
|
|
require 'middleman-core/core_extensions/rendering'
|
|
|
|
# Setup default helpers
|
|
Middleman::Extensions.register :default_helpers, auto_activate: :before_configuration do
|
|
require 'middleman-core/core_extensions/default_helpers'
|
|
Middleman::CoreExtensions::DefaultHelpers
|
|
end
|
|
|
|
# Lorem provides a handful of helpful prototyping methods to generate
|
|
# words, paragraphs, fake images, names and email addresses.
|
|
Middleman::Extensions.register :lorem, auto_activate: :before_configuration do
|
|
require 'middleman-core/extensions/lorem'
|
|
Middleman::Extensions::Lorem
|
|
end
|
|
|
|
Middleman::Extensions.register :routing, auto_activate: :before_configuration do
|
|
require 'middleman-core/core_extensions/routing'
|
|
Middleman::CoreExtensions::Routing
|
|
end
|
|
|
|
Middleman::Extensions.register :collections, auto_activate: :before_configuration do
|
|
require 'middleman-core/core_extensions/collections'
|
|
Middleman::CoreExtensions::Collections::CollectionsExtension
|
|
end
|
|
|
|
###
|
|
# Setup Optional Extensions
|
|
###
|
|
|
|
Middleman::Extensions.register :i18n do
|
|
require 'middleman-core/core_extensions/i18n'
|
|
Middleman::CoreExtensions::Internationalization
|
|
end
|
|
|
|
# CacheBuster adds a query string to assets in dynamic templates to
|
|
# avoid browser caches failing to update to your new content.
|
|
Middleman::Extensions.register :cache_buster do
|
|
require 'middleman-core/extensions/cache_buster'
|
|
Middleman::Extensions::CacheBuster
|
|
end
|
|
|
|
# RelativeAssets allow any asset path in dynamic templates to be either
|
|
# relative to the root of the project or use an absolute URL.
|
|
Middleman::Extensions.register :relative_assets do
|
|
require 'middleman-core/extensions/relative_assets'
|
|
Middleman::Extensions::RelativeAssets
|
|
end
|
|
|
|
# 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.
|
|
Middleman::Extensions.register :asset_host do
|
|
require 'middleman-core/extensions/asset_host'
|
|
Middleman::Extensions::AssetHost
|
|
end
|
|
|
|
# MinifyCss compresses CSS
|
|
Middleman::Extensions.register :minify_css do
|
|
require 'middleman-core/extensions/minify_css'
|
|
Middleman::Extensions::MinifyCss
|
|
end
|
|
|
|
# MinifyJavascript compresses JS
|
|
Middleman::Extensions.register :minify_javascript do
|
|
require 'middleman-core/extensions/minify_javascript'
|
|
Middleman::Extensions::MinifyJavascript
|
|
end
|
|
|
|
# GZIP assets and pages during build
|
|
Middleman::Extensions.register :gzip do
|
|
require 'middleman-core/extensions/gzip'
|
|
Middleman::Extensions::Gzip
|
|
end
|
|
|
|
# AssetHash appends a hash of the file contents to the assets filename
|
|
# to avoid browser caches failing to update to your new content.
|
|
Middleman::Extensions.register :asset_hash do
|
|
require 'middleman-core/extensions/asset_hash'
|
|
Middleman::Extensions::AssetHash
|
|
end
|
|
|
|
# Provide Apache-style index.html files for directories
|
|
Middleman::Extensions.register :directory_indexes do
|
|
require 'middleman-core/extensions/directory_indexes'
|
|
Middleman::Extensions::DirectoryIndexes
|
|
end
|
|
|
|
# AutomaticImageSizes inspects the images used in your dynamic templates
|
|
# and automatically adds width and height attributes to their HTML
|
|
# elements.
|
|
Middleman::Extensions.register :automatic_image_sizes do
|
|
require 'middleman-core/extensions/automatic_image_sizes'
|
|
Middleman::Extensions::AutomaticImageSizes
|
|
end
|
|
|
|
# AutomaticAltTags uses the file name of the `image_tag` to generate
|
|
# a default `:alt` value.
|
|
Middleman::Extensions.register :automatic_alt_tags do
|
|
require 'middleman-core/extensions/automatic_alt_tags'
|
|
Middleman::Extensions::AutomaticAltTags
|
|
end
|
|
|
|
Middleman::Extensions.register :external_pipeline do
|
|
require 'middleman-core/extensions/external_pipeline'
|
|
Middleman::Extensions::ExternalPipeline
|
|
end
|