contentful_converter 0.0.1.19 → 0.0.1.20

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: 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