gust 0.1.0 → 0.1.1
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/gust.gemspec +3 -3
- data/lib/gust.rb +6 -7
- data/spec/gust_spec.rb +45 -24
- metadata +79 -55
data/gust.gemspec
CHANGED
@@ -3,11 +3,11 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "gust"
|
6
|
-
s.version = '0.1.
|
6
|
+
s.version = '0.1.1'
|
7
7
|
s.platform = Gem::Platform::RUBY
|
8
8
|
s.authors = ["Jeff Kreeftmeijer"]
|
9
9
|
s.email = ["jeff@kreeftmeijer.nl"]
|
10
|
-
s.homepage = ""
|
10
|
+
s.homepage = "https://github.com/jeffkreeftmeijer/gust"
|
11
11
|
s.summary = %q{Syntax highlighting and Markdown/Textile parsing}
|
12
12
|
s.description = %q{Syntax highlighting and Markdown/Textile parsing}
|
13
13
|
|
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
19
|
s.require_paths = ["lib"]
|
20
20
|
|
21
|
-
s.
|
21
|
+
s.add_development_dependency 'rspec', ['~> 2.0']
|
22
22
|
s.add_dependency 'pygments.rb', ['~> 0.1.2']
|
23
23
|
s.add_dependency 'kramdown', ['~> 0.13.3']
|
24
24
|
s.add_dependency 'RedCloth', ['~> 4.2.7']
|
data/lib/gust.rb
CHANGED
@@ -5,16 +5,15 @@ require 'RedCloth'
|
|
5
5
|
class Gust
|
6
6
|
|
7
7
|
def self.parse(code, options = {})
|
8
|
+
return "<div class=\"markup\">#{code}</div>\n" unless options[:filename]
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
end
|
10
|
+
case options[:filename]
|
11
|
+
when /.*\.png$/ then "<div class=\"image\"><img src=\"#{options[:url]}\"/></div>\n"
|
12
|
+
when /.*\.markdown$/, /.*\.md$/ then "<div class=\"markup\">#{Kramdown::Document.new(code).to_html}</div>\n"
|
13
|
+
when /.*\.textile$/ then "<div class=\"markup\">#{RedCloth.new(code).to_html}</div>\n"
|
14
|
+
else Pygments.highlight(code, options) rescue "<div class=\"markup\">#{code}</div>\n"
|
15
15
|
end
|
16
16
|
|
17
|
-
"<div class=\"markup\">#{code}</div>\n"
|
18
17
|
end
|
19
18
|
|
20
19
|
end
|
data/spec/gust_spec.rb
CHANGED
@@ -2,49 +2,70 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
2
2
|
require 'gust'
|
3
3
|
|
4
4
|
describe Gust do
|
5
|
-
|
5
|
+
|
6
|
+
shared_examples_for 'a markdown file' do
|
7
|
+
|
8
|
+
it { should == "<div class=\"markup\"><p><em>foo</em></p>\n</div>\n" }
|
9
|
+
|
10
|
+
end
|
11
|
+
|
6
12
|
describe '.parse' do
|
7
|
-
|
13
|
+
|
8
14
|
context 'when only passing "foo" as a string' do
|
9
|
-
|
15
|
+
|
10
16
|
subject { Gust.parse('foo') }
|
11
|
-
|
17
|
+
|
12
18
|
it { should == "<div class=\"markup\">foo</div>\n" }
|
13
|
-
|
19
|
+
|
14
20
|
end
|
15
|
-
|
21
|
+
|
16
22
|
context 'with an unknown filename' do
|
17
|
-
|
23
|
+
|
18
24
|
subject { Gust.parse('foo', :filename => 'foo.bar') }
|
19
|
-
|
25
|
+
|
20
26
|
it { should == "<div class=\"markup\">foo</div>\n" }
|
21
|
-
|
27
|
+
|
22
28
|
end
|
23
|
-
|
29
|
+
|
24
30
|
context 'with a ruby file' do
|
25
|
-
|
31
|
+
|
26
32
|
subject { Gust.parse('foo', :filename => 'foo.rb') }
|
27
|
-
|
33
|
+
|
28
34
|
it { should == "<div class=\"highlight\"><pre><span class=\"n\">foo</span>\n</pre>\n</div>\n" }
|
29
|
-
|
35
|
+
|
30
36
|
end
|
31
|
-
|
37
|
+
|
32
38
|
context 'with a markdown file' do
|
33
|
-
|
39
|
+
|
34
40
|
subject { Gust.parse('*foo*', :filename => 'foo.markdown') }
|
35
|
-
|
36
|
-
|
37
|
-
|
41
|
+
|
42
|
+
it_should_behave_like 'a markdown file'
|
43
|
+
|
38
44
|
end
|
39
|
-
|
45
|
+
|
46
|
+
context 'with a markdown file that uses the (wrong) .md extension' do
|
47
|
+
|
48
|
+
subject { Gust.parse('*foo*', :filename => 'foo.md') }
|
49
|
+
|
50
|
+
it_should_behave_like 'a markdown file'
|
51
|
+
|
52
|
+
end
|
53
|
+
|
40
54
|
context 'with a textile file' do
|
41
|
-
|
55
|
+
|
42
56
|
subject { Gust.parse('*foo*', :filename => 'foo.textile') }
|
43
|
-
|
57
|
+
|
44
58
|
it { should == "<div class=\"markup\"><p><strong>foo</strong></p></div>\n" }
|
45
|
-
|
59
|
+
|
46
60
|
end
|
47
|
-
|
61
|
+
|
62
|
+
context 'with a .png file' do
|
63
|
+
subject { Gust.parse('', :filename => 'foo.png', :url => 'http://jeffkreeftmeijer.com/images/carnivore_capybara.png') }
|
64
|
+
|
65
|
+
it { should == "<div class=\"image\"><img src=\"http://jeffkreeftmeijer.com/images/carnivore_capybara.png\"/></div>\n" }
|
66
|
+
|
67
|
+
end
|
68
|
+
|
48
69
|
end
|
49
|
-
|
70
|
+
|
50
71
|
end
|
metadata
CHANGED
@@ -1,68 +1,87 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: gust
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 1
|
8
|
+
- 1
|
9
|
+
version: 0.1.1
|
6
10
|
platform: ruby
|
7
|
-
authors:
|
11
|
+
authors:
|
8
12
|
- Jeff Kreeftmeijer
|
9
13
|
autorequire:
|
10
14
|
bindir: bin
|
11
15
|
cert_chain: []
|
12
|
-
|
16
|
+
|
17
|
+
date: 2011-06-27 00:00:00 +02:00
|
13
18
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
16
21
|
name: rspec
|
17
|
-
requirement: &2154021680 !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
|
-
requirements:
|
20
|
-
- - ~>
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: '2.0'
|
23
|
-
type: :runtime
|
24
22
|
prerelease: false
|
25
|
-
|
26
|
-
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ~>
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 2
|
29
|
+
- 0
|
30
|
+
version: "2.0"
|
31
|
+
type: :development
|
32
|
+
version_requirements: *id001
|
33
|
+
- !ruby/object:Gem::Dependency
|
27
34
|
name: pygments.rb
|
28
|
-
|
29
|
-
|
30
|
-
requirements:
|
35
|
+
prerelease: false
|
36
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
31
38
|
- - ~>
|
32
|
-
- !ruby/object:Gem::Version
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
segments:
|
41
|
+
- 0
|
42
|
+
- 1
|
43
|
+
- 2
|
33
44
|
version: 0.1.2
|
34
45
|
type: :runtime
|
35
|
-
|
36
|
-
|
37
|
-
- !ruby/object:Gem::Dependency
|
46
|
+
version_requirements: *id002
|
47
|
+
- !ruby/object:Gem::Dependency
|
38
48
|
name: kramdown
|
39
|
-
|
40
|
-
|
41
|
-
requirements:
|
49
|
+
prerelease: false
|
50
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
42
52
|
- - ~>
|
43
|
-
- !ruby/object:Gem::Version
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
segments:
|
55
|
+
- 0
|
56
|
+
- 13
|
57
|
+
- 3
|
44
58
|
version: 0.13.3
|
45
59
|
type: :runtime
|
46
|
-
|
47
|
-
|
48
|
-
- !ruby/object:Gem::Dependency
|
60
|
+
version_requirements: *id003
|
61
|
+
- !ruby/object:Gem::Dependency
|
49
62
|
name: RedCloth
|
50
|
-
|
51
|
-
|
52
|
-
requirements:
|
63
|
+
prerelease: false
|
64
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
53
66
|
- - ~>
|
54
|
-
- !ruby/object:Gem::Version
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
segments:
|
69
|
+
- 4
|
70
|
+
- 2
|
71
|
+
- 7
|
55
72
|
version: 4.2.7
|
56
73
|
type: :runtime
|
57
|
-
|
58
|
-
version_requirements: *2154020220
|
74
|
+
version_requirements: *id004
|
59
75
|
description: Syntax highlighting and Markdown/Textile parsing
|
60
|
-
email:
|
76
|
+
email:
|
61
77
|
- jeff@kreeftmeijer.nl
|
62
78
|
executables: []
|
79
|
+
|
63
80
|
extensions: []
|
81
|
+
|
64
82
|
extra_rdoc_files: []
|
65
|
-
|
83
|
+
|
84
|
+
files:
|
66
85
|
- .gitignore
|
67
86
|
- .rspec
|
68
87
|
- Gemfile
|
@@ -71,29 +90,34 @@ files:
|
|
71
90
|
- lib/gust.rb
|
72
91
|
- spec/gust_spec.rb
|
73
92
|
has_rdoc: true
|
74
|
-
homepage:
|
93
|
+
homepage: https://github.com/jeffkreeftmeijer/gust
|
75
94
|
licenses: []
|
95
|
+
|
76
96
|
post_install_message:
|
77
97
|
rdoc_options: []
|
78
|
-
|
98
|
+
|
99
|
+
require_paths:
|
79
100
|
- lib
|
80
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
requirements:
|
89
|
-
- -
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
|
101
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - ">="
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
segments:
|
106
|
+
- 0
|
107
|
+
version: "0"
|
108
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - ">="
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
segments:
|
113
|
+
- 0
|
114
|
+
version: "0"
|
92
115
|
requirements: []
|
116
|
+
|
93
117
|
rubyforge_project: gust
|
94
|
-
rubygems_version: 1.6
|
118
|
+
rubygems_version: 1.3.6
|
95
119
|
signing_key:
|
96
120
|
specification_version: 3
|
97
121
|
summary: Syntax highlighting and Markdown/Textile parsing
|
98
|
-
test_files:
|
122
|
+
test_files:
|
99
123
|
- spec/gust_spec.rb
|