jam_script_highlighter 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- jam_script_highlighter (0.0.1)
4
+ jam_script_highlighter (0.0.3)
5
5
  pdfkit
6
6
 
7
7
  GEM
@@ -4,16 +4,14 @@ module JamScriptHighlighter
4
4
  def render string, opts={}
5
5
  @html = ''
6
6
  @section_type = 'chords'
7
-
8
- @processing_metadata = true
9
7
  @processing_section = false
10
8
 
11
9
  js = JamScriptHighlighter.highlight(string)
12
10
  js.each do |line|
13
11
  render_line line
14
12
  end
13
+
15
14
  @html += "</div>\n" if @processing_section
16
- @html += "</div>\n" unless @processing_metadata
17
15
  @html
18
16
  end
19
17
 
@@ -23,25 +21,43 @@ module JamScriptHighlighter
23
21
  @html += case line_details[:type]
24
22
  when :control
25
23
  ret = ''
26
- if @processing_section
27
- ret += "</div>\n\n"
28
- @processing_section = false
29
- end
24
+ ret += "</div>\n\n" and @processing_section = false if @processing_section
25
+
30
26
  ret += line.to_html
31
27
  @section_type = line.text.downcase
32
28
  ret += "<div class=\"#{@section_type}\">"
29
+
30
+ @processing_section = true
31
+
33
32
  ret
34
33
  when :section
35
34
  ret = ''
36
- ret += "</div>\n\n" if @processing_section
35
+ ret += "</div>\n\n" and @processing_section = false if @processing_section
37
36
 
38
37
  ret += line.to_html
39
38
  ret += "<div class=\"#{@section_type}\">"
40
39
 
41
- @processing_metadata = false
42
40
  @processing_section = true
43
41
 
44
42
  ret
43
+ when :structure
44
+ @section_type = 'structure'
45
+ ret = ''
46
+ ret += "</div>\n\n" and @processing_section = false if @processing_section
47
+
48
+ ret += "<div class=\"group\">"
49
+ ret += line.to_html
50
+
51
+ @processing_section = true
52
+
53
+ ret
54
+ when :other
55
+ case @section_type
56
+ when 'chords'
57
+ "<p class=\"#{@section_type}\">#{line.to_html.strip}</p>"
58
+ else
59
+ line.to_html
60
+ end
45
61
  else
46
62
  line.to_html
47
63
  end + "\n"
@@ -2,7 +2,7 @@ module JamScriptHighlighter
2
2
  module LineTypes
3
3
  class MetadataLine < Line
4
4
  def to_html
5
- "<h2>#{@text}</h2>"
5
+ "<h2 class=\"metadata\">#{@text}</h2>"
6
6
  end
7
7
  end
8
8
  end
@@ -2,7 +2,7 @@ module JamScriptHighlighter #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 0
5
- TINY = 1
5
+ TINY = 3
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
data/readme.md CHANGED
@@ -1,7 +1,8 @@
1
1
  JamScript Highligher
2
2
  --------------------
3
3
 
4
- [![Build Status](https://travis-ci.org/adamphillips/JamScriptHighlighter.png?branch=master)](undefined)
4
+ [![Build Status](https://secure.travis-ci.org/adamphillips/JamScriptHighlighter.png?branch=master)](http://travis-ci.org/adamphillips/JamScriptHighlighter)
5
+ [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/adamphillips/JamScriptHighlighter)
5
6
 
6
7
  SyntaxHighlighter for [JamScript](https://github.com/adamphillips/JamScript)
7
8
 
@@ -7,7 +7,7 @@ describe JamScriptHighlighter::Html do
7
7
  @jam = ''
8
8
  end
9
9
 
10
- describe 'containing just a title' do
10
+ describe 'containing a title' do
11
11
  before do
12
12
  @jam += "Some jam\n"
13
13
  end
@@ -21,8 +21,8 @@ describe JamScriptHighlighter::Html do
21
21
  @jam += "by Some one\n"
22
22
  end
23
23
 
24
- it 'should wrap the metadata in a metadata div' do
25
- htmlr(@jam).must_match %r{<h2>by Some one</h2>}
24
+ it 'should wrap the metadata in a metadata h2' do
25
+ htmlr(@jam).must_match %r{<h2 class="metadata">by Some one</h2>}
26
26
  end
27
27
 
28
28
  describe 'containing a section' do
@@ -39,8 +39,40 @@ describe JamScriptHighlighter::Html do
39
39
  @jam += "C F | G\n"
40
40
  end
41
41
 
42
- it 'should wrap the chords in a containing div' do
43
- htmlr(@jam).must_match %r{<div class="chords">\s*.*C F | G.*\s*<\/div>}
42
+ it 'should wrap the whole thing in a group div' do
43
+ htmlr(@jam).must_match %r{<div class="group">\n<p class="chords">C F | G</p>\n</div>}
44
+ end
45
+
46
+ it 'should wrap the chords in a containing p' do
47
+ htmlr(@jam).must_match %r{<p class="chords">C F | G</p>}
48
+ end
49
+
50
+ it 'should not include an uneccessary closing div' do
51
+ htmlr(@jam).wont_match %r{</div>\n</div>}
52
+ end
53
+
54
+ describe 'with a note' do
55
+ before do
56
+ @jam += "! Something important\n"
57
+ end
58
+
59
+ it 'should wrap the note in a p' do
60
+ htmlr(@jam).must_match %r{<p class="note">Something important</p>}
61
+ end
62
+ end
63
+
64
+ describe 'with a variation' do
65
+ before do
66
+ @jam += "- A variation\nC | Am G\n"
67
+ end
68
+
69
+ it 'should wrap the variation in an h4' do
70
+ htmlr(@jam).must_match %r{<h4 class="variation">A variation</h4>}
71
+ end
72
+
73
+ it 'should wrap the chords in a p' do
74
+ htmlr(@jam).must_match %r{<div class="group">\n(.*)<p class="chords">C | Am G</p>\n(.*)</div>\n}
75
+ end
44
76
  end
45
77
 
46
78
  describe 'containing a structure' do
@@ -53,7 +85,7 @@ describe JamScriptHighlighter::Html do
53
85
  end
54
86
 
55
87
  it 'should wrap the structure in a structure div' do
56
- htmlr(@jam).must_match %r{<div class="structure">\s*.*Verse, Chorus.*\s*</div>}
88
+ htmlr(@jam).must_match %r{<div class="structure">\nVerse, Chorus\n</div>}
57
89
  end
58
90
  end
59
91
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jam_script_highlighter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-20 00:00:00.000000000Z
12
+ date: 2013-03-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: pdfkit
16
- requirement: &2151834560 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2151834560
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: minitest
27
- requirement: &2151833680 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '0'
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *2151833680
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: turn
38
- requirement: &2151832060 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *2151832060
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: debugger
49
- requirement: &2151830180 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '0'
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *2151830180
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: guard-minitest
60
- requirement: &2151829020 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,10 +85,15 @@ dependencies:
65
85
  version: '0'
66
86
  type: :development
67
87
  prerelease: false
68
- version_requirements: *2151829020
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: rb-fsevent
71
- requirement: &2151826120 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
99
  - - ~>
@@ -76,10 +101,15 @@ dependencies:
76
101
  version: 0.9.1
77
102
  type: :development
78
103
  prerelease: false
79
- version_requirements: *2151826120
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: 0.9.1
80
110
  - !ruby/object:Gem::Dependency
81
111
  name: hirb
82
- requirement: &2151824240 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
83
113
  none: false
84
114
  requirements:
85
115
  - - ! '>='
@@ -87,10 +117,15 @@ dependencies:
87
117
  version: '0'
88
118
  type: :development
89
119
  prerelease: false
90
- version_requirements: *2151824240
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
91
126
  - !ruby/object:Gem::Dependency
92
127
  name: wirble
93
- requirement: &2151823080 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
94
129
  none: false
95
130
  requirements:
96
131
  - - ! '>='
@@ -98,7 +133,12 @@ dependencies:
98
133
  version: '0'
99
134
  type: :development
100
135
  prerelease: false
101
- version_requirements: *2151823080
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
102
142
  description: Simple JamScript highlighter
103
143
  email: ''
104
144
  executables:
@@ -154,7 +194,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
154
194
  version: '0'
155
195
  segments:
156
196
  - 0
157
- hash: -1597204558210840588
197
+ hash: -1515281723704577190
158
198
  required_rubygems_version: !ruby/object:Gem::Requirement
159
199
  none: false
160
200
  requirements:
@@ -163,11 +203,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
163
203
  version: '0'
164
204
  segments:
165
205
  - 0
166
- hash: -1597204558210840588
206
+ hash: -1515281723704577190
167
207
  requirements: []
168
208
  rubyforge_project:
169
- rubygems_version: 1.8.10
209
+ rubygems_version: 1.8.25
170
210
  signing_key:
171
211
  specification_version: 3
172
- summary: jam_script_highlighter-0.0.1
212
+ summary: jam_script_highlighter-0.0.3
173
213
  test_files: []