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: 'black'}.freeze
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
asset_uri, #data_attributes, #hash_to_js, #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
75
76
77
|
# File 'lib/slippery/processors/reveal_js/add_reveal_js.rb', line 75
def plugin_config(plugin)
"{ src: #{plugins(plugin).inspect}, async: true, condition: function() { return !!document.body.classList; } }"
end
|
#plugin_settings ⇒ Object
63
64
65
66
67
|
# File 'lib/slippery/processors/reveal_js/add_reveal_js.rb', line 63
def plugin_settings
Array(@options.fetch(:plugins, [])).map do |name|
plugin_config(name)
end
end
|
#plugins(name) ⇒ Object
69
70
71
72
73
|
# File 'lib/slippery/processors/reveal_js/add_reveal_js.rb', line 69
def plugins(name)
{
notes: 'plugin/notes/notes.js'
}[name]
end
|
#settings ⇒ Object
55
56
57
58
59
60
61
|
# File 'lib/slippery/processors/reveal_js/add_reveal_js.rb', line 55
def settings
{
dependencies: plugin_settings + @options.fetch(:dependencies, [])
}.merge(
@options.reject { |key, _| [:theme, :plugins, :dependencies].include? key }
)
end
|