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 +7 -0
- checksums.yaml.gz.sig +2 -0
- data/lib/kramdown/merge/version.rb +11 -0
- data/lib/kramdown/merge.rb +172 -0
- data/lib/kramdown-merge.rb +3 -0
- data.tar.gz.sig +0 -0
- metadata +110 -0
- metadata.gz.sig +0 -0
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,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
|
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
|