49 lines
1 KiB
Ruby
49 lines
1 KiB
Ruby
|
# Require core library
|
||
|
require "middleman-core"
|
||
|
|
||
|
# Extension namespace
|
||
|
module MyExtension
|
||
|
class << self
|
||
|
|
||
|
# Called when user `activate`s your extension
|
||
|
def registered(app, options={})
|
||
|
# Setup extension-specific config
|
||
|
app.set :config_variable, false
|
||
|
|
||
|
# Include class methods
|
||
|
# app.extend ClassMethods
|
||
|
|
||
|
# Include instance methods
|
||
|
# app.send :include, InstanceMethods
|
||
|
|
||
|
app.after_configuration do
|
||
|
# Do something
|
||
|
|
||
|
# config_variable is now either the default or the user's
|
||
|
# setting from config.rb
|
||
|
end
|
||
|
end
|
||
|
alias :included :registered
|
||
|
end
|
||
|
|
||
|
# module ClassMethods
|
||
|
# def a_class_method
|
||
|
# end
|
||
|
# end
|
||
|
|
||
|
# module InstanceMethods
|
||
|
# def an_instance_method
|
||
|
# end
|
||
|
# end
|
||
|
|
||
|
end
|
||
|
|
||
|
|
||
|
# Register extensions which can be activated
|
||
|
# Make sure we have the version of Middleman we expect
|
||
|
# ::Middleman::Extensions.register(:extension_name) do
|
||
|
#
|
||
|
# # Return the extension module
|
||
|
# ::MyExtension
|
||
|
#
|
||
|
# end
|