upmark 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e6e70467bec74fa706947ab9b0aea3c6cf626c6cf201a07aa918b5fba980a1a2
4
- data.tar.gz: a237b227e1c64e116dad035548ac4d364f9fca96956b26ad7b90f0b5919b29fc
3
+ metadata.gz: 6b50ae60e763766a5a5b4276591f488e17668ef3d85d2f78079d2a259e81fcdc
4
+ data.tar.gz: 3d5722b9cee80ab15a9d9f975b0b6f5d662a53d325a54849ec47bbe6c17ee4d6
5
5
  SHA512:
6
- metadata.gz: 8c132b5f1a0fdc78cd7c5a4e3c7b3a9bad1a7aacfc7ad3e59f9d2a88bdb03bdd610bd5a907bddf565e2183c0c70dc0558834b80e7fddac8ad9421fe245f2e99c
7
- data.tar.gz: 7a4997aea6c74b5a2ee3adcf377e963663ca1ce6e4aec1cb48dc7d3066f0f8ec46710235885df300e6bd0fe15923825b130f0ab1de22bfc15d649bacbaae98b8
6
+ metadata.gz: bed12a83c45c01bc2033d4c41bd3a5af61aa2777925f51b19322a0655756f8d4aab7f76b1db1a633b08bd9d43a1f30001b0489ca4bb8ad7105666d3e5f3f7d50
7
+ data.tar.gz: b2ffc99286769acc223f9065bbdacf82c3c3ca2c6132120b7af036ec8a71721950bd03125f61767c6411fb93c5f19ab10ea78f780ad534449ab670c4410e312c
data/README.md CHANGED
@@ -42,7 +42,7 @@ It will also pass through block and span-level HTML elements (e.g. `table`, `div
42
42
 
43
43
  ## How it works
44
44
 
45
- Upmark defines a parsing expression grammar (PEG) using the very awesome [Parslet](http://kschiess.github.com/parslet/) gem. This PEG is then used to convert HTML into Markdown in 4 steps:
45
+ Upmark defines a parsing expression grammar (PEG) using the very awesome [Parslet](https://github.com/kschiess/parslet/) gem. This PEG is then used to convert HTML into Markdown in 4 steps:
46
46
 
47
47
  1. Parse the XHTML into an abstract syntax tree (AST).
48
48
  2. Normalize the AST into a nested hash of HTML elements.
@@ -48,12 +48,12 @@ module Upmark
48
48
  element(:li) {|element| "#{text(element)}" }
49
49
 
50
50
  element(:ul) do |element|
51
- children = element[:children].map {|value| value.strip != "" ? value : nil }.compact
51
+ children = element[:children].flatten.map {|value| value.strip != "" ? value : nil }.compact
52
52
  children.map {|value| "* #{value.gsub(/^\s*•\s*/,'')}\n" }
53
53
  end
54
54
 
55
55
  element(:ol) do |element|
56
- children = element[:children].map {|value| value.strip != "" ? value : nil }.compact
56
+ children = element[:children].flatten.map {|value| value.strip != "" ? value : nil }.compact
57
57
  children.map.with_index {|value, i| "#{i + 1}. #{value}\n" }
58
58
  end
59
59
 
@@ -341,4 +341,36 @@ messenger **bag** skateboard
341
341
  expect(html).to convert_to("Hi\nthere")
342
342
  end
343
343
  end
344
- end
344
+
345
+ context "nested unordered lists" do
346
+ let(:html) do
347
+ <<-HTML
348
+ <ul>
349
+ <ul>
350
+ <li>List item</li>
351
+ </ul>
352
+ </ul>
353
+ HTML
354
+ end
355
+
356
+ it "generates readable output" do
357
+ expect(html).to convert_to("* * List item")
358
+ end
359
+ end
360
+
361
+ context "nested ordered lists" do
362
+ let(:html) do
363
+ <<-HTML
364
+ <ol>
365
+ <ol>
366
+ <li>List item</li>
367
+ </ol>
368
+ </ol>
369
+ HTML
370
+ end
371
+
372
+ it "generates readable output" do
373
+ expect(html).to convert_to("1. 1. List item")
374
+ end
375
+ end
376
+ end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: upmark
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Bassett
8
8
  - Gus Gollings
9
9
  - James Healy
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-03-26 00:00:00.000000000 Z
13
+ date: 2024-04-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec
@@ -95,7 +95,7 @@ files:
95
95
  homepage: http://github.com/conversation/upmark
96
96
  licenses: []
97
97
  metadata: {}
98
- post_install_message:
98
+ post_install_message:
99
99
  rdoc_options: []
100
100
  require_paths:
101
101
  - lib
@@ -110,14 +110,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
112
  requirements: []
113
- rubyforge_project: upmark
114
- rubygems_version: 2.7.0
115
- signing_key:
113
+ rubygems_version: 3.4.10
114
+ signing_key:
116
115
  specification_version: 4
117
116
  summary: A HTML to Markdown converter.
118
117
  test_files:
118
+ - spec/acceptance/upmark_spec.rb
119
+ - spec/errors_spec.rb
119
120
  - spec/spec_helper.rb
120
121
  - spec/unit/lib/upmark/parser/xml_spec.rb
121
122
  - spec/unit/lib/upmark/transform/markdown_spec.rb
122
- - spec/acceptance/upmark_spec.rb
123
- - spec/errors_spec.rb