Module: Slideshow::DeckFilter

Included in:
Deck
Defined in:
lib/slideshow/models/deck.rb

Instance Method Summary collapse

Instance Method Details

#add_slide_directive_before_h1(content) ⇒ Object

add slide directive before h1 (tells slideshow gem where to break slides)

e.g. changes: <h1 id=‘optional’ class=‘optional’>

to
html comment -> _S9SLIDE_ (note: rdoc can't handle html comments?)

<h1 id=‘optional’ class=‘optional’>



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/slideshow/models/deck.rb', line 24

def add_slide_directive_before_h1( content )

  # mark h1 for getting wrapped into slide divs
  # note: use just <h1 since some processors add ids e.g. <h1 id='x'>

  slide_count = 0

  content = content.gsub( /<h1/ ) do |match|
    slide_count += 1
    "\n<!-- _S9SLIDE_ -->\n#{Regexp.last_match(0)}"
  end
  
  puts "  Adding #{slide_count} slide breaks (using h1 rule)..."
  
  content
end

#add_slide_directive_before_h2(content) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/slideshow/models/deck.rb', line 41

def add_slide_directive_before_h2( content )

  slide_count = 0

  content = content.gsub( /<h2/ ) do |match|
    slide_count += 1
    "\n<!-- _S9SLIDE_ -->\n#{Regexp.last_match(0)}"
  end
  
  puts "  Adding #{slide_count} slide breaks (using h2 rule)..."
  
  content
end

#add_slide_directive_for_hr(content) ⇒ Object



56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/slideshow/models/deck.rb', line 56

def add_slide_directive_for_hr( content )

  slide_count = 0

  ##  replace <hr> or <hr /> with slide directive/comment
  ##  note: hr gets **replaced/removed**

  content = content.gsub( /<hr(\s*\/)?>/ ) do |match|
    slide_count += 1
    "\n<!-- _S9SLIDE_ -->\n"
  end
  
  puts "  Adding #{slide_count} slide breaks (using hr rule)..."
  
  content
end