asciidoctor-i18n 0.1.2 → 0.1.3
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/lib/asciidoctor/i18n/processor.rb +12 -11
- data/lib/asciidoctor/i18n/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1503d0e5ee43d1078d2a226b4afd8b28ece72638
|
4
|
+
data.tar.gz: 9cdbd23547827515a6ecd944ec5404d3036404cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 515a43aadaff9ecc51eca165f5555481224f86cb318543e351d3194bad22a5e4be773ab408d42c8e3aa5d4b1a66e29d8efbaece144e4f379073c5af8ae8c18f8
|
7
|
+
data.tar.gz: bac19436d497782675f47e37b08120b66a18353dab3d8819c43319402867da058edc8225bb5d3f753303952aa0a1d3c8ae88ae8654c3bd7ca3050ef7b06ff165
|
@@ -29,7 +29,7 @@ module Asciidoctor
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def process_block(src, translator)
|
32
|
-
src.lines = translator.translate(concatenated_lines(src))
|
32
|
+
src.lines = translator.translate(concatenated_lines(src, src.lines))
|
33
33
|
end
|
34
34
|
|
35
35
|
def process_table(src, translator)
|
@@ -41,8 +41,9 @@ module Asciidoctor
|
|
41
41
|
end
|
42
42
|
|
43
43
|
def process_list_item(src, translator)
|
44
|
-
|
45
|
-
return unless
|
44
|
+
raw = src.instance_variable_get(:@text)
|
45
|
+
return unless raw
|
46
|
+
text = concatenated_lines(src, raw.split("\n")).join("\n")
|
46
47
|
src.text = translator.translate(text)
|
47
48
|
end
|
48
49
|
|
@@ -57,10 +58,10 @@ module Asciidoctor
|
|
57
58
|
end
|
58
59
|
|
59
60
|
# concat continuous lines if no hard line break exists
|
60
|
-
def concatenated_lines(src)
|
61
|
-
return
|
62
|
-
result = [
|
63
|
-
|
61
|
+
def concatenated_lines(src, lines)
|
62
|
+
return lines if skip_concatenate?(src, lines)
|
63
|
+
result = [lines.first]
|
64
|
+
lines.drop(1).each do |line|
|
64
65
|
if line_break?(src, result.last, line)
|
65
66
|
result.push(line)
|
66
67
|
else
|
@@ -70,13 +71,13 @@ module Asciidoctor
|
|
70
71
|
result
|
71
72
|
end
|
72
73
|
|
73
|
-
def skip_concatenate?(src)
|
74
|
-
|
74
|
+
def skip_concatenate?(src, lines)
|
75
|
+
lines.empty? || !%i[simple compound].include?(src.content_model)
|
75
76
|
end
|
76
77
|
|
77
78
|
def line_break?(src, prev_line, next_line)
|
78
|
-
content = src.apply_subs(
|
79
|
-
content.
|
79
|
+
content = src.apply_subs("#{prev_line}\n#{next_line}", src.subs)
|
80
|
+
content.gsub(/<br>\s*$/).include?('<br>')
|
80
81
|
end
|
81
82
|
end
|
82
83
|
end
|