metanorma-plugin-lutaml 0.4.9 → 0.4.10
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/README.adoc +108 -51
- data/lib/metanorma/plugin/lutaml/liquid/custom_filters.rb +9 -0
- data/lib/metanorma/plugin/lutaml/liquid_templates/_packages.liquid +109 -3
- data/lib/metanorma/plugin/lutaml/liquid_templates/_packages_class.liquid +3 -3
- data/lib/metanorma/plugin/lutaml/liquid_templates/_packages_data_dictionary.liquid +209 -61
- data/lib/metanorma/plugin/lutaml/liquid_templates/_packages_data_dictionary_class.liquid +49 -43
- data/lib/metanorma/plugin/lutaml/liquid_templates/_packages_data_dictionary_classes.liquid +1 -1
- data/lib/metanorma/plugin/lutaml/liquid_templates/_packages_data_type.liquid +1 -1
- data/lib/metanorma/plugin/lutaml/liquid_templates/_packages_entity_list.liquid +96 -21
- data/lib/metanorma/plugin/lutaml/liquid_templates/_packages_entity_list_class.liquid +19 -0
- data/lib/metanorma/plugin/lutaml/liquid_templates/_packages_entity_list_classes.liquid +3 -3
- data/lib/metanorma/plugin/lutaml/liquid_templates/_packages_enum.liquid +1 -2
- data/lib/metanorma/plugin/lutaml/lutaml_preprocessor.rb +1 -1
- data/lib/metanorma/plugin/lutaml/lutaml_uml_attributes_table_preprocessor.rb +1 -1
- data/lib/metanorma/plugin/lutaml/lutaml_uml_datamodel_description_preprocessor.rb +46 -15
- data/lib/metanorma/plugin/lutaml/utils.rb +1 -1
- data/lib/metanorma/plugin/lutaml/version.rb +1 -1
- metadata +3 -2
@@ -4,7 +4,7 @@
|
|
4
4
|
{% endif %}
|
5
5
|
{% assign klass_name = klass.name | downcase | replace: ':', '' | replace: ' ', '_' %}
|
6
6
|
[[section-{{ klass.xmi_id }}]]
|
7
|
-
.
|
7
|
+
.Definition table of “{{ package.name }}::{{ klass.name }}” ({{ klass.stereotype }})
|
8
8
|
[width="100%",cols="a,a,a,a,a,a,a,a"]
|
9
9
|
|===
|
10
10
|
|
@@ -2,17 +2,33 @@
|
|
2
2
|
{% assign package_name = package.name | downcase | replace: ":", "" | replace: " ", "_" %}
|
3
3
|
{% if additional_context.before and additional_context.before.size > 0 %}
|
4
4
|
{% for before in additional_context.before %}
|
5
|
+
{% if before.liquid %}
|
6
|
+
{{ before.text | interpolate }}
|
7
|
+
{% else %}
|
5
8
|
{{ before.text }}
|
9
|
+
{% endif %}
|
10
|
+
{% endfor %}
|
11
|
+
{% endif %}
|
12
|
+
{% assign before_package_key = 'before;' | append: package.name %}
|
13
|
+
{% if additional_context[before_package_key] %}
|
14
|
+
{% for before in additional_context[before_package_key] %}
|
15
|
+
{% if before.liquid %}
|
16
|
+
{{ before.text | interpolate }}
|
17
|
+
{% else %}
|
18
|
+
{{ before.text }}
|
19
|
+
{% endif %}
|
6
20
|
{% endfor %}
|
7
21
|
{% endif %}
|
8
22
|
{% if depth %}
|
23
|
+
{% assign nested_depth = depth | plus: 1 %}
|
24
|
+
{% capture equalsigns %}{% for count in (1..depth) %}={% endfor %}{% endcapture %}
|
9
25
|
[[rc_{{ package_name }}-model_section]]
|
10
|
-
{
|
26
|
+
{{equalsigns}} {{ package.name }}
|
11
27
|
{% endif %}
|
12
28
|
|
13
|
-
{% if additional_context.
|
14
|
-
{% assign
|
15
|
-
{% for block in
|
29
|
+
{% if additional_context.all_macros.size > 0 %}
|
30
|
+
{% assign sorted_all_macros = additional_context.all_macros | where: "position", "before" | sort: 'index' %}
|
31
|
+
{% for block in sorted_all_macros %}
|
16
32
|
{% case block.type %}
|
17
33
|
{% when 'include_block' %}
|
18
34
|
{% unless block.package and block.package != package.name %}
|
@@ -21,8 +37,12 @@
|
|
21
37
|
{% unless block_content contains "Liquid error" %}
|
22
38
|
{% if block.text %}
|
23
39
|
|
40
|
+
{% if block.liquid %}
|
41
|
+
{{ block.text | interpolate }}
|
42
|
+
{% else %}
|
24
43
|
{{ block.text }}
|
25
44
|
{% endif %}
|
45
|
+
{% endif %}
|
26
46
|
|
27
47
|
{{ block_content }}
|
28
48
|
{% endunless %}
|
@@ -30,14 +50,18 @@
|
|
30
50
|
{% when 'package_text' %}
|
31
51
|
{% unless block.package and block.package != package.name %}
|
32
52
|
|
53
|
+
{% if block.liquid %}
|
54
|
+
{{ block.text | interpolate }}
|
55
|
+
{% else %}
|
33
56
|
{{ block.text }}
|
57
|
+
{% endif %}
|
34
58
|
{% endunless %}
|
35
59
|
{% else %}
|
36
60
|
{% endcase %}
|
37
61
|
{% endfor %}
|
38
62
|
{% endif %}
|
39
63
|
|
40
|
-
// TODO: move to
|
64
|
+
{% comment %} // TODO: move to all_macros block {% endcomment %}
|
41
65
|
{% if additional_context.diagram_include_block %}
|
42
66
|
{% for diagram_include_block in additional_context.diagram_include_block %}
|
43
67
|
{% include "diagrams_block", package_name: package_name, image_base_path: diagram_include_block.base_path, text: diagram_include_block.text %}
|
@@ -45,57 +69,66 @@
|
|
45
69
|
{% endif %}
|
46
70
|
|
47
71
|
{% if package.classes.size > 0 %}
|
72
|
+
{% unless package_skip_sections[package.name]['classes'] %}
|
48
73
|
{{equalsigns}}= Class definitions
|
49
74
|
|
75
|
+
{% endunless %}
|
50
76
|
{% comment %} {% assign data_types = package.classes | where: "stereotype", "DataType" %} {% endcomment %}
|
51
77
|
{% assign basic_types = package.classes | where: "stereotype", "BasicType" %}
|
52
78
|
{% comment %} {% assign enumerations = package.classes | where: "stereotype", "Enumeration" %} {% endcomment %}
|
53
79
|
{% assign code_lists = package.classes | where: "stereotype", "CodeList" %}
|
80
|
+
{% assign unions = package.data_types | where: "stereotype", "Union" %}
|
54
81
|
|
55
82
|
{% assign not_classes_length = plus: basic_types.size | plus: code_lists.size %}
|
56
|
-
{% assign
|
57
|
-
{% unless not_classes_length == package.classes.size %}
|
58
|
-
.Classes
|
83
|
+
{% assign not_classes_stereotypes = 'DataType,BasicType,Enumeration,CodeList' | split: ','%}
|
84
|
+
{% unless not_classes_length == package.classes.size or package_skip_sections[package.name]['classes'] %}
|
85
|
+
.Classes defined in {{ package.name }} ({{ package.stereotype }})
|
59
86
|
[cols="2a,6a",options="header"]
|
60
87
|
|===
|
61
88
|
|Name |Description
|
89
|
+
|
62
90
|
{% for klass in package.classes %}
|
63
|
-
{% unless
|
64
|
-
|
65
|
-
|{{ klass.definition }}
|
91
|
+
{% unless not_classes_stereotypes contains klass.stereotype %}
|
92
|
+
| <<{{ klass.name }}-section,{{ klass.name }}>> «{{ klass.stereotype }}»
|
93
|
+
| {{ klass.definition | replace: '|', '\|' }}
|
66
94
|
|
67
95
|
{% endunless %}
|
68
96
|
{% endfor %}
|
69
97
|
|===
|
70
98
|
{% endunless %}
|
71
99
|
|
72
|
-
{%
|
73
|
-
{%
|
100
|
+
{% assign non_unions = package.data_types | where: "stereotype", "DataType" %}
|
101
|
+
{% if non_unions.size > 0 %}
|
102
|
+
{% include "packages_entity_list_classes", classes: non_unions, type: "Data types", depth: nested_depth %}
|
74
103
|
{% endif %}
|
75
104
|
|
76
105
|
{% if basic_types.size > 0 %}
|
77
|
-
{% include "packages_entity_list_classes", classes: basic_types, type: "Primitive
|
106
|
+
{% include "packages_entity_list_classes", classes: basic_types, type: "Primitive data types", depth: nested_depth %}
|
78
107
|
{% endif %}
|
79
108
|
|
80
109
|
{% if package.enums.size > 0 %}
|
81
|
-
{% include "packages_entity_list_classes", classes: package.enums, type: "Enumerated
|
110
|
+
{% include "packages_entity_list_classes", classes: package.enums, type: "Enumerated classes", depth: nested_depth %}
|
111
|
+
{% endif %}
|
112
|
+
|
113
|
+
{% if unions.size > 0 %}
|
114
|
+
{% include "packages_entity_list_classes", classes: unions, type: "Union types", depth: nested_depth %}
|
82
115
|
{% endif %}
|
83
116
|
|
84
117
|
{% if code_lists.size > 0 %}
|
85
|
-
{% include "packages_entity_list_classes", classes: code_lists, type: "
|
118
|
+
{% include "packages_entity_list_classes", classes: code_lists, type: "Code list classes", depth: nested_depth %}
|
86
119
|
{% endif %}
|
87
120
|
|
88
121
|
{% endif %}
|
89
122
|
|
90
123
|
{% comment %} {% if package.data_types.size > 0 %}
|
91
124
|
.Data types used in {{ package.name }}
|
92
|
-
[cols="
|
125
|
+
[cols="2a,6a",options="header"]
|
93
126
|
|===
|
94
127
|
|Name |Description
|
95
128
|
|
96
129
|
{% for klass in package.data_types %}
|
97
130
|
|<<{{ klass.name }}-section,{{ klass.name }}>> «{{ klass.stereotype }}»
|
98
|
-
|{{ klass.definition }}
|
131
|
+
|{{ klass.definition | replace: '|', '\|' }}
|
99
132
|
|
100
133
|
{% endfor %}
|
101
134
|
|
@@ -110,27 +143,69 @@
|
|
110
143
|
|
111
144
|
{% for klass in package.enums %}
|
112
145
|
|<<{{ klass.name }}-section,{{ klass.name }}>> «{{ klass.stereotype }}»
|
113
|
-
|{{ klass.definition }}
|
146
|
+
|{{ klass.definition | replace: '|', '\|' }}
|
114
147
|
|
115
148
|
{% endfor %}
|
116
149
|
|
117
150
|
|===
|
118
151
|
{% endif %} {% endcomment %}
|
119
152
|
|
153
|
+
{% if additional_context.all_macros.size > 0 %}
|
154
|
+
{% assign sorted_all_macros = additional_context.all_macros | where: "position", "after" | sort: 'index' %}
|
155
|
+
{% for block in sorted_all_macros %}
|
156
|
+
{% case block.type %}
|
157
|
+
{% when 'include_block' %}
|
158
|
+
{% unless block.package and block.package != package.name %}
|
159
|
+
{% capture block_filename %}{{ block.base_path }}{{ package_name }}{% endcapture %}
|
160
|
+
{% capture block_content %}{% include block_filename %}{% endcapture %}
|
161
|
+
{% unless block_content contains "Liquid error" %}
|
162
|
+
{% if block.text %}
|
163
|
+
|
164
|
+
{% if block.liquid %}
|
165
|
+
{{ block.text | interpolate }}
|
166
|
+
{% else %}
|
167
|
+
{{ block.text }}
|
168
|
+
{% endif %}
|
169
|
+
{% endif %}
|
170
|
+
|
171
|
+
{{ block_content }}
|
172
|
+
{% endunless %}
|
173
|
+
{% endunless %}
|
174
|
+
{% when 'package_text' %}
|
175
|
+
{% unless block.package and block.package != package.name %}
|
176
|
+
|
177
|
+
{% if block.liquid %}
|
178
|
+
{{ block.text | interpolate }}
|
179
|
+
{% else %}
|
180
|
+
{{ block.text }}
|
181
|
+
{% endif %}
|
182
|
+
{% endunless %}
|
183
|
+
{% else %}
|
184
|
+
{% endcase %}
|
185
|
+
{% endfor %}
|
186
|
+
{% endif %}
|
187
|
+
|
120
188
|
{% assign after_package_key = 'after;' | append: package.name %}
|
121
189
|
{% if additional_context[after_package_key] %}
|
122
|
-
{{equalsigns}}= Additional information
|
123
190
|
{% for after in additional_context[after_package_key] %}
|
191
|
+
{% if after.liquid %}
|
192
|
+
{{ after.text | interpolate }}
|
193
|
+
{% else %}
|
124
194
|
{{ after.text }}
|
195
|
+
{% endif %}
|
125
196
|
{% endfor %}
|
126
197
|
{% endif %}
|
127
198
|
{% if package.packages.size > 0 and render_nested_packages %}
|
128
|
-
{%
|
199
|
+
{% include "packages_entity_list", depth: nested_depth, context: package %}
|
129
200
|
{% endif %}
|
130
201
|
{% endfor %}
|
131
202
|
|
132
203
|
{% if additional_context.after and additional_context.after.size > 0 %}
|
133
204
|
{% for after in additional_context.after %}
|
205
|
+
{% if after.liquid %}
|
206
|
+
{{ after.text | interpolate }}
|
207
|
+
{% else %}
|
134
208
|
{{ after.text }}
|
209
|
+
{% endif %}
|
135
210
|
{% endfor %}
|
136
211
|
{% endif %}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
{% for package in context.packages %}
|
2
|
+
{% assign not_classes_stereotypes = 'DataType,BasicType,Enumeration,CodeList' | split: ','%}
|
3
|
+
[cols="2a,6a",options="header"]
|
4
|
+
|===
|
5
|
+
|Class |Description
|
6
|
+
|
7
|
+
{% for klass in package.classes %}
|
8
|
+
{% assign klass_name = klass.name %}
|
9
|
+
{% assign package_name = package.name %}
|
10
|
+
{% unless package_entities and package_entities[package_name][klass_name] != true %}
|
11
|
+
{% unless not_classes_stereotypes contains klass.stereotype %}
|
12
|
+
| <<{{ klass.name }}-section,{{ klass.name }}>> «{{ klass.stereotype }}»
|
13
|
+
| {{ klass.definition | replace: '|', '\|' }}
|
14
|
+
|
15
|
+
{% endunless %}
|
16
|
+
{% endunless %}
|
17
|
+
{% endfor %}
|
18
|
+
|===
|
19
|
+
{% endfor %}
|
@@ -1,11 +1,11 @@
|
|
1
|
-
.{{ type }}
|
1
|
+
.{{ type }} defined in {{ package.name }} ({{ package.stereotype }})
|
2
2
|
[cols="2a,6a",options="header"]
|
3
3
|
|===
|
4
4
|
|Name |Description
|
5
5
|
|
6
6
|
{% for klass in classes %}
|
7
|
-
|
8
|
-
|{{ klass.definition }}
|
7
|
+
| <<{{ klass.name }}-section,{{ klass.name }}>> «{{ klass.stereotype | default: "Enumeration" }}»
|
8
|
+
| {{ klass.definition | replace: '|', '\|' }}
|
9
9
|
|
10
10
|
{% endfor %}
|
11
11
|
|===
|
@@ -5,7 +5,7 @@
|
|
5
5
|
{% assign klass_name = klass.name | downcase | replace: ':', '' | replace: ' ', '_' %}
|
6
6
|
|
7
7
|
[[section-{{ klass.xmi_id }}]]
|
8
|
-
.
|
8
|
+
.Definition table of “{{ package.name }}::{{ klass.name }}” ({{ klass.stereotype }})
|
9
9
|
[width="100%",cols="a,a,a,a,a,a,a,a"]
|
10
10
|
|===
|
11
11
|
|
@@ -60,5 +60,4 @@ h| Values:
|
|
60
60
|
7+| (none)
|
61
61
|
{% endif %}
|
62
62
|
|
63
|
-
|
64
63
|
|===
|
@@ -52,7 +52,7 @@ module Metanorma
|
|
52
52
|
|
53
53
|
def process_text_blocks(document, input_lines, express_indexes)
|
54
54
|
line = input_lines.next
|
55
|
-
block_match = line.match(/^\[
|
55
|
+
block_match = line.match(/^\[(?:\blutaml\b|\blutaml_express\b),([^,]+)?,?([^,]+)?,?([^,]+)?\]/)
|
56
56
|
return [line] if block_match.nil?
|
57
57
|
|
58
58
|
end_mark = input_lines.next
|
@@ -87,7 +87,7 @@ module Metanorma
|
|
87
87
|
{% else %}
|
88
88
|
.{{ definition.name }} attributes
|
89
89
|
|===
|
90
|
-
|Name |Definition |Mandatory/ Optional/ Conditional |Max Occur |Data Type
|
90
|
+
|Name |Definition |Mandatory / Optional / Conditional |Max Occur |Data Type
|
91
91
|
|
92
92
|
{% for item in definition.attributes %}
|
93
93
|
|{{ item.name }} |{% if item.definition %}{{ item.definition }}{% endif %} |{% if item.cardinality.min == "0" %}O{% else %}M{% endif %} |{% if item.cardinality.max == "*" %}N{% else %}1{% endif %} |{% if item.origin %}<<{{ item.origin }}>>{% endif %} `{{ item.type }}`
|
@@ -24,6 +24,7 @@ module Metanorma
|
|
24
24
|
RENDER_STYLES_INCLUDES = {
|
25
25
|
'default' => 'packages',
|
26
26
|
'entity_list' => 'packages_entity_list',
|
27
|
+
'entity_list_class' => 'packages_entity_list_class',
|
27
28
|
'data_dictionary' => 'packages_data_dictionary'
|
28
29
|
}.freeze
|
29
30
|
RENDER_STYLE_ATTRIBUTE = 'render_style'.freeze
|
@@ -39,11 +40,19 @@ module Metanorma
|
|
39
40
|
|
40
41
|
private
|
41
42
|
|
42
|
-
def
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
.
|
43
|
+
def lutaml_document_from_file_or_cache(document, file_path)
|
44
|
+
full_path = Utils.relative_file_path(document, file_path)
|
45
|
+
if document.attributes['lutaml_xmi_cache'] &&
|
46
|
+
document.attributes['lutaml_xmi_cache'][full_path]
|
47
|
+
return document.attributes['lutaml_xmi_cache'][full_path]
|
48
|
+
end
|
49
|
+
result_document = ::Lutaml::Parser.parse(File.new(full_path,
|
50
|
+
encoding: "UTF-8"))
|
51
|
+
.first
|
52
|
+
result_document
|
53
|
+
document.attributes['lutaml_xmi_cache'] ||= {}
|
54
|
+
document.attributes['lutaml_xmi_cache'][full_path] = result_document
|
55
|
+
result_document
|
47
56
|
end
|
48
57
|
|
49
58
|
def parse_yaml_config_file(document, file_path)
|
@@ -66,12 +75,12 @@ module Metanorma
|
|
66
75
|
block_match = line.match(MARCO_REGEXP)
|
67
76
|
return [line] if block_match.nil?
|
68
77
|
|
69
|
-
lutaml_document =
|
78
|
+
lutaml_document = lutaml_document_from_file_or_cache(document, block_match[1])
|
70
79
|
fill_in_diagrams_attributes(document, lutaml_document)
|
71
80
|
model_representation(
|
72
81
|
lutaml_document,
|
73
82
|
document,
|
74
|
-
collect_additional_context(input_lines, input_lines.next),
|
83
|
+
collect_additional_context(document, input_lines, input_lines.next),
|
75
84
|
parse_yaml_config_file(document, block_match[2]))
|
76
85
|
end
|
77
86
|
|
@@ -116,14 +125,17 @@ module Metanorma
|
|
116
125
|
.merge(children_pks_daigs)
|
117
126
|
end
|
118
127
|
|
119
|
-
def collect_additional_context(input_lines, end_mark)
|
128
|
+
def collect_additional_context(document, input_lines, end_mark)
|
120
129
|
additional_context = Hash.new { |hash, key| hash[key] = [] }
|
121
|
-
additional_context['
|
130
|
+
additional_context['all_macros'] = []
|
122
131
|
block_lines = []
|
123
132
|
while (block_line = input_lines.next) != end_mark
|
124
133
|
block_lines.push(block_line)
|
125
134
|
end
|
126
|
-
|
135
|
+
processed_lines = self
|
136
|
+
.process(document, Asciidoctor::Reader.new(block_lines))
|
137
|
+
.read_lines
|
138
|
+
block_document = (Asciidoctor::Document.new(processed_lines, {})).parse
|
127
139
|
block_document.blocks.each do |block|
|
128
140
|
next unless SUPPORTED_NESTED_MACRO.include?(block.attributes['role'])
|
129
141
|
|
@@ -133,7 +145,7 @@ module Metanorma
|
|
133
145
|
macro_keyword = [name, package].compact.join(";")
|
134
146
|
block_text = block.lines.length > 0 ? block.lines.join("\n") : ''
|
135
147
|
additional_context[macro_keyword].push({ 'text' => block_text }.merge(attrs))
|
136
|
-
additional_context['
|
148
|
+
additional_context['all_macros'].push({ 'text' => block_text, 'type' => name, 'package' => package }.merge(attrs))
|
137
149
|
end
|
138
150
|
additional_context
|
139
151
|
end
|
@@ -159,12 +171,30 @@ module Metanorma
|
|
159
171
|
all_packages = [root_package, *root_package['children_packages']]
|
160
172
|
{
|
161
173
|
"packages" => sort_and_filter_out_packages(all_packages, options),
|
174
|
+
"package_entities" => package_entities(options),
|
175
|
+
"package_skip_sections" => package_skip_sections(options),
|
162
176
|
"additional_context" => additional_context,
|
163
177
|
"root_packages" => [root_package],
|
164
178
|
"name" => root_package['name']
|
165
179
|
}
|
166
180
|
end
|
167
181
|
|
182
|
+
def package_entities(options)
|
183
|
+
return {} unless options['packages']
|
184
|
+
|
185
|
+
options['packages']
|
186
|
+
.find_all { |entity| entity.is_a?(Hash) && entity.values.first['render_entities'] }
|
187
|
+
.map { |entity| [entity.keys.first, entity.values.first['render_entities'].map { |n| [n, true] }.to_h] }.to_h
|
188
|
+
end
|
189
|
+
|
190
|
+
def package_skip_sections(options)
|
191
|
+
return {} unless options['packages']
|
192
|
+
|
193
|
+
options['packages']
|
194
|
+
.find_all { |entity| entity.is_a?(Hash) && entity.values.first['skip_tables'] }
|
195
|
+
.map { |entity| [entity.keys.first, entity.values.first['skip_tables'].map { |n| [n, true] }.to_h] }.to_h
|
196
|
+
end
|
197
|
+
|
168
198
|
def sort_and_filter_out_packages(all_packages, options)
|
169
199
|
return all_packages if options['packages'].nil?
|
170
200
|
|
@@ -179,8 +209,9 @@ module Metanorma
|
|
179
209
|
end
|
180
210
|
# Step two - select supplied packages by pattern
|
181
211
|
options['packages']
|
182
|
-
.find_all { |entity| entity.is_a?(String) }
|
183
|
-
.each do |
|
212
|
+
.find_all { |entity| entity.is_a?(String) || (entity.is_a?(Hash) && !entity['skip']) }
|
213
|
+
.each do |entity_obj|
|
214
|
+
entity = entity_obj.is_a?(String) ? entity_obj : entity_obj.keys.first
|
184
215
|
entity_regexp = config_entity_regexp(entity)
|
185
216
|
all_packages.each.with_index do |package|
|
186
217
|
if package['name'] =~ entity_regexp
|
@@ -218,11 +249,11 @@ module Metanorma
|
|
218
249
|
result = ""
|
219
250
|
if include_root
|
220
251
|
result += <<~LIQUID
|
221
|
-
{% include "#{include_name}", context: context.root_packages, additional_context: context.additional_context, render_nested_packages: false %}
|
252
|
+
{% include "#{include_name}", package_skip_sections: context.package_skip_sections, package_entities: context.package_entities, context: context.root_packages, additional_context: context.additional_context, render_nested_packages: false %}
|
222
253
|
LIQUID
|
223
254
|
end
|
224
255
|
result += <<~LIQUID
|
225
|
-
{% include "#{include_name}", depth: #{section_depth}, context: context, additional_context: context.additional_context, render_nested_packages: context.render_nested_packages %}
|
256
|
+
{% include "#{include_name}", depth: #{section_depth}, package_skip_sections: context.package_skip_sections, package_entities: context.package_entities, context: context, additional_context: context.additional_context, render_nested_packages: context.render_nested_packages %}
|
226
257
|
LIQUID
|
227
258
|
end
|
228
259
|
end
|
@@ -7,7 +7,7 @@ require "metanorma/plugin/lutaml/liquid/multiply_local_file_system"
|
|
7
7
|
module Metanorma
|
8
8
|
module Plugin
|
9
9
|
module Lutaml
|
10
|
-
# Helpers for lutaml
|
10
|
+
# Helpers for lutaml macros
|
11
11
|
module Utils
|
12
12
|
LUTAML_EXP_IDX_TAG = /^:lutaml-express-index:(?<index_name>.+?);(?<index_path>.+?);?(\s*cache=(?<cache_path>.+))?$/.freeze
|
13
13
|
|