asciidoctor-i18n 0.1.2 → 0.1.3

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
  SHA1:
3
- metadata.gz: 28a9d85e776000b865f5692fd1ab46921486bbfd
4
- data.tar.gz: c410f7cc6ebfb158a92f5546a806392b39593426
3
+ metadata.gz: 1503d0e5ee43d1078d2a226b4afd8b28ece72638
4
+ data.tar.gz: 9cdbd23547827515a6ecd944ec5404d3036404cf
5
5
  SHA512:
6
- metadata.gz: 56610ba3305b1161b34727593608f41dfcf0d9e30aac8c1ac373f35f63262a851f7f2d0ebceff537a5b0bbe4f527b3c90fec8fc9b0fd2e3937955b069c0bab07
7
- data.tar.gz: bd570aa605e84ea2b62ac530a9a786fb929bf3a6a8ce7bc3c93de8d7aba1f160ac076e46eb919ea63b1a5cf56298dd8793307f97c59f9ceccc53c18e987a1210
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
- text = src.instance_variable_get(:@text)
45
- return unless text
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 src.lines if skip_concatenate?(src)
62
- result = [src.lines.first]
63
- src.lines.drop(1).each do |line|
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
- src.lines.empty? || src.content_model != :simple
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([prev_line, next_line].join("\n"), src.subs)
79
- content.include?('<br>') && !content.strip.end_with?('<br>')
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
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Asciidoctor
4
4
  module I18n
5
- VERSION = '0.1.2'.freeze
5
+ VERSION = '0.1.3'.freeze
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asciidoctor-i18n
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seiichi KONDO