presentation 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 762c3d623ecdde5570b5d23ced5e3096cbc8b953
4
- data.tar.gz: 8d0847e8488003c4009e28ebd744edd479e29430
3
+ metadata.gz: 5381d5772faa5aaf767939106256baf42a0bf97e
4
+ data.tar.gz: 1c2779d42a18d69002845cdb9d7afcb10be5be24
5
5
  SHA512:
6
- metadata.gz: f8727d45307f035cfe8a68e34d7556aa85f35851542df189a682968e39f9a7fc0ce8ebc87bf61c00d3978dcf2db60fe0bc6d3c00d6cc6c6da3d87814738a7b64
7
- data.tar.gz: 796f3fb55b7f7d9edb83777c4b2722fca892fa6a11ab391cccb60945700caf131622406227c839addd8adecdd82a84c742083c80b9df6f81574891d329d0029a
6
+ metadata.gz: f1deea22d545f81eca5bf967d3ebe7a1f45fd72ff50e920db8ed0a20d642fce299d6131f5a390138412ea4899e0e7b4ee2ce0b670d25e206dd8823ce5e8c6619
7
+ data.tar.gz: 6351a886f37eb93fbad732f434f4499e899143459252d27c3be97bab2b329bec29c5afa3d3dbb86f30993085757fcb93c42533ad9f80080ffe80ab4b5263a56b
@@ -14,7 +14,7 @@ slide {
14
14
 
15
15
  slide {
16
16
  title 'What does Ruby look like?'
17
- ruby_code "Use up/down arrow keys to scroll\n\n" + File.read(__FILE__)
17
+ ruby_code "# Use up/down arrow keys to scroll\n" + File.read(__FILE__)
18
18
  }
19
19
 
20
20
  slide {
@@ -40,9 +40,28 @@ class Presentation
40
40
  end
41
41
  end
42
42
 
43
- def code(language, text)
44
- # TODO: find/create some sort of Gosu compatible syntax highlighter
45
- slide.code = text
43
+ def code(language, text, line_numbers: true)
44
+ options = {}
45
+ options[:line_numbers] = :inline if line_numbers
46
+ html = CodeRay.scan(text, language).span(options)
47
+ # puts "Before:\n" + html
48
+ # remove unsupported properties
49
+ html.gsub! '<span class="CodeRay">', ''
50
+ html.gsub! /<\/span>\z/, ''
51
+ html.gsub! /font-weight:bold/, ''
52
+
53
+ # convert inline styles to Gosu compatible color tags
54
+ html.gsub! /<span style="background-color:hsla.*?">/, '<c=FFFFFF>'
55
+ html.gsub! /<span class="line-numbers">(?<space> )?(<strong>)?<a href="#n\d+?" name="n\d+?">(?<number>\d+?)<\/a>(<\/strong>)?(<\/span>)?/, '\k<space>\k<number> '
56
+ html.gsub! /<span style="color:#([0-9a-fA-F]{3});?">/ do |m|
57
+ color = $1.chars.map{|s|s*2}.join
58
+ "<c=#{color}>"
59
+ end
60
+ html.gsub! '</span>', '</c>'
61
+ html.gsub! '&quot;', '"'
62
+ # puts "After:\n" + html
63
+
64
+ slide.code = html
46
65
  end
47
66
 
48
67
  def bullet(bullet)
@@ -13,12 +13,14 @@ class Presentation
13
13
  @slide_deck.next_slide
14
14
  when Gosu::KbLeft
15
15
  @slide_deck.previous_slide
16
+ else
17
+ # @slide_deck.current_slide.button_down
16
18
  end
17
19
  end
18
20
 
19
21
  def update
20
- @slide_deck.current_slide.scroll_up if button_down? Gosu::KbUp
21
- @slide_deck.current_slide.scroll_down if button_down? Gosu::KbDown
22
+ @slide_deck.current_slide.scroll_up if button_down? Gosu::KbDown
23
+ @slide_deck.current_slide.scroll_down if button_down? Gosu::KbUp
22
24
  end
23
25
 
24
26
  def draw
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "presentation"
5
- spec.version = "0.0.1"
5
+ spec.version = "0.1.0"
6
6
  spec.authors = ["Andrew Havens"]
7
7
  spec.email = ["email@andrewhavens.com"]
8
8
  spec.description = %q{Create fullscreen presentations using Ruby.}
@@ -17,6 +17,7 @@ Gem::Specification.new do |spec|
17
17
 
18
18
  spec.add_dependency "thor"
19
19
  spec.add_dependency "gosu"
20
+ spec.add_dependency "coderay"
20
21
 
21
22
  spec.add_development_dependency "bundler", "~> 1.3"
22
23
  spec.add_development_dependency "rake"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: presentation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Havens
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: coderay
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: bundler
43
57
  requirement: !ruby/object:Gem::Requirement