upmark 0.1.4 → 0.2.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 05a88fea05d73c8e0e6b6283687fde275582f030
4
+ data.tar.gz: ca3431e72f14140a5e558dc74d275390c010a423
5
+ SHA512:
6
+ metadata.gz: 190e387ab1335b918dc81d002b14acd97ffe1c42b8181066018908cefc4fe9729fc29081e64908d2f5f94ead4836d22abb316078c3b74c8929ce0f1dab6dcaa4
7
+ data.tar.gz: a200693de5b909b23d4e385fa769dfd0588531621587e071b2bde4c4fe126033e66293cd02b93b8c5e05a61df6294b779f2403d83c45212c8a37a002a40648ee
data/README.md CHANGED
@@ -49,4 +49,4 @@ Upmark defines a parsing expression grammar (PEG) using the very awesome [Parsle
49
49
 
50
50
  ## License
51
51
 
52
- Upmark is Copyright (c) 2011 The Conversation Media Group and distributed under the MIT license.
52
+ Upmark is Copyright (c) 2014 The Conversation Media Group and distributed under the MIT license.
@@ -2,12 +2,12 @@ require "parslet"
2
2
 
3
3
  require "core_ext/array"
4
4
 
5
+ require 'upmark/errors'
5
6
  require "upmark/parser/xml"
6
7
  require 'upmark/transform_helpers'
7
8
  require "upmark/transform/markdown"
8
9
  require "upmark/transform/normalise"
9
10
  require "upmark/transform/preprocess"
10
- require "upmark/version"
11
11
 
12
12
  module Upmark
13
13
  def self.convert(html)
@@ -28,5 +28,7 @@ module Upmark
28
28
  ast = ast.gsub(/\n(\s*\n)+/, "\n\n")
29
29
 
30
30
  ast.strip
31
+ rescue Parslet::ParseFailed
32
+ raise Upmark::ParseFailed
31
33
  end
32
34
  end
@@ -0,0 +1,3 @@
1
+ module Upmark
2
+ ParseFailed = Class.new(StandardError)
3
+ end
@@ -172,4 +172,14 @@ organic
172
172
  MD
173
173
  end
174
174
  end
175
+
176
+ context "unbalanced elements" do
177
+ let(:html) { "<span><span>foo</span>" }
178
+
179
+ it "should raise an exception" do
180
+ expect {
181
+ Upmark.convert(html)
182
+ }.to raise_error(Upmark::ParseFailed)
183
+ end
184
+ end
175
185
  end
@@ -2,6 +2,11 @@ require "parslet/rig/rspec"
2
2
  require "rspec"
3
3
  require "simplecov"
4
4
 
5
- SimpleCov.start
5
+ if ENV["BUILDBOX"]
6
+ SimpleCov.start do
7
+ add_filter "spec/"
8
+ add_filter "vendor/bundle/"
9
+ end
10
+ end
6
11
 
7
12
  require "upmark"
metadata CHANGED
@@ -1,65 +1,79 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: upmark
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
5
- prerelease:
4
+ version: 0.2.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Josh Bassett
9
8
  - Gus Gollings
9
+ - James Healy
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-08-02 00:00:00.000000000 Z
13
+ date: 2014-07-21 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec
17
17
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
18
  requirements:
20
- - - ! '>='
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: '2.0'
22
+ - - "<"
23
+ - !ruby/object:Gem::Version
24
+ version: '2.99'
25
+ type: :development
26
+ prerelease: false
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - "~>"
30
+ - !ruby/object:Gem::Version
31
+ version: '2.0'
32
+ - - "<"
33
+ - !ruby/object:Gem::Version
34
+ version: '2.99'
35
+ - !ruby/object:Gem::Dependency
36
+ name: rake
37
+ requirement: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
21
40
  - !ruby/object:Gem::Version
22
41
  version: '0'
23
42
  type: :development
24
43
  prerelease: false
25
44
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
45
  requirements:
28
- - - ! '>='
46
+ - - ">="
29
47
  - !ruby/object:Gem::Version
30
48
  version: '0'
31
49
  - !ruby/object:Gem::Dependency
32
50
  name: simplecov
33
51
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
52
  requirements:
36
- - - ! '>='
53
+ - - ">="
37
54
  - !ruby/object:Gem::Version
38
55
  version: '0'
39
56
  type: :development
40
57
  prerelease: false
41
58
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
59
  requirements:
44
- - - ! '>='
60
+ - - ">="
45
61
  - !ruby/object:Gem::Version
46
62
  version: '0'
47
63
  - !ruby/object:Gem::Dependency
48
64
  name: parslet
49
65
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
66
  requirements:
52
- - - ! '>='
67
+ - - '='
53
68
  - !ruby/object:Gem::Version
54
- version: '0'
69
+ version: 1.4.0
55
70
  type: :runtime
56
71
  prerelease: false
57
72
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
73
  requirements:
60
- - - ! '>='
74
+ - - '='
61
75
  - !ruby/object:Gem::Version
62
- version: '0'
76
+ version: 1.4.0
63
77
  description: Upmark has the skills to convert your HTML to Markdown.
64
78
  email: dev@theconversation.edu.au
65
79
  executables:
@@ -67,55 +81,49 @@ executables:
67
81
  extensions: []
68
82
  extra_rdoc_files: []
69
83
  files:
70
- - .gitignore
71
- - .rspec
72
- - Gemfile
73
- - Gemfile.lock
74
84
  - LICENSE
75
85
  - README.md
76
86
  - Rakefile
77
87
  - bin/upmark
78
- - coverage/.gitkeep
79
88
  - lib/core_ext/array.rb
80
89
  - lib/upmark.rb
90
+ - lib/upmark/errors.rb
81
91
  - lib/upmark/parser/xml.rb
82
92
  - lib/upmark/transform/ignore.rb
83
93
  - lib/upmark/transform/markdown.rb
84
94
  - lib/upmark/transform/normalise.rb
85
95
  - lib/upmark/transform/preprocess.rb
86
96
  - lib/upmark/transform_helpers.rb
87
- - lib/upmark/version.rb
88
97
  - spec/acceptance/upmark_spec.rb
89
98
  - spec/spec_helper.rb
90
99
  - spec/unit/lib/upmark/parser/xml_spec.rb
91
100
  - spec/unit/lib/upmark/transform/markdown_spec.rb
92
- - upmark.gemspec
93
101
  homepage: http://github.com/conversation/upmark
94
102
  licenses: []
103
+ metadata: {}
95
104
  post_install_message:
96
105
  rdoc_options: []
97
106
  require_paths:
98
107
  - lib
99
108
  required_ruby_version: !ruby/object:Gem::Requirement
100
- none: false
101
109
  requirements:
102
- - - ! '>='
110
+ - - ">="
103
111
  - !ruby/object:Gem::Version
104
112
  version: '0'
105
113
  required_rubygems_version: !ruby/object:Gem::Requirement
106
- none: false
107
114
  requirements:
108
- - - ! '>='
115
+ - - ">="
109
116
  - !ruby/object:Gem::Version
110
117
  version: '0'
111
118
  requirements: []
112
119
  rubyforge_project: upmark
113
- rubygems_version: 1.8.23
120
+ rubygems_version: 2.2.2
114
121
  signing_key:
115
- specification_version: 3
122
+ specification_version: 4
116
123
  summary: A HTML to Markdown converter.
117
124
  test_files:
118
- - spec/acceptance/upmark_spec.rb
119
- - spec/spec_helper.rb
120
125
  - spec/unit/lib/upmark/parser/xml_spec.rb
121
126
  - spec/unit/lib/upmark/transform/markdown_spec.rb
127
+ - spec/spec_helper.rb
128
+ - spec/acceptance/upmark_spec.rb
129
+ has_rdoc:
data/.gitignore DELETED
@@ -1,4 +0,0 @@
1
- *.gem
2
- .bundle
3
- coverage
4
- .rvmrc
data/.rspec DELETED
@@ -1 +0,0 @@
1
- --colour
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- # Specify your gem's dependencies in upmark.gemspec
4
- gemspec
@@ -1,34 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- upmark (0.1.4)
5
- parslet
6
-
7
- GEM
8
- remote: http://rubygems.org/
9
- specs:
10
- blankslate (2.1.2.4)
11
- diff-lcs (1.1.3)
12
- multi_json (1.0.3)
13
- parslet (1.4.0)
14
- blankslate (~> 2.0)
15
- rspec (2.6.0)
16
- rspec-core (~> 2.6.0)
17
- rspec-expectations (~> 2.6.0)
18
- rspec-mocks (~> 2.6.0)
19
- rspec-core (2.6.4)
20
- rspec-expectations (2.6.0)
21
- diff-lcs (~> 1.1.2)
22
- rspec-mocks (2.6.0)
23
- simplecov (0.5.3)
24
- multi_json (~> 1.0.3)
25
- simplecov-html (~> 0.5.3)
26
- simplecov-html (0.5.3)
27
-
28
- PLATFORMS
29
- ruby
30
-
31
- DEPENDENCIES
32
- rspec
33
- simplecov
34
- upmark!
@@ -1,3 +0,0 @@
1
- module Upmark
2
- VERSION = "0.1.4"
3
- end
@@ -1,26 +0,0 @@
1
- # encoding: utf-8
2
-
3
- $:.push File.expand_path("../lib", __FILE__)
4
-
5
- require "upmark/version"
6
-
7
- Gem::Specification.new do |s|
8
- s.name = "upmark"
9
- s.version = Upmark::VERSION
10
- s.authors = ["Josh Bassett", "Gus Gollings"]
11
- s.email = "dev@theconversation.edu.au"
12
- s.homepage = "http://github.com/conversation/upmark"
13
- s.summary = %q{A HTML to Markdown converter.}
14
- s.description = %q{Upmark has the skills to convert your HTML to Markdown.}
15
-
16
- s.rubyforge_project = "upmark"
17
-
18
- s.files = `git ls-files`.split("\n")
19
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
20
- s.executables = `git ls-files -- bin/*`.split("\n").map {|f| File.basename(f) }
21
-
22
- s.add_development_dependency "rspec"
23
- s.add_development_dependency "simplecov"
24
-
25
- s.add_runtime_dependency "parslet"
26
- end