Module: JekyllIS::Hookdown
- Defined in:
- lib/jekyll-is/hookdown/info.rb,
lib/jekyll-is/hookdown/extra.rb,
lib/jekyll-is/hookdown/setup.rb
Defined Under Namespace
Modules: Info
Class Method Summary collapse
- .current_page ⇒ Jekyll::Page or Jekyll::Document
- .enabled?(site = nil) ⇒ Boolean
- .register_element_hook(owner, *elements, priority: Jekyll::Hooks::DEFAULT_PRIORITY) {|page, element| ... } ⇒ Proc?
- .unregister_element_hook(block) ⇒ void
Class Method Details
.current_page ⇒ Jekyll::Page or Jekyll::Document
12 13 14 |
# File 'lib/jekyll-is/hookdown/setup.rb', line 12 def current_page Thread::current[:hookdown_current_page] end |
.enabled?(site = nil) ⇒ Boolean
17 18 19 20 |
# File 'lib/jekyll-is/hookdown/setup.rb', line 17 def enabled? site = nil @site ||= site @enabled ||= setup end |
.register_element_hook(owner, *elements, priority: Jekyll::Hooks::DEFAULT_PRIORITY) {|page, element| ... } ⇒ Proc?
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/jekyll-is/hookdown/extra.rb', line 20 def register_element_hook owner, *elements, priority: Jekyll::Hooks::DEFAULT_PRIORITY, &block if enabled? priority = Jekyll::Hooks::priority_value(priority) owners = owner.is_a?(Enumerable) ? owner.to_set : Set[ owner ] setup_element_hooks obj = { priority: priority, block: block, owners: owners, elements: elements.to_set } idx = @hooks.find_index { priority <= it[:priority] } if idx @hooks.insert idx, obj else @hooks.push obj end block else nil end end |
.unregister_element_hook(block) ⇒ void
This method returns an undefined value.
40 41 42 43 44 45 |
# File 'lib/jekyll-is/hookdown/extra.rb', line 40 def unregister_element_hook block if @hooks @hooks.reject! { it[:block] == block } end nil end |