Merge pull request #424 from middleman/remove_ruby_autoload
Remove usage of autoload statement in favor of require
This commit is contained in:
commit
b486b5a31d
|
@ -3,7 +3,12 @@ libdir = File.expand_path(File.dirname(__FILE__))
|
|||
$LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir)
|
||||
|
||||
# Top-level Middleman namespace
|
||||
module Middleman; end
|
||||
module Middleman
|
||||
|
||||
# Backwards compatibility namespace
|
||||
module Features; end
|
||||
|
||||
end
|
||||
|
||||
require "middleman-core/version"
|
||||
require "middleman-core/util"
|
||||
|
|
|
@ -9,6 +9,8 @@ require "middleman-core/vendor/hooks-0.2.0/lib/hooks"
|
|||
|
||||
require "middleman-core/sitemap"
|
||||
|
||||
require "middleman-core/core_extensions"
|
||||
|
||||
# Core Middleman Class
|
||||
module Middleman
|
||||
class Application
|
||||
|
@ -160,14 +162,35 @@ module Middleman
|
|||
register Middleman::CoreExtensions::I18n
|
||||
|
||||
# Built-in Extensions
|
||||
Middleman::Extensions.register(:directory_indexes) {
|
||||
Middleman::Extensions::DirectoryIndexes }
|
||||
Middleman::Extensions.register(:lorem) {
|
||||
Middleman::Extensions::Lorem }
|
||||
Middleman::Extensions.register(:automatic_image_sizes) {
|
||||
Middleman::Extensions::AutomaticImageSizes }
|
||||
Middleman::Extensions.register(:asset_host) {
|
||||
Middleman::Extensions::AssetHost }
|
||||
|
||||
# Provide Apache-style index.html files for directories
|
||||
Middleman::Extensions.register(:directory_indexes) do
|
||||
require "middleman-core/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.
|
||||
Middleman::Extensions.register(:lorem) do
|
||||
require "middleman-core/extensions/lorem"
|
||||
Middleman::Extensions::Lorem
|
||||
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
|
||||
|
||||
# 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
|
||||
|
||||
# Initialize the Middleman project
|
||||
def initialize(&block)
|
||||
|
|
|
@ -5,13 +5,6 @@ require "thor/group"
|
|||
# CLI Module
|
||||
module Middleman::Cli
|
||||
|
||||
module Cli
|
||||
autoload :Build, "middleman-core/cli/build"
|
||||
autoload :Init, "middleman-core/cli/init"
|
||||
autoload :Extension, "middleman-core/cli/extension"
|
||||
autoload :Server, "middleman-core/cli/server"
|
||||
end
|
||||
|
||||
# The base task from which everything else etends
|
||||
class Base < Thor
|
||||
|
||||
|
|
39
middleman-core/lib/middleman-core/core_extensions.rb
Normal file
39
middleman-core/lib/middleman-core/core_extensions.rb
Normal file
|
@ -0,0 +1,39 @@
|
|||
# Rack Request
|
||||
require "middleman-core/core_extensions/request"
|
||||
|
||||
# File Change Notifier
|
||||
require "middleman-core/core_extensions/file_watcher"
|
||||
|
||||
# Add Builder callbacks
|
||||
require "middleman-core/core_extensions/builder"
|
||||
|
||||
# Custom Feature API
|
||||
require "middleman-core/core_extensions/extensions"
|
||||
|
||||
# Asset Path Pipeline
|
||||
require "middleman-core/core_extensions/assets"
|
||||
|
||||
# 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"
|
||||
|
||||
# DefaultHelpers are the built-in dynamic template helpers.
|
||||
require "middleman-core/core_extensions/default_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"
|
||||
|
||||
# i18n
|
||||
require "middleman-core/core_extensions/i18n"
|
|
@ -1,9 +1,11 @@
|
|||
# Base helper to manipulate asset paths
|
||||
module Middleman::CoreExtensions::Assets
|
||||
module Middleman
|
||||
module CoreExtensions
|
||||
|
||||
# Base helper to manipulate asset paths
|
||||
module Assets
|
||||
|
||||
# Extension registered
|
||||
class << self
|
||||
# @private
|
||||
def registered(app)
|
||||
# Disable Padrino cache buster
|
||||
app.set :asset_stamp, false
|
||||
|
@ -36,4 +38,6 @@ module Middleman::CoreExtensions::Assets
|
|||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,5 +1,8 @@
|
|||
# Convenience methods to allow config.rb to talk to the Builder
|
||||
module Middleman::CoreExtensions::Builder
|
||||
module Middleman
|
||||
module CoreExtensions
|
||||
|
||||
# Convenience methods to allow config.rb to talk to the Builder
|
||||
module Builder
|
||||
|
||||
# Extension registered
|
||||
class << self
|
||||
|
@ -9,4 +12,6 @@ module Middleman::CoreExtensions::Builder
|
|||
end
|
||||
alias :included :registered
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,15 +1,18 @@
|
|||
# Data formats
|
||||
require "yaml"
|
||||
require "active_support/json"
|
||||
module Middleman
|
||||
module CoreExtensions
|
||||
|
||||
# The data extension parses YAML and JSON files in the data/ directory
|
||||
# and makes them available to config.rb, templates and extensions
|
||||
module Middleman::CoreExtensions::Data
|
||||
# The data extension parses YAML and JSON files in the data/ directory
|
||||
# and makes them available to config.rb, templates and extensions
|
||||
module Data
|
||||
|
||||
# Extension registered
|
||||
class << self
|
||||
# @private
|
||||
def registered(app)
|
||||
# Data formats
|
||||
require "yaml"
|
||||
require "active_support/json"
|
||||
|
||||
app.set :data_dir, "data"
|
||||
app.send :include, InstanceMethods
|
||||
end
|
||||
|
@ -172,4 +175,6 @@ module Middleman::CoreExtensions::Data
|
|||
data
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,13 +1,15 @@
|
|||
require "active_support/core_ext/integer/inflections"
|
||||
require 'padrino-helpers'
|
||||
|
||||
# Built-in helpers
|
||||
module Middleman::CoreExtensions::DefaultHelpers
|
||||
module Middleman
|
||||
module CoreExtensions
|
||||
# Built-in helpers
|
||||
module DefaultHelpers
|
||||
|
||||
# Extension registered
|
||||
class << self
|
||||
# @private
|
||||
def registered(app)
|
||||
require "active_support/core_ext/integer/inflections"
|
||||
require 'padrino-helpers'
|
||||
|
||||
app.helpers ::Padrino::Helpers::OutputHelpers
|
||||
app.helpers ::Padrino::Helpers::TagHelpers
|
||||
app.helpers ::Padrino::Helpers::AssetTagHelpers
|
||||
|
@ -116,4 +118,6 @@ module Middleman::CoreExtensions::DefaultHelpers
|
|||
super(*args, &block)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -28,16 +28,18 @@
|
|||
# methods to use in your views. Some modify the output on-the-fly. And some
|
||||
# apply computationally-intensive changes to your final build files.
|
||||
|
||||
# Using for version parsing
|
||||
require "rubygems"
|
||||
|
||||
# Namespace extensions module
|
||||
module Middleman::CoreExtensions::Extensions
|
||||
module Middleman
|
||||
module CoreExtensions
|
||||
module Extensions
|
||||
|
||||
# Register extension
|
||||
class << self
|
||||
# @private
|
||||
def included(app)
|
||||
# Using for version parsing
|
||||
require "rubygems"
|
||||
|
||||
# app.set :default_extensions, []
|
||||
app.define_hook :after_configuration
|
||||
app.define_hook :before_configuration
|
||||
|
@ -149,4 +151,6 @@ module Middleman::CoreExtensions::Extensions
|
|||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,5 +1,7 @@
|
|||
# Load helpers in helpers/
|
||||
module Middleman::CoreExtensions::ExternalHelpers
|
||||
module Middleman
|
||||
module CoreExtensions
|
||||
module ExternalHelpers
|
||||
|
||||
# Setup extension
|
||||
class << self
|
||||
|
@ -32,4 +34,6 @@ module Middleman::CoreExtensions::ExternalHelpers
|
|||
end
|
||||
alias :included :registered
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,15 +1,17 @@
|
|||
require "find"
|
||||
require "middleman-core/watcher"
|
||||
require "set"
|
||||
|
||||
# API for watching file change events
|
||||
module Middleman::CoreExtensions::FileWatcher
|
||||
module Middleman
|
||||
module CoreExtensions
|
||||
module FileWatcher
|
||||
|
||||
# Setup extension
|
||||
class << self
|
||||
|
||||
# Once registered
|
||||
def registered(app)
|
||||
require "find"
|
||||
require "middleman-core/watcher"
|
||||
require "set"
|
||||
|
||||
app.extend ClassMethods
|
||||
app.send :include, InstanceMethods
|
||||
|
||||
|
@ -151,4 +153,6 @@ module Middleman::CoreExtensions::FileWatcher
|
|||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -5,7 +5,9 @@ require "yaml"
|
|||
require "tilt"
|
||||
|
||||
# Frontmatter namespace
|
||||
module Middleman::CoreExtensions::FrontMatter
|
||||
module Middleman
|
||||
module CoreExtensions
|
||||
module FrontMatter
|
||||
|
||||
# Setup extension
|
||||
class << self
|
||||
|
@ -205,4 +207,6 @@ module Middleman::CoreExtensions::FrontMatter
|
|||
[data, content]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
# i18n Namespace
|
||||
module Middleman::CoreExtensions::I18n
|
||||
module Middleman
|
||||
module CoreExtensions
|
||||
module I18n
|
||||
|
||||
# Setup extension
|
||||
class << self
|
||||
|
@ -139,4 +141,6 @@ module Middleman::CoreExtensions::I18n
|
|||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -9,7 +9,9 @@ class Tilt::Template
|
|||
end
|
||||
|
||||
# Rendering extension
|
||||
module Middleman::CoreExtensions::Rendering
|
||||
module Middleman
|
||||
module CoreExtensions
|
||||
module Rendering
|
||||
|
||||
# Setup extension
|
||||
class << self
|
||||
|
@ -364,4 +366,6 @@ module Middleman::CoreExtensions::Rendering
|
|||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,6 +1,7 @@
|
|||
# Base helper to manipulate asset paths
|
||||
module Middleman
|
||||
module CoreExtensions
|
||||
|
||||
# Base helper to manipulate asset paths
|
||||
module Request
|
||||
|
||||
# Extension registered
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
# Routing extension
|
||||
module Middleman::CoreExtensions::Routing
|
||||
module Middleman
|
||||
module CoreExtensions
|
||||
module Routing
|
||||
|
||||
# Setup extension
|
||||
class << self
|
||||
|
@ -85,4 +87,6 @@ module Middleman::CoreExtensions::Routing
|
|||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,14 +1,16 @@
|
|||
# Require lib
|
||||
require 'rack/showexceptions'
|
||||
|
||||
# Support rack/showexceptions during development
|
||||
module Middleman::CoreExtensions::ShowExceptions
|
||||
module Middleman
|
||||
module CoreExtensions
|
||||
module ShowExceptions
|
||||
|
||||
# Setup extension
|
||||
class << self
|
||||
|
||||
# Once registered
|
||||
def registered(app)
|
||||
# Require lib
|
||||
require 'rack/showexceptions'
|
||||
|
||||
# When in dev
|
||||
app.configure :development do
|
||||
# Include middlemare
|
||||
|
@ -23,4 +25,7 @@ module Middleman::CoreExtensions::ShowExceptions
|
|||
# TODO: Style this ourselves
|
||||
class Middleware < ::Rack::ShowExceptions
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,71 +1,6 @@
|
|||
module Middleman
|
||||
|
||||
# Backwards compatibility namespace
|
||||
module Features
|
||||
end
|
||||
|
||||
module CoreExtensions
|
||||
# Rack Request
|
||||
autoload :Request, "middleman-core/core_extensions/request"
|
||||
|
||||
# File Change Notifier
|
||||
autoload :FileWatcher, "middleman-core/core_extensions/file_watcher"
|
||||
|
||||
# In-memory Sitemap
|
||||
autoload :Sitemap, "middleman-core/core_extensions/sitemap"
|
||||
|
||||
# Add Builder callbacks
|
||||
autoload :Builder, "middleman-core/core_extensions/builder"
|
||||
|
||||
# Custom Feature API
|
||||
autoload :Extensions, "middleman-core/core_extensions/extensions"
|
||||
|
||||
# Asset Path Pipeline
|
||||
autoload :Assets, "middleman-core/core_extensions/assets"
|
||||
|
||||
# Data looks at the data/ folder for YAML files and makes them available
|
||||
# to dynamic requests.
|
||||
autoload :Data, "middleman-core/core_extensions/data"
|
||||
|
||||
# Parse YAML from templates
|
||||
autoload :FrontMatter, "middleman-core/core_extensions/front_matter"
|
||||
|
||||
# External helpers looks in the helpers/ folder for helper modules
|
||||
autoload :ExternalHelpers, "middleman-core/core_extensions/external_helpers"
|
||||
|
||||
# DefaultHelpers are the built-in dynamic template helpers.
|
||||
autoload :DefaultHelpers, "middleman-core/core_extensions/default_helpers"
|
||||
|
||||
# Extended version of Padrino's rendering
|
||||
autoload :Rendering, "middleman-core/core_extensions/rendering"
|
||||
|
||||
# Pass custom options to views
|
||||
autoload :Routing, "middleman-core/core_extensions/routing"
|
||||
|
||||
# Catch and show exceptions at the Rack level
|
||||
autoload :ShowExceptions, "middleman-core/core_extensions/show_exceptions"
|
||||
|
||||
# i18n
|
||||
autoload :I18n, "middleman-core/core_extensions/i18n"
|
||||
end
|
||||
|
||||
module Extensions
|
||||
# Provide Apache-style index.html files for directories
|
||||
autoload :DirectoryIndexes, "middleman-core/extensions/directory_indexes"
|
||||
|
||||
# Lorem provides a handful of helpful prototyping methods to generate
|
||||
# words, paragraphs, fake images, names and email addresses.
|
||||
autoload :Lorem, "middleman-core/extensions/lorem"
|
||||
|
||||
# AutomaticImageSizes inspects the images used in your dynamic templates
|
||||
# and automatically adds width and height attributes to their HTML
|
||||
# elements.
|
||||
autoload :AutomaticImageSizes, "middleman-core/extensions/automatic_image_sizes"
|
||||
|
||||
# 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.
|
||||
autoload :AssetHost, "middleman-core/extensions/asset_host"
|
||||
|
||||
class << self
|
||||
def registered
|
||||
|
|
|
@ -51,7 +51,4 @@ module Middleman::Extensions
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Register the extension
|
||||
register :directory_indexes, DirectoryIndexes
|
||||
end
|
|
@ -192,7 +192,4 @@ module Middleman::Extensions
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Register the extension
|
||||
register :lorem, Lorem
|
||||
end
|
|
@ -1,15 +1,14 @@
|
|||
require "middleman-core/sitemap/store"
|
||||
require "middleman-core/sitemap/resource"
|
||||
|
||||
require "middleman-core/sitemap/extensions/on_disk"
|
||||
require "middleman-core/sitemap/extensions/proxies"
|
||||
require "middleman-core/sitemap/extensions/ignores"
|
||||
|
||||
# Core Sitemap Extensions
|
||||
module Middleman::Sitemap
|
||||
module Middleman
|
||||
|
||||
autoload :Store, "middleman-core/sitemap/store"
|
||||
autoload :Resource, "middleman-core/sitemap/resource"
|
||||
|
||||
module Extensions
|
||||
autoload :OnDisk, "middleman-core/sitemap/extensions/on_disk"
|
||||
autoload :Proxies, "middleman-core/sitemap/extensions/proxies"
|
||||
autoload :Ignores, "middleman-core/sitemap/extensions/ignores"
|
||||
autoload :Traversal, "middleman-core/sitemap/extensions/traversal"
|
||||
end
|
||||
module Sitemap
|
||||
|
||||
# Setup Extension
|
||||
class << self
|
||||
|
@ -75,4 +74,5 @@ module Middleman::Sitemap
|
|||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,4 +1,8 @@
|
|||
module Middleman::Sitemap::Extensions
|
||||
module Middleman
|
||||
|
||||
module Sitemap
|
||||
|
||||
module Extensions
|
||||
|
||||
module Ignores
|
||||
|
||||
|
@ -82,4 +86,6 @@ module Middleman::Sitemap::Extensions
|
|||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,6 +1,11 @@
|
|||
require 'set'
|
||||
|
||||
module Middleman::Sitemap::Extensions
|
||||
module Middleman
|
||||
|
||||
module Sitemap
|
||||
|
||||
module Extensions
|
||||
|
||||
class OnDisk
|
||||
|
||||
attr_accessor :sitemap
|
||||
|
@ -74,4 +79,6 @@ module Middleman::Sitemap::Extensions
|
|||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,4 +1,8 @@
|
|||
module Middleman::Sitemap::Extensions
|
||||
module Middleman
|
||||
|
||||
module Sitemap
|
||||
|
||||
module Extensions
|
||||
|
||||
module Proxies
|
||||
|
||||
|
@ -95,5 +99,6 @@ module Middleman::Sitemap::Extensions
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,4 +1,9 @@
|
|||
module Middleman::Sitemap::Extensions
|
||||
module Middleman
|
||||
|
||||
module Sitemap
|
||||
|
||||
module Extensions
|
||||
|
||||
module Traversal
|
||||
# This resource's parent resource
|
||||
# @return [Middleman::Sitemap::Resource, nil]
|
||||
|
@ -74,4 +79,6 @@ module Middleman::Sitemap::Extensions
|
|||
path.sub(ext, '/').sub(/\/$/, "") + "/"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,5 +1,9 @@
|
|||
# Sitemap namespace
|
||||
module Middleman::Sitemap
|
||||
require "middleman-core/sitemap/extensions/traversal"
|
||||
|
||||
module Middleman
|
||||
|
||||
# Sitemap namespace
|
||||
module Sitemap
|
||||
|
||||
# Sitemap Resource class
|
||||
class Resource
|
||||
|
@ -145,4 +149,5 @@ module Middleman::Sitemap
|
|||
'/' + destination_path.sub(/#{Regexp.escape(app.index_file)}$/, '')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,8 +1,10 @@
|
|||
# Used for merging results of metadata callbacks
|
||||
require "active_support/core_ext/hash/deep_merge"
|
||||
|
||||
# Sitemap namespace
|
||||
module Middleman::Sitemap
|
||||
module Middleman
|
||||
|
||||
# Sitemap namespace
|
||||
module Sitemap
|
||||
|
||||
# The Store class
|
||||
#
|
||||
|
@ -205,4 +207,5 @@ module Middleman::Sitemap
|
|||
path
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue