80 lines
2.8 KiB
Ruby
80 lines
2.8 KiB
Ruby
# Setup our load paths
|
|
libdir = File.expand_path(File.dirname(__FILE__))
|
|
$LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir)
|
|
|
|
require "middleman-core"
|
|
|
|
# Top-level Middleman object
|
|
module Middleman
|
|
|
|
# Custom Renderers
|
|
module Renderers
|
|
autoload :Haml, "middleman-more/renderers/haml"
|
|
autoload :Sass, "middleman-more/renderers/sass"
|
|
autoload :Markdown, "middleman-more/renderers/markdown"
|
|
autoload :Liquid, "middleman-more/renderers/liquid"
|
|
autoload :Slim, "middleman-more/renderers/slim"
|
|
end
|
|
|
|
# Core (automatic) extensions
|
|
module CoreExtensions
|
|
# Compass framework for Sass
|
|
autoload :Compass, "middleman-more/core_extensions/compass"
|
|
|
|
# Sprockets 2
|
|
autoload :Sprockets, "middleman-more/core_extensions/sprockets"
|
|
end
|
|
|
|
# User-activatable extensions
|
|
module Extensions
|
|
# RelativeAssets allow any asset path in dynamic templates to be either
|
|
# relative to the root of the project or use an absolute URL.
|
|
autoload :RelativeAssets, "middleman-more/extensions/relative_assets"
|
|
|
|
# CacheBuster adds a query string to assets in dynamic templates to avoid
|
|
# browser caches failing to update to your new content.
|
|
autoload :CacheBuster, "middleman-more/extensions/cache_buster"
|
|
|
|
# AssetHash appends a hash of the file contents to the assets filename
|
|
# to avoid browser caches failing to update to your new content.
|
|
autoload :AssetHash, "middleman-more/extensions/asset_hash"
|
|
|
|
# MinifyCss uses the YUI compressor to shrink CSS files
|
|
autoload :MinifyCss, "middleman-more/extensions/minify_css"
|
|
|
|
# MinifyJavascript uses the YUI compressor to shrink JS files
|
|
autoload :MinifyJavascript, "middleman-more/extensions/minify_javascript"
|
|
|
|
# GZIP assets and pages during build
|
|
autoload :Gzip, "middleman-more/extensions/gzip"
|
|
end
|
|
|
|
# Setup renderers
|
|
require "coffee_script"
|
|
Base.register Middleman::Renderers::Haml
|
|
Base.register Middleman::Renderers::Sass
|
|
Base.register Middleman::Renderers::Markdown
|
|
Base.register Middleman::Renderers::Liquid
|
|
Base.register Middleman::Renderers::Slim
|
|
|
|
# Compass framework
|
|
Base.register Middleman::CoreExtensions::Compass
|
|
|
|
# Sprockets asset handling
|
|
Base.register Middleman::CoreExtensions::Sprockets
|
|
|
|
# Register the optional extensions
|
|
Extensions.register(:cache_buster) {
|
|
::Middleman::Extensions::CacheBuster }
|
|
Extensions.register(:minify_css) {
|
|
::Middleman::Extensions::MinifyCss }
|
|
Extensions.register(:minify_javascript) {
|
|
::Middleman::Extensions::MinifyJavascript }
|
|
Extensions.register(:relative_assets) {
|
|
::Middleman::Extensions::RelativeAssets }
|
|
Extensions.register(:gzip) {
|
|
::Middleman::Extensions::Gzip }
|
|
Extensions.register(:asset_hash) {
|
|
::Middleman::Extensions::AssetHash }
|
|
end
|