metanorma-utils 1.4.9 → 1.5.1

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: 9f2fc77a1340a09081ae875e3d2488e75504dd8f96bb0209eb5e881453b79311
4
- data.tar.gz: 3ee3013cd792903ff7bfbd58876751608633df96bd185ef3b07314fde91fd627
3
+ metadata.gz: 37fbf39c85da8b63e44be8849a9ce41a15522c2e6b805cfb5f9de006701f3110
4
+ data.tar.gz: 743944d95ebf66f6489df542172126de21bf71e86f9048518bdaa3b9efb9fe0e
5
5
  SHA512:
6
- metadata.gz: d0b4d37b78694dbf54cab56fde0a7e7d8ee865071992c5dcd1e3d2ef93e5f785d0397224a73082e3884d99ced913ba8be7f0e29359155fc5ee076f478356b562
7
- data.tar.gz: e96945c91aa5d052e84e2656319c6b83800660b11f9edcb3aed0a68146925be06d864bb5e286a91fb57bb9e32a1fc1dc7e4c5899ce3119a9b369c6cc1fd67749
6
+ metadata.gz: 54239cf1ac5eddd882ea7426124ee609987376942d79ac08d52fb7827dbde060345da8940aafad22fcc01e2db4a1f3047863759e649d7a9529c57aa2eb60b0de
7
+ data.tar.gz: 4a2d387e3040dcf8f66d88c7f2f131b6bcc1c7fb81acc8d6fa583d46909e5f0dca91de3e8334ece768d6ccb716c7fa9112878aece02fdb54b4e4a9cc1b54a87e
data/lib/utils/log.rb CHANGED
@@ -37,13 +37,23 @@ module Metanorma
37
37
  end
38
38
 
39
39
  def context(node)
40
- return nil if node.is_a? String
41
-
42
- node.respond_to?(:to_xml) and return node.to_xml
40
+ node.is_a? String and return nil
41
+ node.respond_to?(:to_xml) and return human_readable_xml(node)
43
42
  node.respond_to?(:to_s) and return node.to_s
44
43
  nil
45
44
  end
46
45
 
46
+ # try to approximate input, at least for maths
47
+ def human_readable_xml(node)
48
+ ret = node.dup
49
+ ret.xpath(".//*[local-name() = 'stem']").each do |s|
50
+ sub = s.at("./*[local-name() = 'asciimath'] | " \
51
+ "./*[local-name() = 'latexmath']")
52
+ sub and s.replace(sub)
53
+ end
54
+ ret.to_xml
55
+ end
56
+
47
57
  def write(file)
48
58
  File.open(file, "w:UTF-8") do |f|
49
59
  f.puts "#{file} errors"
data/lib/utils/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Utils
3
- VERSION = "1.4.9".freeze
3
+ VERSION = "1.5.1".freeze
4
4
  end
5
5
  end
data/lib/utils/xml.rb CHANGED
@@ -41,14 +41,15 @@ module Metanorma
41
41
  # block for processing XML document fragments as XHTML,
42
42
  # to allow for HTMLentities
43
43
  # Unescape special chars used in Asciidoctor substitution processing
44
- def noko(&block)
44
+ def noko(script = "Latn", &block)
45
45
  doc = ::Nokogiri::XML.parse(NOKOHEAD)
46
46
  fragment = doc.fragment("")
47
47
  ::Nokogiri::XML::Builder.with fragment, &block
48
+ eoln = %w(Hans Hant Jpan).include?(script) ? "" : " "
48
49
  fragment.to_xml(encoding: "US-ASCII", indent: 0,
49
50
  save_with: Nokogiri::XML::Node::SaveOptions::AS_XML)
50
51
  .lines.map do |l|
51
- l.gsub(/>\n$/, ">").gsub(/\s*\n$/m, " ").gsub("–", "\u0096")
52
+ l.gsub(/>\n$/, ">").gsub(/\n$/m, eoln).gsub("–", "\u0096")
52
53
  .gsub("—", "\u0097").gsub("–", "\u0096")
53
54
  .gsub("—", "\u0097")
54
55
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.9
4
+ version: 1.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-25 00:00:00.000000000 Z
11
+ date: 2023-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciidoctor