Module: Middleman

Defined in:
middleman-core/lib/middleman-core.rb,
middleman-core/lib/middleman-core/util.rb,
middleman-core/lib/middleman-core/sitemap.rb,
middleman-core/lib/middleman-core/version.rb,
middleman-core/lib/middleman-core/watcher.rb,
middleman-core/lib/middleman-core/watcher.rb,
middleman-core/lib/middleman-core/extensions.rb,
middleman-core/lib/middleman-core/application.rb,
middleman-core/lib/middleman-core/sitemap/store.rb,
middleman-core/lib/middleman-core/renderers/erb.rb,
middleman-more/lib/middleman-more/renderers/haml.rb,
middleman-more/lib/middleman-more/renderers/slim.rb,
middleman-more/lib/middleman-more/renderers/sass.rb,
middleman-more/lib/middleman-more/renderers/liquid.rb,
middleman-core/lib/middleman-core/sitemap/resource.rb,
middleman-more/lib/middleman-more/renderers/markdown.rb,
middleman-core/lib/middleman-core/core_extensions/data.rb,
middleman-core/lib/middleman-core/core_extensions/i18n.rb,
middleman-more/lib/middleman-more/extensions/minify_css.rb,
middleman-core/lib/middleman-core/core_extensions/assets.rb,
middleman-core/lib/middleman-core/core_extensions/request.rb,
middleman-core/lib/middleman-core/core_extensions/builder.rb,
middleman-more/lib/middleman-more/renderers/coffee_script.rb,
middleman-more/lib/middleman-more/extensions/cache_buster.rb,
middleman-core/lib/middleman-core/core_extensions/routing.rb,
middleman-more/lib/middleman-more/core_extensions/compass.rb,
middleman-more/lib/middleman-more/extensions/relative_assets.rb,
middleman-core/lib/middleman-core/sitemap/extensions/proxies.rb,
middleman-core/lib/middleman-core/core_extensions/extensions.rb,
middleman-core/lib/middleman-core/sitemap/extensions/ignores.rb,
middleman-core/lib/middleman-core/sitemap/extensions/on_disk.rb,
middleman-more/lib/middleman-more/extensions/minify_javascript.rb,
middleman-core/lib/middleman-core/core_extensions/file_watcher.rb,
middleman-core/lib/middleman-core/sitemap/extensions/traversal.rb,
middleman-core/lib/middleman-core/core_extensions/default_helpers.rb,
middleman-core/lib/middleman-core/core_extensions/show_exceptions.rb,
middleman-core/lib/middleman-core/core_extensions/external_helpers.rb,
middleman-core/lib/middleman-core/core_extensions/rendering.rb

Overview

Rendering extension

Defined Under Namespace

Modules: Cli, CoreExtensions, Extensions, Features, Renderers, Sitemap, Templates, Util Classes: Application, Watcher

Constant Summary

VERSION =
'3.0.0.beta.3'
GEM_VERSION =
::Gem::Version.create(VERSION)
WINDOWS =
!!(RUBY_PLATFORM =~ /(mingw|bccwin|wince|mswin32)/i) unless
EXTENSION_FILE =
File.join("lib", "middleman_extension.rb")

Class Method Summary (collapse)

Class Method Details

+ (Object) load_extensions_in_path

Automatically load extensions from available RubyGems which contain the EXTENSION_FILE



77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'middleman-core/lib/middleman-core/extensions.rb', line 77

def load_extensions_in_path
  if defined?(Bundler)
    Bundler.require
  else
    extensions = rubygems_latest_specs.select do |spec|
      spec_has_file?(spec, EXTENSION_FILE)
    end

    extensions.each do |spec|
      require spec.name
    end
  end
end

+ (Array) rubygems_latest_specs

Backwards compatible means of finding all the latest gemspecs available on the system

Returns:

  • (Array)

    Array of latest Gem::Specification



96
97
98
99
100
101
102
103
# File 'middleman-core/lib/middleman-core/extensions.rb', line 96

def rubygems_latest_specs
  # If newer Rubygems
  if ::Gem::Specification.respond_to? :latest_specs
    ::Gem::Specification.latest_specs
  else
    ::Gem.source_index.latest_specs
  end
end

+ (Class) server(&block)

Create a new Class which is based on Middleman::Application Used to create a safe sandbox into which extensions and configuration can be included later without impacting other classes and instances.

Returns:

  • (Class)


273
274
275
276
277
# File 'middleman-core/lib/middleman-core/application.rb', line 273

def server(&block)
  @@servercounter ||= 0
  @@servercounter += 1
  const_set("MiddlemanApplication#{@@servercounter}", Class.new(Middleman::Application))
end

+ (Boolean) spec_has_file?(spec, path)

Where a given Gem::Specification has a specific file. Used to discover extensions and Sprockets-supporting gems.

Parameters:

  • spec (Gem::Specification)
  • path (String)

    Path to look for

Returns:

  • (Boolean)

    Whether the file exists



112
113
114
115
# File 'middleman-core/lib/middleman-core/extensions.rb', line 112

def spec_has_file?(spec, path)
  full_path = File.join(spec.full_gem_path, path)
  File.exists?(full_path)
end

+ (Rack::Server) start_server(options = {})

Creates a new Rack::Server

Parameters:

  • options (Hash) (defaults to: {})

    to pass to Rack::Server.new

Returns:

  • (Rack::Server)


283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
# File 'middleman-core/lib/middleman-core/application.rb', line 283

def start_server(options={})
  opts = {
    :Port      => options[:port] || 4567,
    :Host      => options[:host] || "0.0.0.0",
    :AccessLog => []
  }

  app_class = options[:app] ||= ::Middleman.server.inst
  opts[:app] = app_class

  require "webrick"
  opts[:Logger] = WEBrick::Log::new("/dev/null", 7) if !options[:logging]
  opts[:server] = 'webrick'

  server = ::Rack::Server.new(opts)
  server.start
  server
end