stepmod-utils 0.4.11 → 0.4.13
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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 58a97c3c7381351ce5d0ff391e65f6b5d62ce52f541d51975b53c6e4793b5ae0
|
|
4
|
+
data.tar.gz: dd7d17312e634aaab93688e8f3fdee84e1895c025d74dd0a505fd357ea336756
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 896b518262254a61c6e0e6a5df7fe5fd992eef5f9a1fb1f9136ee0753a6dc649c9c1ba07fe192c939cfa51b545a4749ffa2610aa9dc4c609b2f7e9385f917437
|
|
7
|
+
data.tar.gz: 54f31dabc624b11cfe48dde83bd0108c07692c4d3d55ee49a7f70ab518cae6914a9013e99f232d1b0c95e2798627904b3f895dad0ff8b47a48d0cd28ed117f21
|
|
@@ -64,7 +64,7 @@ module Stepmod
|
|
|
64
64
|
options = {
|
|
65
65
|
schema_name: schema_name,
|
|
66
66
|
version: change_node.attr("version"),
|
|
67
|
-
description: converted_description(change_node.
|
|
67
|
+
description: converted_description(change_node.xpath("description").first),
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
MODULE_TYPES.each do |type|
|
|
@@ -132,9 +132,11 @@ module Stepmod
|
|
|
132
132
|
|
|
133
133
|
def extract_change_edition(schema_changes, options)
|
|
134
134
|
type = options[:type] || "schema"
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
135
|
+
node_type = type.gsub("_longform", "")
|
|
136
|
+
|
|
137
|
+
addition_nodes = schema_changes&.xpath("#{node_type}.additions") || []
|
|
138
|
+
modification_nodes = schema_changes&.xpath("#{node_type}.modifications") || []
|
|
139
|
+
deletion_nodes = schema_changes&.xpath("#{node_type}.deletions") || []
|
|
138
140
|
|
|
139
141
|
{
|
|
140
142
|
version: options[:version],
|
|
@@ -59,7 +59,7 @@ module Stepmod
|
|
|
59
59
|
internal_content = treat_children(cloned_node, state.merge(equation: true))
|
|
60
60
|
content = Stepmod::Utils::HtmlToAsciimath.new.call(internal_content)
|
|
61
61
|
res = <<~TEMPLATE
|
|
62
|
-
|
|
62
|
+
#{source_type_comment(cloned_node)}
|
|
63
63
|
[stem]
|
|
64
64
|
++++
|
|
65
65
|
#{remove_trash_symbols(content.strip)}
|
|
@@ -71,6 +71,10 @@ module Stepmod
|
|
|
71
71
|
res
|
|
72
72
|
end
|
|
73
73
|
|
|
74
|
+
def source_type_comment(node)
|
|
75
|
+
"\n// source type is bigeqn\n" if node.name == "bigeqn"
|
|
76
|
+
end
|
|
77
|
+
|
|
74
78
|
def remove_trash_symbols(content)
|
|
75
79
|
content
|
|
76
80
|
.gsub(/ /, "")
|
|
@@ -118,6 +122,7 @@ module Stepmod
|
|
|
118
122
|
end
|
|
119
123
|
|
|
120
124
|
ReverseAdoc::Converters.register :eqn, Eqn.new
|
|
125
|
+
ReverseAdoc::Converters.register :bigeqn, Eqn.new
|
|
121
126
|
end
|
|
122
127
|
end
|
|
123
128
|
end
|
|
@@ -4,7 +4,6 @@ module Stepmod
|
|
|
4
4
|
module Utils
|
|
5
5
|
module Converters
|
|
6
6
|
class Table < Stepmod::Utils::Converters::Base
|
|
7
|
-
|
|
8
7
|
def self.pattern(state, id)
|
|
9
8
|
if state[:schema_and_entity].nil?
|
|
10
9
|
raise StandardError.new("[table]: no state given, #{id}")
|
|
@@ -23,8 +22,14 @@ module Stepmod
|
|
|
23
22
|
title = node["caption"].to_s
|
|
24
23
|
title = ".#{title}\n" unless title.empty?
|
|
25
24
|
attrs = style(node)
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
|
|
26
|
+
<<~TABLE
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
#{anchor}#{attrs}#{title}|===
|
|
30
|
+
#{treat_children(node, state.merge(inside_table: true))}
|
|
31
|
+
|===
|
|
32
|
+
TABLE
|
|
28
33
|
end
|
|
29
34
|
|
|
30
35
|
def frame(node)
|
|
@@ -8,7 +8,7 @@ module Stepmod
|
|
|
8
8
|
if node.text.strip.empty?
|
|
9
9
|
treat_empty(node, state)
|
|
10
10
|
else
|
|
11
|
-
treat_text(node)
|
|
11
|
+
treat_text(node, state)
|
|
12
12
|
end
|
|
13
13
|
end
|
|
14
14
|
|
|
@@ -27,21 +27,26 @@ module Stepmod
|
|
|
27
27
|
end
|
|
28
28
|
end
|
|
29
29
|
|
|
30
|
-
def treat_text(node)
|
|
30
|
+
def treat_text(node, state)
|
|
31
31
|
text = node.text
|
|
32
32
|
text = preserve_nbsp(text)
|
|
33
33
|
text = remove_inner_newlines(text)
|
|
34
34
|
text = remove_border_newlines(text)
|
|
35
35
|
|
|
36
36
|
text = preserve_keychars_within_backticks(text)
|
|
37
|
-
|
|
37
|
+
|
|
38
|
+
text = preserve_pipes_within_tables(text, state)
|
|
39
|
+
text = wrap_if_contains_spaces(text, state)
|
|
40
|
+
preserve_tags(text, state)
|
|
38
41
|
end
|
|
39
42
|
|
|
40
43
|
def preserve_nbsp(text)
|
|
41
44
|
text.gsub(/\u00A0/, " ")
|
|
42
45
|
end
|
|
43
46
|
|
|
44
|
-
def preserve_tags(text)
|
|
47
|
+
def preserve_tags(text, state)
|
|
48
|
+
return text if state[:inside_table]
|
|
49
|
+
|
|
45
50
|
text.gsub(/[<>]/, ">" => '\>', "<" => '\<')
|
|
46
51
|
end
|
|
47
52
|
|
|
@@ -49,6 +54,12 @@ module Stepmod
|
|
|
49
54
|
text.gsub(/\A\n+/, "").gsub(/\n+\z/, "")
|
|
50
55
|
end
|
|
51
56
|
|
|
57
|
+
def wrap_if_contains_spaces(text, state)
|
|
58
|
+
return "(#{text})" if state[:equation] && text.strip.match?(/\s/) && text.match?(/^[A-Za-z ]+$/)
|
|
59
|
+
|
|
60
|
+
text
|
|
61
|
+
end
|
|
62
|
+
|
|
52
63
|
def remove_inner_newlines(text)
|
|
53
64
|
text.tr("\n\t", " ").squeeze(" ")
|
|
54
65
|
end
|
|
@@ -58,6 +69,12 @@ module Stepmod
|
|
|
58
69
|
match.gsub('\_', "_").gsub('\*', "*")
|
|
59
70
|
end
|
|
60
71
|
end
|
|
72
|
+
|
|
73
|
+
def preserve_pipes_within_tables(text, state)
|
|
74
|
+
return text unless state[:inside_table]
|
|
75
|
+
|
|
76
|
+
text.gsub("|", "\\|")
|
|
77
|
+
end
|
|
61
78
|
end
|
|
62
79
|
|
|
63
80
|
ReverseAdoc::Converters.register :text, Text.new
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: stepmod-utils
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.4.
|
|
4
|
+
version: 0.4.13
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2024-01-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: concurrent-ruby
|