kramdown-prismic 0.3.7 → 0.3.10
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 +4 -4
- data/CHANGELOG.md +12 -0
- data/Gemfile.lock +2 -2
- data/lib/kramdown/converter/prismic.rb +10 -4
- data/lib/kramdown-prismic/version.rb +1 -1
- data/test/converter_test.rb +63 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9fe817ad7275c3d276c64cd35609274de82861b51dd33a96b91b712681c3ccec
|
4
|
+
data.tar.gz: 86564f1a73cecc37c72584f01d028fcc477479e8256c6d5d8c70e456811267c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b08711e01100c77f6ba4aac0034cf44a08ce04cabfc7bccf9ffe5687670f2156bc3ee9d07c5ba3990b0df38982b50e3c16bd2807b93b6805987d0baa3103ecc
|
7
|
+
data.tar.gz: 43c728bbaad8e7edd47e287d615b152179ebde1b6255464f0f9d2b489c96a416932abae1c813fc3dbf430ae6f841baa3912b7f8113d23a5074a2166287525095
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## Version 0.3.10
|
4
|
+
|
5
|
+
- Fix the embed_url conversion
|
6
|
+
|
7
|
+
## Version 0.3.9
|
8
|
+
|
9
|
+
- Convert the target attribute on links
|
10
|
+
|
11
|
+
## Version 0.3.8
|
12
|
+
|
13
|
+
- Convert nested html_elements when converting from HTML.
|
14
|
+
|
3
15
|
## Version 0.3.7
|
4
16
|
|
5
17
|
- Fix converting nested headers
|
data/Gemfile.lock
CHANGED
@@ -179,7 +179,7 @@ module Kramdown
|
|
179
179
|
},
|
180
180
|
type: 'embed',
|
181
181
|
data: {
|
182
|
-
embed_url:
|
182
|
+
embed_url: element.attr['src'],
|
183
183
|
type: 'link'
|
184
184
|
}
|
185
185
|
}
|
@@ -249,10 +249,12 @@ module Kramdown
|
|
249
249
|
end
|
250
250
|
|
251
251
|
def extract_span_a(element, memo)
|
252
|
+
target = element.attr['target']
|
252
253
|
insert_span(element, memo, {
|
253
254
|
type: 'hyperlink',
|
254
255
|
data: {
|
255
|
-
url: element.attr['href']
|
256
|
+
url: element.attr['href'],
|
257
|
+
**(target ? { target: target } : {}),
|
256
258
|
}
|
257
259
|
})
|
258
260
|
end
|
@@ -282,8 +284,12 @@ module Kramdown
|
|
282
284
|
memo[:text] += element.value
|
283
285
|
end
|
284
286
|
|
285
|
-
def extract_span_html_element(
|
286
|
-
|
287
|
+
def extract_span_html_element(element, memo)
|
288
|
+
if respond_to?("extract_span_#{element.value}", true)
|
289
|
+
send("extract_span_#{element.value}", element, memo)
|
290
|
+
else
|
291
|
+
warning("translating html element '#{element.value}' is not supported")
|
292
|
+
end
|
287
293
|
end
|
288
294
|
|
289
295
|
def extract_span_footnote(_element, _memo)
|
data/test/converter_test.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
# coding: utf-8
|
2
1
|
# frozen_string_literal: true
|
3
2
|
|
4
3
|
require 'minitest/autorun'
|
@@ -322,7 +321,7 @@ class KramdownPrismicConverterTest < Minitest::Test
|
|
322
321
|
assert_equal 2, doc.warnings.size
|
323
322
|
end
|
324
323
|
|
325
|
-
|
324
|
+
def test_convert_heading_in_list
|
326
325
|
expected = [
|
327
326
|
{
|
328
327
|
type: 'list-item',
|
@@ -576,11 +575,16 @@ class KramdownPrismicConverterTest < Minitest::Test
|
|
576
575
|
end
|
577
576
|
|
578
577
|
def test_convert_html_with_no_tags
|
578
|
+
expected_text = if Gem::Version.new(Kramdown::VERSION) >= Gem::Version.new("2.3.2")
|
579
|
+
"Test "
|
580
|
+
else
|
581
|
+
"Test\n"
|
582
|
+
end
|
579
583
|
expected = [
|
580
584
|
{
|
581
585
|
type: 'paragraph',
|
582
586
|
content: {
|
583
|
-
text:
|
587
|
+
text: expected_text,
|
584
588
|
spans: []
|
585
589
|
}
|
586
590
|
}
|
@@ -608,6 +612,21 @@ class KramdownPrismicConverterTest < Minitest::Test
|
|
608
612
|
assert_equal expected, doc.to_prismic
|
609
613
|
end
|
610
614
|
|
615
|
+
def test_convert_link
|
616
|
+
expected = [
|
617
|
+
{
|
618
|
+
type: 'paragraph',
|
619
|
+
content: {
|
620
|
+
text: 'Test',
|
621
|
+
spans: [{type: 'hyperlink', data: {url: 'http://example.net', target: '_blank'}, start: 0, end: 4}]
|
622
|
+
}
|
623
|
+
}
|
624
|
+
]
|
625
|
+
html = '<a href="http://example.net" target="_blank">Test</a>'
|
626
|
+
doc = Kramdown::Document.new(html, input: :markdown)
|
627
|
+
assert_equal expected, doc.to_prismic
|
628
|
+
end
|
629
|
+
|
611
630
|
def test_convert_html
|
612
631
|
expected = []
|
613
632
|
html = '<div></div>'
|
@@ -616,12 +635,34 @@ class KramdownPrismicConverterTest < Minitest::Test
|
|
616
635
|
assert_equal 1, doc.warnings.size
|
617
636
|
end
|
618
637
|
|
619
|
-
def
|
638
|
+
def test_convert_span_html_strong
|
620
639
|
expected = [
|
621
640
|
{
|
622
641
|
type: 'paragraph',
|
623
642
|
content: {
|
624
|
-
text: '',
|
643
|
+
text: 'This is a paragraph',
|
644
|
+
spans: [
|
645
|
+
{
|
646
|
+
type: 'strong',
|
647
|
+
start: 10,
|
648
|
+
end: 20
|
649
|
+
}
|
650
|
+
]
|
651
|
+
}
|
652
|
+
}
|
653
|
+
]
|
654
|
+
html = '<p>This is a <strong> paragraph</strong></p>'
|
655
|
+
doc = Kramdown::Document.new(html, input: :html)
|
656
|
+
assert_equal expected, doc.to_prismic
|
657
|
+
assert_equal 0, doc.warnings.size
|
658
|
+
end
|
659
|
+
|
660
|
+
def test_convert_span_html_br
|
661
|
+
expected = [
|
662
|
+
{
|
663
|
+
type: 'paragraph',
|
664
|
+
content: {
|
665
|
+
text: "\n",
|
625
666
|
spans: []
|
626
667
|
}
|
627
668
|
}
|
@@ -629,7 +670,24 @@ class KramdownPrismicConverterTest < Minitest::Test
|
|
629
670
|
html = '<br>'
|
630
671
|
doc = Kramdown::Document.new(html, input: :markdown)
|
631
672
|
assert_equal expected, doc.to_prismic
|
673
|
+
assert_equal 0, doc.warnings.size
|
674
|
+
end
|
675
|
+
|
676
|
+
def test_convert_span_html_unknown
|
677
|
+
expected = [
|
678
|
+
{
|
679
|
+
type: 'paragraph',
|
680
|
+
content: {
|
681
|
+
text: 'This is a ',
|
682
|
+
spans: []
|
683
|
+
}
|
684
|
+
}
|
685
|
+
]
|
686
|
+
html = '<p>This is a <details>detail</details></p>'
|
687
|
+
doc = Kramdown::Document.new(html, input: :html)
|
688
|
+
assert_equal expected, doc.to_prismic
|
632
689
|
assert_equal 1, doc.warnings.size
|
690
|
+
assert_equal "translating html element 'details' is not supported", doc.warnings.first
|
633
691
|
end
|
634
692
|
|
635
693
|
def test_convert_table
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kramdown-prismic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- François de Metz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-06-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: kramdown
|