metanorma-utils 1.4.9 → 1.5.1

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