metanorma-plugin-lutaml 0.4.5 → 0.4.9
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 +88 -53
- data/lib/metanorma/plugin/lutaml/liquid_templates/_diagrams_block.liquid +1 -1
- data/lib/metanorma/plugin/lutaml/liquid_templates/_packages.liquid +37 -23
- data/lib/metanorma/plugin/lutaml/liquid_templates/_packages_class.liquid +10 -10
- data/lib/metanorma/plugin/lutaml/liquid_templates/_packages_data_dictionary.liquid +201 -0
- data/lib/metanorma/plugin/lutaml/liquid_templates/_packages_data_dictionary_class.liquid +67 -0
- data/lib/metanorma/plugin/lutaml/liquid_templates/_packages_data_dictionary_classes.liquid +3 -0
- data/lib/metanorma/plugin/lutaml/liquid_templates/_packages_data_type.liquid +9 -10
- data/lib/metanorma/plugin/lutaml/liquid_templates/_packages_entity_list.liquid +136 -0
- data/lib/metanorma/plugin/lutaml/liquid_templates/_packages_entity_list_classes.liquid +11 -0
- data/lib/metanorma/plugin/lutaml/liquid_templates/_packages_enum.liquid +11 -10
- data/lib/metanorma/plugin/lutaml/liquid_templates/test.rb +1 -0
- data/lib/metanorma/plugin/lutaml/lutaml_figure_inline_macro.rb +23 -0
- data/lib/metanorma/plugin/lutaml/lutaml_preprocessor.rb +1 -1
- data/lib/metanorma/plugin/lutaml/lutaml_table_inline_macro.rb +25 -0
- data/lib/metanorma/plugin/lutaml/lutaml_uml_datamodel_description_preprocessor.rb +87 -12
- data/lib/metanorma/plugin/lutaml/version.rb +1 -1
- data/lib/metanorma-plugin-lutaml.rb +2 -0
- metadata +10 -2
@@ -0,0 +1,11 @@
|
|
1
|
+
.{{ type }} used in {{ package.name }}
|
2
|
+
[cols="2a,6a",options="header"]
|
3
|
+
|===
|
4
|
+
|Name |Description
|
5
|
+
|
6
|
+
{% for klass in classes %}
|
7
|
+
|<<{{ klass.name }}-section,{{ klass.name }}>> «{{ klass.stereotype | default: "Enumeration" }}»
|
8
|
+
|{{ klass.definition }}
|
9
|
+
|
10
|
+
{% endfor %}
|
11
|
+
|===
|
@@ -3,8 +3,9 @@
|
|
3
3
|
{% elsif is_klass_spare == 'Spare' %}{% continue %}
|
4
4
|
{% endif %}
|
5
5
|
{% assign klass_name = klass.name | downcase | replace: ':', '' | replace: ' ', '_' %}
|
6
|
-
|
7
|
-
|
6
|
+
|
7
|
+
[[section-{{ klass.xmi_id }}]]
|
8
|
+
.Elements of {{ package.name }}::{{ klass.name }}” (enum)
|
8
9
|
[width="100%",cols="a,a,a,a,a,a,a,a"]
|
9
10
|
|===
|
10
11
|
|
@@ -24,14 +25,14 @@ h|Inheritance from: 7+| {{ inherited | map: 'member_end' | join: ", " }}
|
|
24
25
|
h|Generalization of: 7+| {{ generalizations | map: 'member_end' | join: ", " }}
|
25
26
|
{% endif %}
|
26
27
|
|
27
|
-
h|Abstract: 7+| {
|
28
|
+
h|Abstract: 7+| {% if klass.is_abstract %}True{% else %}False{% endif %}
|
28
29
|
{% assign aggregations = klass.associations | where: "member_end_type", "aggregation" %}
|
29
30
|
{% if aggregations.size > 0 %}
|
30
31
|
.{{aggregations.size | plus: 1}}+h|Associations:
|
31
|
-
4+|_Association
|
32
|
-
|_Obligation_
|
32
|
+
4+| _Association with_
|
33
|
+
| _Obligation_
|
33
34
|
| _Maximum occurrence_
|
34
|
-
|
|
35
|
+
| _Provides_
|
35
36
|
|
36
37
|
{% for assoc in aggregations %}
|
37
38
|
4+| {{assoc.member_end}}
|
@@ -41,11 +42,11 @@ h|Abstract: 7+| {{ klass.is_abstract }}
|
|
41
42
|
|
42
43
|
{% endfor %}
|
43
44
|
{% else %}
|
44
|
-
|
45
|
-
.1+h|Associations: 7+| (none)
|
45
|
+
h| Associations: 7+| (none)
|
46
46
|
{% endif %}
|
47
|
+
|
47
48
|
{% if klass.values.size > 0 %}
|
48
|
-
.{{klass.values.size | plus: 1}}+h|Values:
|
49
|
+
.{{klass.values.size | plus: 1}}+h| Values:
|
49
50
|
| _Name_
|
50
51
|
6+| _Definition_
|
51
52
|
|
@@ -55,7 +56,7 @@ h|Abstract: 7+| {{ klass.is_abstract }}
|
|
55
56
|
|
56
57
|
{% endfor %}
|
57
58
|
{% else %}
|
58
|
-
|
59
|
+
h| Values:
|
59
60
|
7+| (none)
|
60
61
|
{% endif %}
|
61
62
|
|
@@ -0,0 +1 @@
|
|
1
|
+
k = {"visibility"=>"public", "name"=>nil, "xmi_id"=>"EAID_0BD8DEDF_F024_453d_AA7D_6EBC873FDBB6", "member_end"=>"AbstractFeatureWithLifespan", "member_end_type"=>"inheritance", "member_end_cardinality"=>{"min"=>nil, "max"=>""},"}, "member_end_attribute_name"=>nil, "owner_end"=>"AbstractCityObject", "definition"=>""}{"visibility"=>"public", "name"=>nil, "xmi_id"=>"EAID_1C91D9CF_14CB_400c_A818_7C74428AE5B7", "member_end"=>"AbstractAppearance", "member_end_type"=>"aggregation", "member_end_cardinality"=>{"min"=>"M", "max"=>" "member_end_attribute_name"=>"appearance", "owner_end"=>"AbstractCityObject", "definition"=>"Relates appearances to the city object."}{"visibility"=>"public", "name"=>nil, "xmi_id"=>"EAID_BDD0FCAB_72F7_499b_AC4D_2391D4DE7CAC", "member_end"=>"AbstractGenericAttribute", "member_end_type"=>"aggregation", "member_end_cardinality"=>{"min"=>"M", "max"=>""},"}, "member_end_attribute_name"=>"genericAttribute", "owner_end"=>"AbstractCityObject", "definition"=>"Relates generic attributes to the city object."}{"visibility"=>"public", "name"=>nil, "xmi_id"=>"EAID_C22B8769_C2E7_4e9b_9C0D_138631E90002", "member_end"=>"AbstractCityObject", "member_end_type"=>"aggregation", "member_end_cardinality"=>{"min"=>"M", "max"=>" "member_end_attribute_name"=>"generalizesTo", "owner_end"=>"AbstractCityObject", "definition"=>"Relates generalized representations of the same real-world object in different Levels of Detail to the city object. The direction of this relation is from the city object to the corresponding generalized city objects."}{"visibility"=>"public", "name"=>nil, "xmi_id"=>"EAID_CF0045E1_6BF1_40a7_B08D_9B7B30ECA025", "member_end"=>"ExternalReference", "member_end_type"=>"aggregation", "member_end_cardinality"=>{"min"=>"M", "max"=>""},"}, "member_end_attribute_name"=>"externalReference", "owner_end"=>"AbstractCityObject", "definition"=>"References external objects in other information systems that have a relation to the city object."}{"visibility"=>"public", "name"=>nil, "xmi_id"=>"EAID_D45045CA_AAD6_418a_AF10_F4BC95DE923A", "member_end"=>"AbstractCityObject", "member_end_type"=>"aggregation", "member_end_cardinality"=>{"min"=>"M", "max"=>" "member_end_attribute_name"=>"relatedTo", "owner_end"=>"AbstractCityObject", "definition"=>"Relates other city objects to the city object. It also describes how the city objects are related to each other."}{"visibility"=>"public", "name"=>nil, "xmi_id"=>"EAID_E3BB8700_143D_4dbd_A7EC_49D33C66D430", "member_end"=>"AbstractDynamizer", "member_end_type"=>"aggregation", "member_end_cardinality"=>{"min"=>"M", "max"=>""},"}, "member_end_attribute_name"=>"dynamizer", "owner_end"=>"AbstractCityObject", "definition"=>"Relates Dynamizer objects to the city object. These allow timeseries data to override static attribute values of the city object."}{"visibility"=>"public", "name"=>nil, "owner_end"=>"AbstractCityObject"}{"visibility"=>"public", "name"=>nil, "xmi_id"=>"EAID_BE026036_E811_494c_9776_D1A309393D6D", "member_end"=>"AbstractSpace", "member_end_type"=>"generalization", "member_end_cardinality"=>nil, "member_end_attribute_name"=>nil, "owner_end"=>"AbstractCityObject", "definition"=>""}{"visibility"=>"public", "name"=>nil, "xmi_id"=>"EAID_C2189DFF_0F24_475b_AB55_070CD09A3186", "member_end"=>"AbstractSpaceBoundary", "member_end_type"=>"generalization", "member_end_cardinality"=>{"min"=>nil, "max"=>" "member_end_attribute_name"=>nil, "owner_end"=>"AbstractCityObject", "definition"=>""}{"visibility"=>"public", "name"=>nil, "xmi_id"=>"EAID_C22B8769_C2E7_4e9b_9C0D_138631E90002", "member_end"=>"AbstractCityObject", "member_end_type"=>"aggregation", "member_end_cardinality"=>{"min"=>"M", "max"=>""},"}, "member_end_attribute_name"=>"generalizesTo", "owner_end"=>"AbstractCityObject", "definition"=>"Relates generalized representations of the same real-world object in different Levels of Detail to the city object. The direction of this relation is from the city object to the corresponding generalized city objects."}{"visibility"=>"public", "name"=>nil, "xmi_id"=>"EAID_D45045CA_AAD6_418a_AF10_F4BC95DE923A", "member_end"=>"AbstractCityObject", "member_end_type"=>"aggregation", "member_end_cardinality"=>{"min"=>"M", "max"=>" "member_end_attribute_name"=>"relatedTo", "owner_end"=>"AbstractCityObject", "definition"=>"Relates other city objects to the city object. It also describes how the city objects are related to each other."}{"visibility"=>"public", "name"=>nil, "owner_end"=>"AbstractCityObject"}{"visibility"=>"public", "name"=>nil, "owner_end"=>"AbstractCityObject"}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Metanorma
|
4
|
+
module Plugin
|
5
|
+
module Lutaml
|
6
|
+
class LutamlFigureInlineMacro < Asciidoctor::Extensions::InlineMacroProcessor
|
7
|
+
include LutamlDiagramBase
|
8
|
+
|
9
|
+
use_dsl
|
10
|
+
named :lutaml_figure
|
11
|
+
|
12
|
+
def process(parent, _target, attrs)
|
13
|
+
diagram_key = [attrs["package"], attrs["name"]].compact.join(":")
|
14
|
+
return if parent.document.attributes['lutaml_figure_id'].nil?
|
15
|
+
xmi_id = parent.document.attributes['lutaml_figure_id'][diagram_key]
|
16
|
+
return unless xmi_id
|
17
|
+
|
18
|
+
%Q(<xref target="figure-#{xmi_id}"></xref>)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -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(/^\[lutaml_express,([^,]+)?,?([^,]+)?,?([^,]+)?\]/)
|
56
56
|
return [line] if block_match.nil?
|
57
57
|
|
58
58
|
end_mark = input_lines.next
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Metanorma
|
4
|
+
module Plugin
|
5
|
+
module Lutaml
|
6
|
+
class LutamlTableInlineMacro < Asciidoctor::Extensions::InlineMacroProcessor
|
7
|
+
include LutamlDiagramBase
|
8
|
+
SUPPORTED_OPTIONS = %w[class enum data_type]
|
9
|
+
|
10
|
+
use_dsl
|
11
|
+
named :lutaml_table_class
|
12
|
+
|
13
|
+
def process(parent, _target, attrs)
|
14
|
+
keyword = SUPPORTED_OPTIONS.find { |n| attrs[n] }
|
15
|
+
entity_key = [keyword, attrs["package"], attrs[keyword]].compact.join(":")
|
16
|
+
return if parent.document.attributes['lutaml_entity_id'].nil?
|
17
|
+
xmi_id = parent.document.attributes['lutaml_entity_id'][entity_key]
|
18
|
+
return unless xmi_id
|
19
|
+
|
20
|
+
%Q(<xref target="section-#{xmi_id}"></xref>)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -20,6 +20,15 @@ module Metanorma
|
|
20
20
|
Gem.loaded_specs["metanorma-plugin-lutaml"].full_gem_path,
|
21
21
|
"lib", "metanorma", "plugin", "lutaml", "liquid_templates"
|
22
22
|
)
|
23
|
+
DEFAULT_RENDER_INCLUDE = 'packages'.freeze
|
24
|
+
RENDER_STYLES_INCLUDES = {
|
25
|
+
'default' => 'packages',
|
26
|
+
'entity_list' => 'packages_entity_list',
|
27
|
+
'data_dictionary' => 'packages_data_dictionary'
|
28
|
+
}.freeze
|
29
|
+
RENDER_STYLE_ATTRIBUTE = 'render_style'.freeze
|
30
|
+
SUPPORTED_NESTED_MACRO = %w[
|
31
|
+
before diagram_include_block after include_block package_text].freeze
|
23
32
|
# search document for block `lutaml_uml_datamodel_description`
|
24
33
|
# read include derectives that goes after that in block and transform
|
25
34
|
# into yaml2text blocks
|
@@ -57,44 +66,102 @@ module Metanorma
|
|
57
66
|
block_match = line.match(MARCO_REGEXP)
|
58
67
|
return [line] if block_match.nil?
|
59
68
|
|
69
|
+
lutaml_document = lutaml_document_from_file(document, block_match[1])
|
70
|
+
fill_in_diagrams_attributes(document, lutaml_document)
|
60
71
|
model_representation(
|
61
|
-
|
72
|
+
lutaml_document,
|
62
73
|
document,
|
63
74
|
collect_additional_context(input_lines, input_lines.next),
|
64
75
|
parse_yaml_config_file(document, block_match[2]))
|
65
76
|
end
|
66
77
|
|
78
|
+
def fill_in_entities_refs_attributes(document, lutaml_document_wrapper, options)
|
79
|
+
lutaml_document = lutaml_document_wrapper.original_document
|
80
|
+
render_style = options.fetch(RENDER_STYLE_ATTRIBUTE, 'default')
|
81
|
+
all_children_packages = lutaml_document.packages.map(&:children_packages).flatten
|
82
|
+
package_flat_packages = lambda do |pks|
|
83
|
+
pks.each_with_object({}) do |package, res|
|
84
|
+
res[package.name] = package.xmi_id
|
85
|
+
end
|
86
|
+
end
|
87
|
+
children_pks = package_flat_packages.call(all_children_packages)
|
88
|
+
ref_dictionary = package_flat_packages.call(lutaml_document.packages)
|
89
|
+
.merge(children_pks)
|
90
|
+
%w[class enum data_type].each do |type|
|
91
|
+
package_flat = lambda do |pks|
|
92
|
+
pks.each_with_object({}) do |package, res|
|
93
|
+
plural = type == "class" ? "classes" : "#{type}s"
|
94
|
+
package.send(plural).map do |entity|
|
95
|
+
res["#{type}:#{package.name}:#{entity.name}"] = entity.xmi_id
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
children_pks_daigs = package_flat.call(all_children_packages)
|
100
|
+
ref_dictionary = ref_dictionary
|
101
|
+
.merge(package_flat.call(lutaml_document.packages)
|
102
|
+
.merge(children_pks_daigs))
|
103
|
+
end
|
104
|
+
document.attributes['lutaml_entity_id'] = ref_dictionary
|
105
|
+
end
|
106
|
+
|
107
|
+
def fill_in_diagrams_attributes(document, lutaml_document_wrapper)
|
108
|
+
lutaml_document = lutaml_document_wrapper.original_document
|
109
|
+
package_flat_diagrams = lambda do |pks|
|
110
|
+
pks.each_with_object({}) do |package, res|
|
111
|
+
package.diagrams.map { |diag| res["#{package.name}:#{diag.name}"] = diag.xmi_id }
|
112
|
+
end
|
113
|
+
end
|
114
|
+
children_pks_daigs = package_flat_diagrams.call(lutaml_document.packages.map(&:children_packages).flatten)
|
115
|
+
document.attributes['lutaml_figure_id'] = package_flat_diagrams.call(lutaml_document.packages)
|
116
|
+
.merge(children_pks_daigs)
|
117
|
+
end
|
118
|
+
|
67
119
|
def collect_additional_context(input_lines, end_mark)
|
68
|
-
additional_context = {}
|
120
|
+
additional_context = Hash.new { |hash, key| hash[key] = [] }
|
121
|
+
additional_context['all_macroses'] = []
|
69
122
|
block_lines = []
|
70
123
|
while (block_line = input_lines.next) != end_mark
|
71
124
|
block_lines.push(block_line)
|
72
125
|
end
|
73
126
|
block_document = (Asciidoctor::Document.new(block_lines, {})).parse
|
74
127
|
block_document.blocks.each do |block|
|
128
|
+
next unless SUPPORTED_NESTED_MACRO.include?(block.attributes['role'])
|
129
|
+
|
75
130
|
attrs = block.attributes
|
76
131
|
name = attrs.delete('role')
|
77
132
|
package = attrs.delete('package')
|
78
133
|
macro_keyword = [name, package].compact.join(";")
|
79
|
-
|
134
|
+
block_text = block.lines.length > 0 ? block.lines.join("\n") : ''
|
135
|
+
additional_context[macro_keyword].push({ 'text' => block_text }.merge(attrs))
|
136
|
+
additional_context['all_macroses'].push({ 'text' => block_text, 'type' => name, 'package' => package }.merge(attrs))
|
80
137
|
end
|
81
138
|
additional_context
|
82
139
|
end
|
83
140
|
|
141
|
+
def package_level(lutaml_document, level)
|
142
|
+
return lutaml_document if level <= 0
|
143
|
+
|
144
|
+
package_level(lutaml_document['packages'].first, level - 1)
|
145
|
+
end
|
146
|
+
|
84
147
|
def create_context_object(lutaml_document, additional_context, options)
|
85
|
-
|
148
|
+
root_package = package_level(lutaml_document.to_liquid, options['package_root_level'] || 1)
|
149
|
+
if options.length.zero? || options['packages'].nil?
|
86
150
|
return {
|
87
151
|
'render_nested_packages' => true,
|
88
|
-
"packages" =>
|
89
|
-
"
|
152
|
+
"packages" => root_package['packages'],
|
153
|
+
"root_packages" => [root_package],
|
154
|
+
"additional_context" => additional_context,
|
155
|
+
"name" => root_package['name']
|
90
156
|
}
|
91
157
|
end
|
92
158
|
|
93
|
-
root_package = lutaml_document.to_liquid['packages'].first
|
94
159
|
all_packages = [root_package, *root_package['children_packages']]
|
95
160
|
{
|
96
161
|
"packages" => sort_and_filter_out_packages(all_packages, options),
|
97
|
-
"additional_context" => additional_context
|
162
|
+
"additional_context" => additional_context,
|
163
|
+
"root_packages" => [root_package],
|
164
|
+
"name" => root_package['name']
|
98
165
|
}
|
99
166
|
end
|
100
167
|
|
@@ -132,8 +199,9 @@ module Metanorma
|
|
132
199
|
end
|
133
200
|
|
134
201
|
def model_representation(lutaml_document, document, additional_context, options)
|
202
|
+
fill_in_entities_refs_attributes(document, lutaml_document, options)
|
135
203
|
render_result, errors = Utils.render_liquid_string(
|
136
|
-
template_string: table_template,
|
204
|
+
template_string: table_template(options['section_depth'] || 2, options['render_style'], options['include_root']),
|
137
205
|
context_items: create_context_object(lutaml_document,
|
138
206
|
additional_context,
|
139
207
|
options),
|
@@ -145,9 +213,16 @@ module Metanorma
|
|
145
213
|
render_result.split("\n")
|
146
214
|
end
|
147
215
|
|
148
|
-
def table_template
|
149
|
-
|
150
|
-
|
216
|
+
def table_template(section_depth, render_style, include_root)
|
217
|
+
include_name = RENDER_STYLES_INCLUDES.fetch(render_style, DEFAULT_RENDER_INCLUDE)
|
218
|
+
result = ""
|
219
|
+
if include_root
|
220
|
+
result += <<~LIQUID
|
221
|
+
{% include "#{include_name}", context: context.root_packages, additional_context: context.additional_context, render_nested_packages: false %}
|
222
|
+
LIQUID
|
223
|
+
end
|
224
|
+
result += <<~LIQUID
|
225
|
+
{% include "#{include_name}", depth: #{section_depth}, context: context, additional_context: context.additional_context, render_nested_packages: context.render_nested_packages %}
|
151
226
|
LIQUID
|
152
227
|
end
|
153
228
|
end
|
@@ -4,6 +4,8 @@ require "metanorma/plugin/lutaml/lutaml_uml_attributes_table_preprocessor"
|
|
4
4
|
require "metanorma/plugin/lutaml/lutaml_uml_datamodel_description_preprocessor"
|
5
5
|
require "metanorma/plugin/lutaml/lutaml_diagram_block"
|
6
6
|
require "metanorma/plugin/lutaml/lutaml_diagram_block_macro"
|
7
|
+
require "metanorma/plugin/lutaml/lutaml_figure_inline_macro"
|
8
|
+
require "metanorma/plugin/lutaml/lutaml_table_inline_macro"
|
7
9
|
|
8
10
|
module Metanorma
|
9
11
|
module Plugin
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-plugin-lutaml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: liquid
|
@@ -261,12 +261,20 @@ files:
|
|
261
261
|
- lib/metanorma/plugin/lutaml/liquid_templates/_diagrams_block.liquid
|
262
262
|
- lib/metanorma/plugin/lutaml/liquid_templates/_packages.liquid
|
263
263
|
- lib/metanorma/plugin/lutaml/liquid_templates/_packages_class.liquid
|
264
|
+
- lib/metanorma/plugin/lutaml/liquid_templates/_packages_data_dictionary.liquid
|
265
|
+
- lib/metanorma/plugin/lutaml/liquid_templates/_packages_data_dictionary_class.liquid
|
266
|
+
- lib/metanorma/plugin/lutaml/liquid_templates/_packages_data_dictionary_classes.liquid
|
264
267
|
- lib/metanorma/plugin/lutaml/liquid_templates/_packages_data_type.liquid
|
268
|
+
- lib/metanorma/plugin/lutaml/liquid_templates/_packages_entity_list.liquid
|
269
|
+
- lib/metanorma/plugin/lutaml/liquid_templates/_packages_entity_list_classes.liquid
|
265
270
|
- lib/metanorma/plugin/lutaml/liquid_templates/_packages_enum.liquid
|
271
|
+
- lib/metanorma/plugin/lutaml/liquid_templates/test.rb
|
266
272
|
- lib/metanorma/plugin/lutaml/lutaml_diagram_base.rb
|
267
273
|
- lib/metanorma/plugin/lutaml/lutaml_diagram_block.rb
|
268
274
|
- lib/metanorma/plugin/lutaml/lutaml_diagram_block_macro.rb
|
275
|
+
- lib/metanorma/plugin/lutaml/lutaml_figure_inline_macro.rb
|
269
276
|
- lib/metanorma/plugin/lutaml/lutaml_preprocessor.rb
|
277
|
+
- lib/metanorma/plugin/lutaml/lutaml_table_inline_macro.rb
|
270
278
|
- lib/metanorma/plugin/lutaml/lutaml_uml_attributes_table_preprocessor.rb
|
271
279
|
- lib/metanorma/plugin/lutaml/lutaml_uml_datamodel_description_preprocessor.rb
|
272
280
|
- lib/metanorma/plugin/lutaml/utils.rb
|