lib/middleman-more.rb in middleman-more-3.0.0.beta.3 vs lib/middleman-more.rb in middleman-more-3.0.0.rc.1
- old
+ new
@@ -1,6 +1,121 @@
+require "middleman-core"
+
# Setup our load paths
libdir = File.expand_path(File.dirname(__FILE__))
$LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir)
-require "middleman-core"
-require "middleman-more/register_extensions"
\ No newline at end of file
+module Middleman
+ module More
+
+ # Setup extension
+ class << self
+
+ # Once registered
+ def registered(app, options={})
+ ###
+ # Setup Core Extensions
+ ###
+
+ # Setup default helpers
+ require "middleman-more/core_extensions/default_helpers"
+ Middleman::Application.register Middleman::CoreExtensions::DefaultHelpers
+
+ # Setup asset path pipeline
+ require "middleman-more/core_extensions/assets"
+ Middleman::Application.register Middleman::CoreExtensions::Assets
+
+ # i18n
+ require "i18n"
+ app.after_configuration do
+ # This is for making the tests work - since the tests
+ # don't completely reload middleman, I18n.load_path can get
+ # polluted with paths from other test app directories that don't
+ # exist anymore.
+ ::I18n.load_path.delete_if {|path| path =~ %r{tmp/aruba}}
+ ::I18n.reload!
+ end
+
+ Middleman::Extensions.register(:i18n) do
+ require "middleman-more/core_extensions/i18n"
+ Middleman::CoreExtensions::Internationalization
+ end
+
+ # Compass framework
+ require "middleman-more/core_extensions/compass"
+ Middleman::Application.register Middleman::CoreExtensions::Compass
+
+ ###
+ # Setup Optional Extensions
+ ###
+
+ # 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-more/extensions/cache_buster"
+ Middleman::Extensions::CacheBuster
+ end
+
+ # MinifyCss compresses CSS
+ Middleman::Extensions.register(:minify_css) do
+ require "middleman-more/extensions/minify_css"
+ Middleman::Extensions::MinifyCss
+ end
+
+ # MinifyJavascript compresses JS
+ Middleman::Extensions.register(:minify_javascript) do
+ require "middleman-more/extensions/minify_javascript"
+ Middleman::Extensions::MinifyJavascript
+ 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-more/extensions/relative_assets"
+ Middleman::Extensions::RelativeAssets
+ end
+
+ # GZIP assets and pages during build
+ Middleman::Extensions.register(:gzip) do
+ require "middleman-more/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-more/extensions/asset_hash"
+ Middleman::Extensions::AssetHash
+ 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-more/extensions/asset_host"
+ Middleman::Extensions::AssetHost
+ end
+
+ # Provide Apache-style index.html files for directories
+ Middleman::Extensions.register(:directory_indexes) do
+ require "middleman-more/extensions/directory_indexes"
+ Middleman::Extensions::DirectoryIndexes
+ end
+
+ # Lorem provides a handful of helpful prototyping methods to generate
+ # words, paragraphs, fake images, names and email addresses.
+ require "middleman-more/extensions/lorem"
+ Middleman::Application.register Middleman::Extensions::Lorem
+
+ # 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-more/extensions/automatic_image_sizes"
+ Middleman::Extensions::AutomaticImageSizes
+ end
+ end
+ end
+ end
+end
+
+Middleman::Application.register Middleman::More