class Middleman::Extension
def config
def config @_config ||= ::Middleman::Configuration::ConfigurationManager.new end
def extension_name
def extension_name self.ext_name || self.name.underscore.split("/").last.to_sym end
def helpers(&block)
def helpers(&block) self.defined_helpers ||= [] m = Module.new m.module_eval(&block) self.defined_helpers << m end
def initialize(klass, options_hash={})
def initialize(klass, options_hash={}) @_helpers = [] @options = self.class.config.dup @options.finalize! options_hash.each do |k, v| @options[k] = v end yield @options if block_given? ext = self klass.initialized do ext.app = self (ext.class.defined_helpers || []).each do |m| ext.app.class.send(:include, m) end end klass.after_configuration do if ext.respond_to?(:after_configuration) ext.after_configuration end if ext.respond_to?(:manipulate_resource_list) ext.app.sitemap.register_resource_list_manipulator(ext.class.extension_name, ext) end end end
def option(key, default=nil, description=nil)
def option(key, default=nil, description=nil) config.define_setting(key, default, description) end
def register(n=self.extension_name)
def register(n=self.extension_name) ::Middleman::Extensions.register(n, self) end