jam_script_highlighter 0.0.1 → 0.0.3

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.
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: []