class Slippery::Processors::RevealJs::AddRevealJs
Constants
- DEFAULT_OPTIONS
Attributes
attributes[R]
Public Class Methods
call(doc)
click to toggle source
# File lib/slippery/processors/reveal_js/add_reveal_js.rb, line 7 def self.call(doc) self.new.call(doc) end
new(options = {})
click to toggle source
# File lib/slippery/processors/reveal_js/add_reveal_js.rb, line 15 def initialize(options = {}) @options = DEFAULT_OPTIONS.merge(options).freeze end
Public Instance Methods
call(doc)
click to toggle source
# 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)
click to toggle source
# 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()
click to toggle source
# 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)
click to toggle source
# File lib/slippery/processors/reveal_js/add_reveal_js.rb, line 69 def plugins(name) { notes: 'plugin/notes/notes.js' }[name] end
settings()
click to toggle source
# 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