rhet-butler 0.5.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. checksums.yaml +15 -0
  2. data/default-configuration/assets/javascript/keyboard-nav.js +91 -0
  3. data/default-configuration/assets/javascript/rhet-present.js +855 -0
  4. data/default-configuration/assets/javascript/rhet-present.min.js +55 -0
  5. data/default-configuration/assets/stylesheets/_animate-helpers.scss +41 -0
  6. data/default-configuration/assets/stylesheets/animate/_attention.scss +36 -0
  7. data/default-configuration/assets/stylesheets/animate/_bounce.scss +71 -0
  8. data/default-configuration/assets/stylesheets/animate/_fade.scss +56 -0
  9. data/default-configuration/assets/stylesheets/animate/_flip.scss +98 -0
  10. data/default-configuration/assets/stylesheets/animate/_lightSpeed.scss +20 -0
  11. data/default-configuration/assets/stylesheets/animate/_roll.scss +20 -0
  12. data/default-configuration/assets/stylesheets/animate/_rotate.scss +40 -0
  13. data/default-configuration/assets/stylesheets/animate/_special.scss +17 -0
  14. data/default-configuration/assets/stylesheets/animate/_windblown.sass +17 -0
  15. data/default-configuration/assets/stylesheets/animate/attention/._pulse.scss.swp +0 -0
  16. data/default-configuration/assets/stylesheets/animate/attention/_flash.scss +34 -0
  17. data/default-configuration/assets/stylesheets/animate/attention/_pulse.scss +28 -0
  18. data/default-configuration/assets/stylesheets/animate/attention/_shake.scss +53 -0
  19. data/default-configuration/assets/stylesheets/animate/attention/_swing.scss +40 -0
  20. data/default-configuration/assets/stylesheets/animate/attention/_tada.scss +51 -0
  21. data/default-configuration/assets/stylesheets/animate/attention/_wiggle.scss +52 -0
  22. data/default-configuration/assets/stylesheets/animate/attention/_wobble.scss +41 -0
  23. data/default-configuration/assets/stylesheets/animate/bounce/_bounceIn.scss +151 -0
  24. data/default-configuration/assets/stylesheets/animate/bounce/_bounceOut.scss +139 -0
  25. data/default-configuration/assets/stylesheets/animate/fade/_fadeIn.sass +139 -0
  26. data/default-configuration/assets/stylesheets/animate/fade/_fadeOut.sass +139 -0
  27. data/default-configuration/assets/stylesheets/animate/flip/_flipIn.scss +78 -0
  28. data/default-configuration/assets/stylesheets/animate/flip/_flipOut.scss +66 -0
  29. data/default-configuration/assets/stylesheets/animate/lightSpeed/_lightSpeedIn.scss +37 -0
  30. data/default-configuration/assets/stylesheets/animate/lightSpeed/_lightSpeedOut.scss +29 -0
  31. data/default-configuration/assets/stylesheets/animate/roll/_rollIn.scss +29 -0
  32. data/default-configuration/assets/stylesheets/animate/roll/_rollOut.scss +28 -0
  33. data/default-configuration/assets/stylesheets/animate/rotate/_rotateIn.scss +208 -0
  34. data/default-configuration/assets/stylesheets/animate/rotate/_rotateOut.scss +208 -0
  35. data/default-configuration/assets/stylesheets/animate/special/_hinge.scss +49 -0
  36. data/default-configuration/assets/stylesheets/animate/windblown/_windblownIn.sass +28 -0
  37. data/default-configuration/assets/stylesheets/animate/windblown/_windblownOut.sass +24 -0
  38. data/default-configuration/assets/stylesheets/font.css +30 -0
  39. data/default-configuration/assets/stylesheets/highlight/arta.css +158 -0
  40. data/default-configuration/assets/stylesheets/highlight/ascetic.css +50 -0
  41. data/default-configuration/assets/stylesheets/highlight/brown_paper.css +104 -0
  42. data/default-configuration/assets/stylesheets/highlight/brown_papersq.png +0 -0
  43. data/default-configuration/assets/stylesheets/highlight/dark.css +103 -0
  44. data/default-configuration/assets/stylesheets/highlight/default.css +135 -0
  45. data/default-configuration/assets/stylesheets/highlight/far.css +111 -0
  46. data/default-configuration/assets/stylesheets/highlight/github.css +127 -0
  47. data/default-configuration/assets/stylesheets/highlight/googlecode.css +144 -0
  48. data/default-configuration/assets/stylesheets/highlight/idea.css +121 -0
  49. data/default-configuration/assets/stylesheets/highlight/ir_black.css +104 -0
  50. data/default-configuration/assets/stylesheets/highlight/magula.css +120 -0
  51. data/default-configuration/assets/stylesheets/highlight/monokai.css +114 -0
  52. data/default-configuration/assets/stylesheets/highlight/pojoaque.css +104 -0
  53. data/default-configuration/assets/stylesheets/highlight/pojoaque.jpg +0 -0
  54. data/default-configuration/assets/stylesheets/highlight/rainbow.css +114 -0
  55. data/default-configuration/assets/stylesheets/highlight/school_book.css +111 -0
  56. data/default-configuration/assets/stylesheets/highlight/school_book.png +0 -0
  57. data/default-configuration/assets/stylesheets/highlight/solarized_light.css +88 -0
  58. data/default-configuration/assets/stylesheets/highlight/sunburst.css +158 -0
  59. data/default-configuration/assets/stylesheets/highlight/tomorrow-night-blue.css +52 -0
  60. data/default-configuration/assets/stylesheets/highlight/tomorrow-night-bright.css +51 -0
  61. data/default-configuration/assets/stylesheets/highlight/tomorrow-night-eighties.css +51 -0
  62. data/default-configuration/assets/stylesheets/highlight/tomorrow-night.css +52 -0
  63. data/default-configuration/assets/stylesheets/highlight/tomorrow.css +49 -0
  64. data/default-configuration/assets/stylesheets/highlight/vs.css +86 -0
  65. data/default-configuration/assets/stylesheets/highlight/xcode.css +154 -0
  66. data/default-configuration/assets/stylesheets/highlight/zenburn.css +114 -0
  67. data/default-configuration/assets/stylesheets/presenter/rhet.css.sass +160 -0
  68. data/default-configuration/assets/stylesheets/rhet.css.sass +142 -0
  69. data/default-configuration/assets/themes.googleusercontent.com/static/fonts/arimo/v5/K-bXE71xZHgbUS_UdQjugvesZW2xOQ-xsNqO47m55DA.ttf +0 -0
  70. data/default-configuration/assets/themes.googleusercontent.com/static/fonts/cinzeldecorative/v1/pXhIVnhFtL_B9Vb1wq2F9wIh9oxuYcmvOvyh_107lQs.ttf +0 -0
  71. data/default-configuration/assets/themes.googleusercontent.com/static/fonts/cinzeldecorative/v1/pXhIVnhFtL_B9Vb1wq2F9zCUrkmwPfdnoTjOU_kXqBI.ttf +0 -0
  72. data/default-configuration/assets/themes.googleusercontent.com/static/fonts/droidsansmono/v4/ns-m2xQYezAtqh7ai59hJYW_AySPyikQrZReizgrnuw.ttf +0 -0
  73. data/default-configuration/assets/themes.googleusercontent.com/static/fonts/slackey/v3/bJZDrYrGx8atJRHR9DVdqg.ttf +0 -0
  74. data/default-configuration/common/config.yaml +17 -0
  75. data/default-configuration/common/templates/group.html.erb +5 -0
  76. data/default-configuration/common/templates/presentation.html.erb +11 -17
  77. data/default-configuration/common/templates/presenter-qr.html.erb +3 -3
  78. data/default-configuration/common/templates/slide.html.erb +3 -0
  79. data/default-configuration/common/templates/stylesheets.html.erb +1 -1
  80. data/default-configuration/presenter/templates/live-javascript.html.erb +4 -3
  81. data/default-configuration/presenter/templates/slide.html.erb +6 -0
  82. data/default-configuration/presenter/templates/stylesheets.html.erb +1 -1
  83. data/default-configuration/skels/config.yaml +15 -0
  84. data/default-configuration/skels/slides.yaml +6 -0
  85. data/default-configuration/viewer/templates/live-javascript.html.erb +1 -1
  86. data/lib/rhet-butler/arrangement-finder.rb +71 -0
  87. data/lib/rhet-butler/command-line.rb +69 -1
  88. data/lib/rhet-butler/configuration.rb +20 -5
  89. data/lib/rhet-butler/file-loading.rb +28 -0
  90. data/lib/rhet-butler/file-manager.rb +42 -22
  91. data/lib/rhet-butler/filter-resolver.rb +45 -0
  92. data/lib/rhet-butler/html-generator.rb +24 -4
  93. data/lib/rhet-butler/include-processor.rb +55 -0
  94. data/lib/rhet-butler/layout-rule.rb +17 -13
  95. data/lib/rhet-butler/resource-localizer.rb +22 -0
  96. data/lib/rhet-butler/sass-functions.rb +40 -0
  97. data/lib/rhet-butler/slide-arranger.rb +39 -0
  98. data/lib/rhet-butler/slide-group.rb +56 -21
  99. data/lib/rhet-butler/slide-includer.rb +5 -2
  100. data/lib/rhet-butler/slide-loader.rb +16 -332
  101. data/lib/rhet-butler/slide-processor.rb +27 -0
  102. data/lib/rhet-butler/slide-renderer.rb +42 -0
  103. data/lib/rhet-butler/slide-renderers/code.rb +19 -0
  104. data/lib/rhet-butler/slide-renderers/cues.rb +27 -0
  105. data/lib/rhet-butler/slide-renderers/textile.rb +14 -0
  106. data/lib/rhet-butler/slide-rendering.rb +22 -0
  107. data/lib/rhet-butler/slide-traverser.rb +45 -0
  108. data/lib/rhet-butler/slide.rb +40 -30
  109. data/lib/rhet-butler/stasis/css-transform.rb +55 -0
  110. data/lib/rhet-butler/stasis/document-transform.rb +32 -0
  111. data/lib/rhet-butler/stasis/html-transform.rb +51 -0
  112. data/lib/rhet-butler/stasis/http-loader.rb +19 -0
  113. data/lib/rhet-butler/stasis/identity-transform.rb +18 -0
  114. data/lib/rhet-butler/stasis/rack-loader.rb +57 -0
  115. data/lib/rhet-butler/stasis/resource-mapping.rb +55 -0
  116. data/lib/rhet-butler/stasis/transform-queue.rb +87 -0
  117. data/lib/rhet-butler/stasis/writer.rb +35 -0
  118. data/lib/rhet-butler/stasis.rb +18 -0
  119. data/lib/rhet-butler/static-generator.rb +21 -29
  120. data/lib/rhet-butler/web/assets-app.rb +24 -8
  121. data/lib/rhet-butler/web/main-app.rb +17 -8
  122. data/lib/rhet-butler/web/presentation-app.rb +22 -14
  123. data/lib/rhet-butler/web/qr-display-app.rb +4 -1
  124. data/lib/rhet-butler/yaml-schema.rb +5 -4
  125. data/lib/rhet-butler/yaml-type.rb +24 -1
  126. data/spec/html-generation.rb +7 -1
  127. data/spec/presentation-view.rb +33 -8
  128. data/spec/rhet-butler.rb +0 -13
  129. data/spec/slide-loader.rb +3 -3
  130. data/spec/slide-processing.rb +6 -3
  131. metadata +209 -119
  132. data/default-configuration/assets/javascript/impress.js +0 -800
  133. data/default-configuration/assets/stylesheets/presenter/presentation.css +0 -477
  134. data/lib/rhet-butler.rb +0 -2
@@ -29,8 +29,12 @@ module RhetButler
29
29
  class MainApp
30
30
  def initialize(file_manager)
31
31
  @file_manager = file_manager
32
+ @capture_exceptions = true
32
33
  end
33
34
 
35
+ attr_accessor :presentation_app_class, :assets_app_class
36
+ attr_accessor :capture_exceptions
37
+
34
38
  # Notes re filesets config and slides:
35
39
  # All PresentationApps need the same slides but different configs
36
40
  # (including templates, etc.)
@@ -50,11 +54,14 @@ module RhetButler
50
54
  @file_manager.slide_files
51
55
  end
52
56
 
57
+ def viewer_app
58
+ @viewer_app ||= presentation_app_class.new(:viewer, @file_manager)
59
+ end
60
+
53
61
  #Simply renders the bodies of the viewer and presenter apps to make sure
54
62
  #there aren't any exceptions
55
63
  def check
56
- viewer_app = PresentationApp.new(:viewer, @file_manager)
57
- presenter_app = PresentationApp.new(:presenter, @file_manager)
64
+ presenter_app = presentation_app_class.new(:presenter, @file_manager)
58
65
  viewer_app.body
59
66
  presenter_app.body
60
67
  #XXX static generator "populate assets" - make sure all the assets
@@ -68,15 +75,15 @@ module RhetButler
68
75
  end)
69
76
  end
70
77
 
71
- def app
78
+ def builder
72
79
  sockjs_options = {
73
80
  :sockjs_url => "/assets/javascript/sockjs-0.2.1.js",
74
81
  :queue => SlideMessageQueue.new
75
82
  }
76
83
 
77
- viewer_app = PresentationApp.new(:viewer, @file_manager)
78
- presenter_app = PresentationApp.new(:presenter, @file_manager)
79
- assets_app = AssetsApp.new(@file_manager)
84
+ viewer_app = self.viewer_app
85
+ presenter_app = presentation_app_class.new(:presenter, @file_manager)
86
+ assets_app = assets_app_class.new(@file_manager)
80
87
  qr_app = QrDisplayApp.new(@file_manager, "/presenter")
81
88
  presenter_config = presenter_app.configuration
82
89
  auth_validation = build_authentication_block(presenter_config)
@@ -93,7 +100,9 @@ module RhetButler
93
100
  run Rack::SockJS.new(LeaderSession, sockjs_options)
94
101
  end
95
102
 
96
- use Rack::ShowExceptions
103
+ if @capture_exceptions
104
+ use Rack::ShowExceptions
105
+ end
97
106
 
98
107
  map "/assets" do
99
108
  run assets_app
@@ -129,7 +138,7 @@ module RhetButler
129
138
  end
130
139
  EM.run do
131
140
  thin = Rack::Handler.get("thin")
132
- thin.run(app.to_app, :Host => "0.0.0.0", :Port => configuration.serve_port) do |server|
141
+ thin.run(builder.to_app, :Host => "0.0.0.0", :Port => configuration.serve_port) do |server|
133
142
  server.threaded = true
134
143
  end
135
144
  end
@@ -13,38 +13,46 @@ module RhetButler
13
13
  @file_manager.aspect_config(@aspect)
14
14
  end
15
15
 
16
+ def template_cache
17
+ ::Tilt::Cache.new
18
+ end
19
+
16
20
  def template_handler
17
- @file_manager.aspect_templates(@aspect)
21
+ @file_manager.aspect_templates(@aspect, template_cache)
18
22
  end
19
23
 
20
24
  def slides_valise
21
25
  @file_manager.slide_files
22
26
  end
23
27
 
24
- def slides
25
- @slides ||=
26
- begin
27
- slide_loader = SlideLoader.new(slides_valise, configuration)
28
- slide_loader.load_slides
29
- end
28
+ def root_step
29
+ slide_loader = SlideLoader.new(slides_valise, configuration)
30
+ slide_loader.load_slides
30
31
  end
31
32
 
32
33
  def html_generator
33
- @html_generator ||=
34
- begin
35
- generator = HTMLGenerator.new(configuration, template_handler)
36
- generator.slides = slides
37
- generator
38
- end
34
+ generator = HTMLGenerator.new(configuration, template_handler)
35
+ generator.root_step = root_step
36
+ generator
39
37
  end
40
38
 
41
39
  def body
42
- @body ||= html_generator.render(configuration.root_slide_template)
40
+ html_generator.render(configuration.root_slide_template)
43
41
  end
44
42
 
45
43
  def call(env)
46
44
  [200, {'Content-Type' => "text/html"}, [body]]
47
45
  end
48
46
  end
47
+
48
+ class MemoizedPresentationApp < PresentationApp
49
+ def configuration
50
+ @configuration ||= super
51
+ end
52
+
53
+ def body
54
+ @body ||= super
55
+ end
56
+ end
49
57
  end
50
58
  end
@@ -11,6 +11,8 @@ module RhetButler
11
11
 
12
12
  attr_reader :template_handler
13
13
 
14
+ QRItem = Struct.new(:qr, :view_url, :presenter_url)
15
+
14
16
  def call(env)
15
17
  url = [env["rack.url_scheme"], "://"]
16
18
  if env["HTTP_HOST"].nil? or env["HTTP_HOST"].empty?
@@ -27,9 +29,10 @@ module RhetButler
27
29
  qr = RQRCode::QRCode.new(url, :size => 5)
28
30
 
29
31
  mime_type = "text/html"
32
+ qr_item = QRItem.new(qr, view_url, url)
30
33
  generator = HTMLGenerator.new(@config, @templates)
31
34
  [200, {'Content-Type' => mime_type}, [
32
- generator.render("presenter-qr.html", qr, :view_url => view_url, :presenter_url => url)
35
+ generator.render("presenter-qr.html", qr_item)
33
36
  ]]
34
37
  end
35
38
  end
@@ -1,9 +1,10 @@
1
+ require 'yaml'
1
2
  require 'rhet-butler/slide'
2
3
  require 'rhet-butler/slide-group'
3
4
  require 'rhet-butler/slide-includer'
4
5
  require 'rhet-butler/layout-rule'
5
6
 
6
- YAML.add_tag('!slide', RhetButler::Slide)
7
- YAML.add_tag('!group', RhetButler::SlideGroup)
8
- YAML.add_tag('!include', RhetButler::Includer)
9
- YAML.add_tag('!layout-rule', RhetButler::LayoutRule)
7
+ #YAML.add_tag('!slide', RhetButler::Slide)
8
+ #YAML.add_tag('!group', RhetButler::SlideGroup)
9
+ #YAML.add_tag('!include', RhetButler::Includer)
10
+ #YAML.add_tag('!layout-rule', RhetButler::LayoutRule)
@@ -1,5 +1,14 @@
1
+ require 'yaml'
2
+
1
3
  module RhetButler
2
- module YamlType
4
+ class YamlType
5
+ def self.register(name)
6
+ YAML.add_tag("!#{name}", self)
7
+ end
8
+
9
+ def setup_defaults
10
+ end
11
+
3
12
  def check_config_hash(config_hash)
4
13
  expected_keys = self.class.required_config + self.class.optional_config
5
14
  weird_keys = config_hash.keys.find_all{|key| !expected_keys.include?(key)}
@@ -19,5 +28,19 @@ module RhetButler
19
28
  yield(@config_hash[name])
20
29
  end
21
30
  end
31
+
32
+ def initialize
33
+ setup_defaults
34
+ end
35
+
36
+ def init_with(coder)
37
+ setup_defaults
38
+
39
+ @config_hash = normalize_config(coder)
40
+
41
+ check_config_hash(@config_hash)
42
+
43
+ configure
44
+ end
22
45
  end
23
46
  end
@@ -10,6 +10,12 @@ describe RhetButler::HTMLGenerator do
10
10
  [ one ]
11
11
  end
12
12
 
13
+ let :prez do
14
+ RhetButler::SlideGroup.new.tap do |prez|
15
+ prez.slides = slides
16
+ end
17
+ end
18
+
13
19
  let :files do
14
20
  manager = RhetButler::FileManager.new
15
21
  end
@@ -24,7 +30,7 @@ describe RhetButler::HTMLGenerator do
24
30
 
25
31
  let :generator do
26
32
  described_class.new(configuration, template_handler).tap do |gen|
27
- gen.slides = slides
33
+ gen.root_step = prez
28
34
  end
29
35
  end
30
36
 
@@ -8,11 +8,14 @@ describe RhetButler::Web::MainApp do
8
8
  include Rack::Test::Methods
9
9
 
10
10
  let :files do
11
- RhetButler::FileManager.new
11
+ RhetButler::FileManager.new("sources" => %w{ spec_support/fixtures/project })
12
12
  end
13
13
 
14
14
  let :app do
15
- described_class.new(files).app
15
+ main = described_class.new(files)
16
+ main.presentation_app_class = RhetButler::Web::MemoizedPresentationApp
17
+ main.assets_app_class = RhetButler::Web::MemoizedAssetsApp
18
+ main.builder.to_app
16
19
  end
17
20
 
18
21
  describe "/" do
@@ -26,13 +29,23 @@ describe RhetButler::Web::MainApp do
26
29
 
27
30
  it "should have a script tag for impress.js" do
28
31
  doc = Nokogiri::HTML(last_response.body)
29
- doc.xpath("//script[contains(@src, 'impress.js')]").should_not be_empty
32
+ doc.xpath("//script[contains(@src, 'rhet-present.js')]").should_not be_empty
30
33
  end
31
34
  end
32
35
 
33
- describe "/javascript/impress.js" do
36
+ describe "/qr" do
34
37
  before :each do
35
- get "/javascript/impress.js"
38
+ get "/qr"
39
+ end
40
+
41
+ it "should serve a presentation" do
42
+ last_response.should be_ok
43
+ end
44
+ end
45
+
46
+ describe "/javascript/rhet-present.js" do
47
+ before :each do
48
+ get "/javascript/rhet-present.js"
36
49
  end
37
50
 
38
51
  it "should serve the javascript" do
@@ -42,12 +55,11 @@ describe RhetButler::Web::MainApp do
42
55
  it "should serve as application/javascript" do
43
56
  last_response.headers["Content-Type"].should == "application/javascript"
44
57
  end
45
-
46
58
  end
47
59
 
48
- describe "/assets/javascript/impress.js" do
60
+ describe "/assets/javascript/rhet-present.js" do
49
61
  before :each do
50
- get "/assets/javascript/impress.js"
62
+ get "/assets/javascript/rhet-present.js"
51
63
  end
52
64
 
53
65
  it "should serve the javascript" do
@@ -57,7 +69,20 @@ describe RhetButler::Web::MainApp do
57
69
  it "should serve as application/javascript" do
58
70
  last_response.headers["Content-Type"].should == "application/javascript"
59
71
  end
72
+ end
73
+
74
+ describe "/stylesheets/test.css" do
75
+ before :each do
76
+ get "/stylesheets/test.css"
77
+ end
60
78
 
79
+ it "should serve the CSS" do
80
+ last_response.should be_ok
81
+ end
82
+
83
+ it "should serve as text/css" do
84
+ last_response.headers["Content-Type"].should == "text/css"
85
+ end
61
86
  end
62
87
 
63
88
 
data/spec/rhet-butler.rb CHANGED
@@ -2,19 +2,6 @@ require 'rhet-butler'
2
2
 
3
3
  describe RhetButler do
4
4
  describe "web server" do
5
- describe "presentation view" do
6
- it "should serve a presentation"
7
-
8
- it "should include impress.js"
9
-
10
- it "should have get WebSocket commands to sync with presenter"
11
-
12
- it "should be able to split from presenter"
13
-
14
- it "should be able to resync with presenter"
15
-
16
- it "should have a resource for the current presenter's slide"
17
- end
18
5
 
19
6
  describe "passive view" do
20
7
  it "should serve the presentation"
data/spec/slide-loader.rb CHANGED
@@ -28,17 +28,17 @@ describe RhetButler::SlideLoader do
28
28
 
29
29
  it "should parse YAML for the configs" do
30
30
  slides.should have_at_least(1).slides
31
- slides.should be_all{|slide| RhetButler::Slide === slide}
31
+ slides.should be_all{|slide| RhetButler::Slide === slide or RhetButler::SlideGroup === slide }
32
32
  end
33
33
 
34
34
  it "should have the included slide" do
35
35
  slides.find do |slide|
36
- slide.content =~ /included/
36
+ slide.content =~ /included/ if slide.respond_to? :content
37
37
  end.should_not be_nil
38
38
  end
39
39
 
40
40
  it "should have the slide group" do
41
- slides.find do |slide|
41
+ slides.each_slide.find do |slide|
42
42
  slide.content =~ /grouped/
43
43
  end.should_not be_nil
44
44
  end
@@ -4,6 +4,8 @@ describe RhetButler::SlideProcessor do
4
4
  def slide(content)
5
5
  slide = RhetButler::Slide.new
6
6
  slide.content = content
7
+ slide.content_filters = default_content_filters
8
+ slide.note_filters = default_content_filters
7
9
  slide
8
10
  end
9
11
 
@@ -37,15 +39,16 @@ describe RhetButler::SlideProcessor do
37
39
  ]
38
40
  end
39
41
 
40
- let :default_slide_type do
41
- "textile"
42
+ let :default_content_filters do
43
+ [RhetButler::SlideRenderers::Textile.new]
42
44
  end
43
45
 
44
46
  let :processor do
45
47
  processor = RhetButler::SlideProcessor.new
46
48
  processor.root_group = root_group
47
49
  processor.blueprint = blueprint
48
- processor.default_slide_type = default_slide_type
50
+ processor.default_content_filters = default_content_filters
51
+ processor.default_note_filters = default_content_filters
49
52
  processor
50
53
  end
51
54