Class: Slippery::Processors::RevealJs::AddRevealJs
- Inherits:
-
Object
- Object
- Slippery::Processors::RevealJs::AddRevealJs
show all
- Includes:
- Slippery::ProcessorHelpers
- Defined in:
- lib/slippery/processors/reveal_js/add_reveal_js.rb
Constant Summary
collapse
- DEFAULT_OPTIONS =
{theme: 'default'}.freeze
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
#asset_uri, #data_attributes, #include_local_css, #include_local_javascript, included, #javascript_include_tag, #stylesheet_link_tag
Constructor Details
#initialize(options = {}) ⇒ AddRevealJs
Returns a new instance of AddRevealJs.
15
16
17
|
# File 'lib/slippery/processors/reveal_js/add_reveal_js.rb', line 15
def initialize(options = {})
@options = DEFAULT_OPTIONS.merge(options).freeze
end
|
Instance Attribute Details
#attributes ⇒ Object
Returns the value of attribute attributes.
11
12
13
|
# File 'lib/slippery/processors/reveal_js/add_reveal_js.rb', line 11
def attributes
@attributes
end
|
Class Method Details
.call(doc) ⇒ Object
7
8
9
|
# File 'lib/slippery/processors/reveal_js/add_reveal_js.rb', line 7
def self.call(doc)
self.new.call(doc)
end
|
Instance Method Details
#call(doc) ⇒ Object
19
20
21
22
23
24
25
26
27
|
# File 'lib/slippery/processors/reveal_js/add_reveal_js.rb', line 19
def call(doc)
doc.process(
reveal_wrap,
add_reveal_js,
add_reveal_css,
add_theme,
add_settings
)
end
|
#plugin_config(plugin) ⇒ Object
72
73
74
|
# File 'lib/slippery/processors/reveal_js/add_reveal_js.rb', line 72
def plugin_config(plugin)
"{ src: #{plugins(plugin).inspect}, async: true, condition: function() { return !!document.body.classList; } }"
end
|
#plugin_settings ⇒ Object
59
60
61
62
63
64
|
# File 'lib/slippery/processors/reveal_js/add_reveal_js.rb', line 59
def plugin_settings
'dependencies: [' +
Array(@options.fetch(:plugins, [])).map do |name|
plugin_config name
end.join(',') + ']'
end
|
#plugins(name) ⇒ Object
66
67
68
69
70
|
# File 'lib/slippery/processors/reveal_js/add_reveal_js.rb', line 66
def plugins(name)
{
notes: 'plugin/notes/notes.js'
}[name]
end
|
#settings ⇒ Object
55
56
57
|
# File 'lib/slippery/processors/reveal_js/add_reveal_js.rb', line 55
def settings
@options.reject { |key, _| [:theme, :plugins].include? key }
end
|