contentful_converter 0.0.1.19 → 0.0.1.20

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 312fc2fee8be7af3a1f90039b519087dfaee14b54eb31f8550b00f085c902c51
4
- data.tar.gz: a62d26339ae81fa18522082f9b5af3b0a6d3710df0db3466d8d2024aab23c1f3
3
+ metadata.gz: 55620781f48fc401fb5f27ec0d5395656d6c07399065ae1a09d2fc0934ecf7e3
4
+ data.tar.gz: 1163a511e7a0a60fd0014d2bfbdb2f6a8efa4a0753d2e9e0caedd14105188c57
5
5
  SHA512:
6
- metadata.gz: ab68d8bd9da7a6913a92bd91e5a2a751ba52e836b1cab69d14b48e97e870a5ffd82624f10da5ae5a6f4fc79dafb16a2a65786a775ba3ae5748c005f6eaf12ec9
7
- data.tar.gz: 0f3d2cc7c7914d8241ca22fc485af810bacc1dc5e477d04ecb1a10494302c451520bd21475fb9cb96cbdafadbe0b205a711602ee9ccf356a9d2054e87735f9cb
6
+ metadata.gz: d90af11d08e5baac9374a9a69213ea04911fc8be7c9b9aee077a12e525fea2e74acc8642f9d80f846e40f110bdc04627c0fc66fb282a812825005cd17e4db253
7
+ data.tar.gz: 0b611c027bf603c5e3b029e397e37cf8e65ef0aef4a320cbe248978b767060ebe6579616668ed293cdb76fd7924e6707ce1ce49b6f1bdfb08fa68bccce2f3566
@@ -9,6 +9,12 @@ module ContentfulConverter
9
9
  false
10
10
  end
11
11
 
12
+ def add_content(node)
13
+ return unless node.class == Nodes::ListItem
14
+
15
+ super
16
+ end
17
+
12
18
  private
13
19
 
14
20
  def type
@@ -9,6 +9,12 @@ module ContentfulConverter
9
9
  false
10
10
  end
11
11
 
12
+ def add_content(node)
13
+ return unless node.class == Nodes::ListItem
14
+
15
+ super
16
+ end
17
+
12
18
  private
13
19
 
14
20
  def type
@@ -7,39 +7,31 @@ module ContentfulConverter
7
7
  class << self
8
8
  def build(html)
9
9
  doc = create_nokogiri_fragment(sanitize(html))
10
- doc = normalize_lists(doc) if find_li(doc).any?
10
+ normalize_lists(doc)
11
+ normalize_embeds(doc)
11
12
  doc
12
13
  end
13
14
 
14
15
  private
15
16
 
16
- def create_nokogiri_fragment(html)
17
- Nokogiri::HTML.fragment(html)
18
- end
19
-
20
17
  def sanitize(html)
21
18
  doc = create_nokogiri_fragment(html)
22
19
  doc.css('section', 'div').each { |elem| elem.name = 'p' }
23
20
  doc.to_html
24
21
  end
25
22
 
26
- def normalize_lists(nokogiri_fragment)
27
- find_li(nokogiri_fragment).each { |li_node| wrap_parents_in_ul(li_node) }
28
- find_list_groups(nokogiri_fragment).each { |elem| clear_children(elem) }
29
-
30
- nokogiri_fragment
31
- end
32
-
33
- def find_li(nokogiri_fragment)
34
- nokogiri_fragment.css('li')
23
+ def create_nokogiri_fragment(html)
24
+ Nokogiri::HTML.fragment(html)
35
25
  end
36
26
 
37
- def find_list_groups(nokogiri_fragment)
38
- nokogiri_fragment.css('ol', 'ul')
27
+ def normalize_lists(nokogiri_fragment)
28
+ nokogiri_fragment.css('li').each { |li| wrap_parents_in_ul(li) }
39
29
  end
40
30
 
41
- def clear_children(elem)
42
- elem.children.each { |child| child.remove unless child.name == 'li' }
31
+ def normalize_embeds(nokogiri_fragment)
32
+ nokogiri_fragment.css('p embed').each do |embed_node|
33
+ embed_node.parent.add_next_sibling(embed_node)
34
+ end
43
35
  end
44
36
 
45
37
  def wrap_parents_in_ul(node)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ContentfulConverter
4
- VERSION = '0.0.1.19'
4
+ VERSION = '0.0.1.20'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: contentful_converter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.19
4
+ version: 0.0.1.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Avlonitis