kramdown-merge 7.0.0

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: c872d56167e1ad4288b96ed40cbd44143bbd97e1ec58028233aaa5dad8ba6687
4
+ data.tar.gz: 572a769bdab66bb6d7fc720401781b6ac45322fe785732959ebe94a4451c1cf5
5
+ SHA512:
6
+ metadata.gz: ae28ab27cdcfad5445268216484fe9950e8e074bb30ed98467781b1ef52906c4c65b1d18a97344332820c07da68464f3a50986cff86143fdbb61f248bea0124a
7
+ data.tar.gz: 142672e6de29376102e533c92c4b88f2623dd67edcdbd6a3cf5618cbcbae748d586ebf669e32b97937969ae37cf8d6cf5a21b3df8698625403c06bcfd78f40cd
checksums.yaml.gz.sig ADDED
@@ -0,0 +1,2 @@
1
+ L����zQ�X��E�s���>s<��;�Tzd�`�7��¸x3�));���N�@��q߲���(g�c#IbNŭа���t?mA�)�>�0^E���h�l�z������]}+�������v��ǭ�uCN�+(;����U�V�%z��A�8`� � \�ij�?a-����s2�Y8�Q?��o�X��d�,�R���y�xv.� ��{+����T\�:�S�N��
2
+ �`ܹ~ jU���#c�-���:�!��G��#E�< �N�gOv�S٪.�ȍ>\S ����<�s�����E��Y-f�-ނ戢=C���|�T���Yfes��� ��'�<0 �+ȹ��}Di����$����´�bw���\�!)~lӑ�
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Kramdown
4
+ module Merge
5
+ module Version
6
+ VERSION = "7.0.0"
7
+ end
8
+
9
+ VERSION = Version::VERSION
10
+ end
11
+ end
@@ -0,0 +1,172 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "markdown-merge"
4
+ require "kramdown"
5
+
6
+ module Kramdown
7
+ module Merge
8
+ extend self
9
+
10
+ PACKAGE_NAME = "kramdown-merge"
11
+ BACKEND_REFERENCE = TreeHaver::BackendReference.new(id: "kramdown", family: "native").freeze
12
+ TreeHaver::BackendRegistry.register(BACKEND_REFERENCE)
13
+
14
+ def markdown_feature_profile
15
+ Markdown::Merge.markdown_feature_profile
16
+ end
17
+
18
+ def available_markdown_backends
19
+ [BACKEND_REFERENCE]
20
+ end
21
+
22
+ def markdown_backend_feature_profile(backend: nil)
23
+ requested = backend.to_s.empty? ? BACKEND_REFERENCE.id : backend.to_s
24
+ return unsupported_feature_result("Unsupported Markdown backend #{requested}.") unless requested == BACKEND_REFERENCE.id
25
+
26
+ markdown_feature_profile.merge(backend: BACKEND_REFERENCE.id, backend_ref: BACKEND_REFERENCE.to_h)
27
+ end
28
+
29
+ def markdown_plan_context(backend: nil)
30
+ profile = markdown_backend_feature_profile(backend: backend)
31
+ return profile if profile[:ok] == false
32
+
33
+ {
34
+ family_profile: markdown_feature_profile,
35
+ feature_profile: {
36
+ backend: profile[:backend],
37
+ supports_dialects: true,
38
+ supported_policies: []
39
+ }
40
+ }
41
+ end
42
+
43
+ def parse_markdown(source, dialect, backend: nil)
44
+ requested = backend.to_s.empty? ? BACKEND_REFERENCE.id : backend.to_s
45
+ return unsupported_feature_result("Unsupported Markdown backend #{requested}.") unless requested == BACKEND_REFERENCE.id
46
+
47
+ return unsupported_feature_result("Unsupported Markdown dialect #{dialect}.") unless dialect == "markdown"
48
+
49
+ ::Kramdown::Document.new(source)
50
+ normalized = Markdown::Merge.normalize_source(source)
51
+ {
52
+ ok: true,
53
+ diagnostics: [],
54
+ analysis: {
55
+ kind: "markdown",
56
+ dialect: dialect,
57
+ normalized_source: normalized,
58
+ root_kind: "document",
59
+ owners: Markdown::Merge.collect_markdown_owners(normalized)
60
+ },
61
+ policies: []
62
+ }
63
+ rescue StandardError => e
64
+ {
65
+ ok: false,
66
+ diagnostics: [{ severity: "error", category: "parse_error", message: e.message }],
67
+ policies: []
68
+ }
69
+ end
70
+
71
+ def match_markdown_owners(template, destination)
72
+ Markdown::Merge.match_markdown_owners(template, destination)
73
+ end
74
+
75
+ def merge_markdown(template_source, destination_source, dialect, backend: nil)
76
+ requested = backend.to_s.empty? ? BACKEND_REFERENCE.id : backend.to_s
77
+ return unsupported_feature_result("Unsupported Markdown backend #{requested}.") unless requested == BACKEND_REFERENCE.id
78
+
79
+ Markdown::Merge.merge_markdown(template_source, destination_source, dialect)
80
+ end
81
+
82
+ def merge_markdown_with_reviewed_nested_outputs(template_source, destination_source, dialect, review_state, applied_children, backend: nil)
83
+ requested = backend.to_s.empty? ? BACKEND_REFERENCE.id : backend.to_s
84
+ return unsupported_feature_result("Unsupported Markdown backend #{requested}.") unless requested == BACKEND_REFERENCE.id
85
+
86
+ Markdown::Merge.merge_markdown_with_reviewed_nested_outputs(
87
+ template_source,
88
+ destination_source,
89
+ dialect,
90
+ review_state,
91
+ applied_children
92
+ )
93
+ end
94
+
95
+ def merge_markdown_with_reviewed_nested_outputs_from_replay_bundle(template_source, destination_source, dialect, replay_bundle, backend: nil)
96
+ requested = backend.to_s.empty? ? BACKEND_REFERENCE.id : backend.to_s
97
+ return unsupported_feature_result("Unsupported Markdown backend #{requested}.") unless requested == BACKEND_REFERENCE.id
98
+
99
+ Markdown::Merge.merge_markdown_with_reviewed_nested_outputs_from_replay_bundle(
100
+ template_source,
101
+ destination_source,
102
+ dialect,
103
+ replay_bundle
104
+ )
105
+ end
106
+
107
+ def merge_markdown_with_reviewed_nested_outputs_from_replay_bundle_envelope(template_source, destination_source, dialect, envelope, backend: nil)
108
+ requested = backend.to_s.empty? ? BACKEND_REFERENCE.id : backend.to_s
109
+ return unsupported_feature_result("Unsupported Markdown backend #{requested}.") unless requested == BACKEND_REFERENCE.id
110
+
111
+ Markdown::Merge.merge_markdown_with_reviewed_nested_outputs_from_replay_bundle_envelope(
112
+ template_source,
113
+ destination_source,
114
+ dialect,
115
+ envelope
116
+ )
117
+ end
118
+
119
+ def merge_markdown_with_reviewed_nested_outputs_from_review_state(template_source, destination_source, dialect, review_state, backend: nil)
120
+ requested = backend.to_s.empty? ? BACKEND_REFERENCE.id : backend.to_s
121
+ return unsupported_feature_result("Unsupported Markdown backend #{requested}.") unless requested == BACKEND_REFERENCE.id
122
+
123
+ Markdown::Merge.merge_markdown_with_reviewed_nested_outputs_from_review_state(
124
+ template_source,
125
+ destination_source,
126
+ dialect,
127
+ review_state
128
+ )
129
+ end
130
+
131
+ def merge_markdown_with_reviewed_nested_outputs_from_review_state_envelope(template_source, destination_source, dialect, envelope, backend: nil)
132
+ requested = backend.to_s.empty? ? BACKEND_REFERENCE.id : backend.to_s
133
+ return unsupported_feature_result("Unsupported Markdown backend #{requested}.") unless requested == BACKEND_REFERENCE.id
134
+
135
+ Markdown::Merge.merge_markdown_with_reviewed_nested_outputs_from_review_state_envelope(
136
+ template_source,
137
+ destination_source,
138
+ dialect,
139
+ envelope
140
+ )
141
+ end
142
+
143
+ def markdown_embedded_families(analysis)
144
+ Markdown::Merge.markdown_embedded_families(analysis)
145
+ end
146
+
147
+ def unsupported_feature_result(message)
148
+ {
149
+ ok: false,
150
+ diagnostics: [{ severity: "error", category: "unsupported_feature", message: message }],
151
+ policies: []
152
+ }
153
+ end
154
+
155
+ module_function(
156
+ :markdown_feature_profile,
157
+ :available_markdown_backends,
158
+ :markdown_backend_feature_profile,
159
+ :markdown_plan_context,
160
+ :parse_markdown,
161
+ :match_markdown_owners,
162
+ :merge_markdown,
163
+ :merge_markdown_with_reviewed_nested_outputs,
164
+ :merge_markdown_with_reviewed_nested_outputs_from_replay_bundle,
165
+ :merge_markdown_with_reviewed_nested_outputs_from_replay_bundle_envelope,
166
+ :merge_markdown_with_reviewed_nested_outputs_from_review_state,
167
+ :merge_markdown_with_reviewed_nested_outputs_from_review_state_envelope,
168
+ :markdown_embedded_families,
169
+ :unsupported_feature_result
170
+ )
171
+ end
172
+ end
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "kramdown/merge"
data.tar.gz.sig ADDED
Binary file
metadata ADDED
@@ -0,0 +1,110 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: kramdown-merge
3
+ version: !ruby/object:Gem::Version
4
+ version: 7.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Peter H. Boling
8
+ bindir: bin
9
+ cert_chain:
10
+ - |
11
+ -----BEGIN CERTIFICATE-----
12
+ MIIEgDCCAuigAwIBAgIBATANBgkqhkiG9w0BAQsFADBDMRUwEwYDVQQDDAxwZXRl
13
+ ci5ib2xpbmcxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkW
14
+ A2NvbTAeFw0yNTA1MDQxNTMzMDlaFw00NTA0MjkxNTMzMDlaMEMxFTATBgNVBAMM
15
+ DHBldGVyLmJvbGluZzEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPy
16
+ LGQBGRYDY29tMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAruUoo0WA
17
+ uoNuq6puKWYeRYiZekz/nsDeK5x/0IEirzcCEvaHr3Bmz7rjo1I6On3gGKmiZs61
18
+ LRmQ3oxy77ydmkGTXBjruJB+pQEn7UfLSgQ0xa1/X3kdBZt6RmabFlBxnHkoaGY5
19
+ mZuZ5+Z7walmv6sFD9ajhzj+oIgwWfnEHkXYTR8I6VLN7MRRKGMPoZ/yvOmxb2DN
20
+ coEEHWKO9CvgYpW7asIihl/9GMpKiRkcYPm9dGQzZc6uTwom1COfW0+ZOFrDVBuV
21
+ FMQRPswZcY4Wlq0uEBLPU7hxnCL9nKK6Y9IhdDcz1mY6HZ91WImNslOSI0S8hRpj
22
+ yGOWxQIhBT3fqCBlRIqFQBudrnD9jSNpSGsFvbEijd5ns7Z9ZMehXkXDycpGAUj1
23
+ to/5cuTWWw1JqUWrKJYoifnVhtE1o1DZ+LkPtWxHtz5kjDG/zR3MG0Ula0UOavlD
24
+ qbnbcXPBnwXtTFeZ3C+yrWpE4pGnl3yGkZj9SMTlo9qnTMiPmuWKQDatAgMBAAGj
25
+ fzB9MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBQE8uWvNbPVNRXZ
26
+ HlgPbc2PCzC4bjAhBgNVHREEGjAYgRZwZXRlci5ib2xpbmdAZ21haWwuY29tMCEG
27
+ A1UdEgQaMBiBFnBldGVyLmJvbGluZ0BnbWFpbC5jb20wDQYJKoZIhvcNAQELBQAD
28
+ ggGBAJbnUwfJQFPkBgH9cL7hoBfRtmWiCvdqdjeTmi04u8zVNCUox0A4gT982DE9
29
+ wmuN12LpdajxZONqbXuzZvc+nb0StFwmFYZG6iDwaf4BPywm2e/Vmq0YG45vZXGR
30
+ L8yMDSK1cQXjmA+ZBKOHKWavxP6Vp7lWvjAhz8RFwqF9GuNIdhv9NpnCAWcMZtpm
31
+ GUPyIWw/Cw/2wZp74QzZj6Npx+LdXoLTF1HMSJXZ7/pkxLCsB8m4EFVdb/IrW/0k
32
+ kNSfjtAfBHO8nLGuqQZVH9IBD1i9K6aSs7pT6TW8itXUIlkIUI2tg5YzW6OFfPzq
33
+ QekSkX3lZfY+HTSp/o+YvKkqWLUV7PQ7xh1ZYDtocpaHwgxe/j3bBqHE+CUPH2vA
34
+ 0V/FwdTRWcwsjVoOJTrYcff8pBZ8r2MvtAc54xfnnhGFzeRHfcltobgFxkAXdE6p
35
+ DVjBtqT23eugOqQ73umLcYDZkc36vnqGxUBSsXrzY9pzV5gGr2I8YUxMqf6ATrZt
36
+ L9nRqA==
37
+ -----END CERTIFICATE-----
38
+ date: 1980-01-02 00:00:00.000000000 Z
39
+ dependencies:
40
+ - !ruby/object:Gem::Dependency
41
+ name: markdown-merge
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - '='
45
+ - !ruby/object:Gem::Version
46
+ version: 7.0.0
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - '='
52
+ - !ruby/object:Gem::Version
53
+ version: 7.0.0
54
+ - !ruby/object:Gem::Dependency
55
+ name: kramdown
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '2.5'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '2.5'
68
+ description: Kramdown-backed Markdown provider gem for the Structured Merge Markdown
69
+ family.
70
+ email:
71
+ - info@structuredmerge.org
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - lib/kramdown-merge.rb
77
+ - lib/kramdown/merge.rb
78
+ - lib/kramdown/merge/version.rb
79
+ homepage: https://github.com/structuredmerge/structuredmerge-ruby
80
+ licenses:
81
+ - AGPL-3.0-only
82
+ - PolyForm-Small-Business-1.0.0
83
+ metadata:
84
+ homepage_uri: https://structuredmerge.org
85
+ source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.0.0
86
+ changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.0.0/CHANGELOG.md
87
+ bug_tracker_uri: https://github.com/structuredmerge/structuredmerge-ruby/issues
88
+ documentation_uri: https://www.rubydoc.info/gems/kramdown-merge/7.0.0
89
+ funding_uri: https://github.com/sponsors/pboling
90
+ wiki_uri: https://github.com/structuredmerge/structuredmerge-ruby/wiki
91
+ discord_uri: https://discord.gg/3qme4XHNKN
92
+ rubygems_mfa_required: 'true'
93
+ rdoc_options: []
94
+ require_paths:
95
+ - lib
96
+ required_ruby_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: 4.0.0
101
+ required_rubygems_version: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ requirements: []
107
+ rubygems_version: 4.0.10
108
+ specification_version: 4
109
+ summary: Structured Merge Kramdown-backed Markdown analysis for Ruby
110
+ test_files: []
metadata.gz.sig ADDED
Binary file