releasehx 0.1.2 → 0.2.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 +4 -4
- data/README.adoc +363 -330
- data/build/docs/_config.yml +1 -0
- data/build/docs/_release_index.adoc +3 -2
- data/build/docs/config-reference.adoc +197 -10
- data/build/docs/config-reference.json +56 -7
- data/build/docs/index.adoc +315 -59
- data/build/docs/landing.adoc +1 -1
- data/build/docs/manpage.adoc +2 -2
- data/build/docs/release-procedure.adoc +365 -0
- data/build/docs/release-procedure.html +87 -0
- data/build/docs/releasehx.1 +17 -5
- data/build/docs/sample-config.yml +14 -7
- data/lib/releasehx/cli.rb +5 -2
- data/lib/releasehx/configuration.rb +0 -1
- data/lib/releasehx/generated.rb +1 -1
- data/lib/releasehx/mcp/assets/agent-config-guide.md +1 -1
- data/lib/releasehx/mcp/assets/config-def.yml +122 -6
- data/lib/releasehx/mcp/assets/config-reference.adoc +197 -10
- data/lib/releasehx/mcp/assets/config-reference.json +56 -7
- data/lib/releasehx/mcp/assets/sample-config.yml +14 -7
- data/lib/releasehx/mcp/server.rb +0 -1
- data/lib/releasehx/ops/enrich_ops.rb +161 -55
- data/lib/releasehx/ops/template_ops.rb +1 -1
- data/lib/releasehx/rhyml/adapter.rb +0 -3
- data/lib/releasehx/rhyml/templates/bootstrap-overrides.css +15 -0
- data/lib/releasehx/rhyml/templates/changelog.adoc.liquid +2 -0
- data/lib/releasehx/rhyml/templates/changelog.html.liquid +6 -4
- data/lib/releasehx/rhyml/templates/changelog.md.liquid +1 -0
- data/lib/releasehx/rhyml/templates/embedded.css.liquid +263 -0
- data/lib/releasehx/rhyml/templates/entry.adoc.liquid +1 -0
- data/lib/releasehx/rhyml/templates/entry.html.liquid +21 -20
- data/lib/releasehx/rhyml/templates/entry.md.liquid +15 -21
- data/lib/releasehx/rhyml/templates/head-parser.liquid +6 -2
- data/lib/releasehx/rhyml/templates/header.liquid +13 -4
- data/lib/releasehx/rhyml/templates/history.html.liquid +152 -33
- data/lib/releasehx/rhyml/templates/metadata-entry.adoc.liquid +83 -38
- data/lib/releasehx/rhyml/templates/metadata-entry.html.liquid +60 -1
- data/lib/releasehx/rhyml/templates/metadata-entry.md.liquid +65 -113
- data/lib/releasehx/rhyml/templates/metadata-note.adoc.liquid +83 -38
- data/lib/releasehx/rhyml/templates/metadata-note.html.liquid +59 -22
- data/lib/releasehx/rhyml/templates/metadata-note.md.liquid +68 -23
- data/lib/releasehx/rhyml/templates/note.html.liquid +25 -19
- data/lib/releasehx/rhyml/templates/note.md.liquid +44 -26
- data/lib/releasehx/rhyml/templates/release-notes.adoc.liquid +2 -0
- data/lib/releasehx/rhyml/templates/release-notes.html.liquid +6 -4
- data/lib/releasehx/rhyml/templates/release-notes.md.liquid +1 -0
- data/lib/releasehx/rhyml/templates/release.adoc.liquid +2 -0
- data/lib/releasehx/rhyml/templates/release.md.liquid +8 -7
- data/lib/releasehx/rhyml/templates/rhyml-change.yaml.liquid +36 -36
- data/lib/releasehx/rhyml/templates/wrapper.html.liquid +103 -0
- data/lib/releasehx/sgyml/helpers.rb +0 -2
- data/lib/releasehx/transforms/adf_to_markdown.rb +1 -1
- data/lib/releasehx/version.rb +0 -2
- data/lib/releasehx.rb +2 -2
- data/specs/data/config-def.yml +122 -6
- metadata +48 -25
- data/build/docs/schemagraphy_readme.html +0 -0
- data/build/docs/sourcerer_readme.html +0 -46
- data/lib/schemagraphy/attribute_resolver.rb +0 -48
- data/lib/schemagraphy/cfgyml/definition.rb +0 -90
- data/lib/schemagraphy/cfgyml/doc_builder.rb +0 -52
- data/lib/schemagraphy/cfgyml/path_reference.rb +0 -24
- data/lib/schemagraphy/data_query/json_pointer.rb +0 -42
- data/lib/schemagraphy/loader.rb +0 -59
- data/lib/schemagraphy/regexp_utils.rb +0 -235
- data/lib/schemagraphy/safe_expression.rb +0 -189
- data/lib/schemagraphy/schema_utils.rb +0 -124
- data/lib/schemagraphy/tag_utils.rb +0 -32
- data/lib/schemagraphy/templating.rb +0 -104
- data/lib/schemagraphy.rb +0 -17
- data/lib/sourcerer/builder.rb +0 -120
- data/lib/sourcerer/jekyll/bootstrapper.rb +0 -78
- data/lib/sourcerer/jekyll/liquid/file_system.rb +0 -74
- data/lib/sourcerer/jekyll/liquid/filters.rb +0 -215
- data/lib/sourcerer/jekyll/liquid/tags.rb +0 -44
- data/lib/sourcerer/jekyll/monkeypatches.rb +0 -73
- data/lib/sourcerer/jekyll.rb +0 -26
- data/lib/sourcerer/plaintext_converter.rb +0 -75
- data/lib/sourcerer/templating.rb +0 -190
- data/lib/sourcerer.rb +0 -322
|
@@ -1,24 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
{%-
|
|
1
|
+
<!-- .change-entry -->
|
|
2
|
+
{%- embed metadata-entry.md.liquid -%}
|
|
3
|
+
{%- assign frame = content_config.items.frame | default: 'unordered' %}
|
|
3
4
|
{%- case frame %}
|
|
4
|
-
{%-
|
|
5
|
-
{%-
|
|
6
|
-
{%-
|
|
7
|
-
{%-
|
|
8
|
-
{%-
|
|
9
|
-
{%-
|
|
10
|
-
{%-
|
|
11
|
-
{%-
|
|
5
|
+
{%- when 'unordered' %}
|
|
6
|
+
{%- assign bullet = '- ' %}
|
|
7
|
+
{%- when 'ordered' %}
|
|
8
|
+
{%- assign bullet = '1. ' %}
|
|
9
|
+
{%- when 'basic' %}
|
|
10
|
+
{%- assign bullet = '- ' %}
|
|
11
|
+
{%- else %}
|
|
12
|
+
{%- assign bullet = '' %}
|
|
12
13
|
{%- endcase %}
|
|
13
14
|
|
|
14
|
-
{
|
|
15
|
-
|
|
16
|
-
{
|
|
17
|
-
{%-
|
|
18
|
-
|
|
19
|
-
{{ change.summ | trim }}{% if change.note and change.note != "" %} [NOTE](#note-{{ change.chid }}){% endif %}
|
|
20
|
-
{%- else %}
|
|
21
|
-
|
|
22
|
-
{{ bullet }}{{ change.summ | trim }}{% if change.note and change.note != "" %} [NOTE](#note-{{ change.chid }}){% endif %}
|
|
23
|
-
{%- endif %}
|
|
24
|
-
|
|
15
|
+
{{ bullet -}}
|
|
16
|
+
{{- change.summ | trim }}
|
|
17
|
+
{%- if change_metadata != '' %} {{ change_metadata | trim }}{%- endif -%}
|
|
18
|
+
{%- if change.note and change.note != '' %} [📝](#note-{{ change.chid }}){%- endif -%}
|
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
{%- assign tplt_extn = "html" %}
|
|
14
14
|
{%- assign show_frontmatter = config.modes.html_frontmatter %}
|
|
15
15
|
{%- assign format_frontmatter = config.history.html_frontmatter %}
|
|
16
|
+
{%- comment %} Force frontmatter off when HTML is wrapped (full HTML structure) {%- endcomment %}
|
|
17
|
+
{%- if config.modes.html_wrap == true %}
|
|
18
|
+
{%- assign show_frontmatter = false %}
|
|
19
|
+
{%- endif %}
|
|
16
20
|
{%- endcase %}
|
|
17
21
|
{%- assign header_level = config.history.htag | replace: "h", "" | plus: 0 %}
|
|
18
22
|
{%- assign dflt_next_header_level = header_level | plus: 1 %}
|
|
@@ -27,8 +31,8 @@
|
|
|
27
31
|
|
|
28
32
|
{%- assign group_kinds_list = "tag,type,part" | split: "," %}
|
|
29
33
|
|
|
30
|
-
{%- if show_frontmatter
|
|
34
|
+
{%- if show_frontmatter -%}
|
|
31
35
|
{{ format_frontmatter | render: vars -}}
|
|
32
|
-
{%- endif
|
|
36
|
+
{%- endif -%}
|
|
33
37
|
|
|
34
38
|
{%- include header.liquid format=format level=header_level text=history_header %}
|
|
@@ -2,7 +2,18 @@
|
|
|
2
2
|
{%- assign level = include.level %}
|
|
3
3
|
{%- assign format = include.format %}
|
|
4
4
|
{%- if format == "html" %}
|
|
5
|
-
|
|
5
|
+
{%- case level %}
|
|
6
|
+
{%- when 1 %}
|
|
7
|
+
<h{{ level }} class="display-5 fw-bold mb-4">{{ text }}</h{{ level }}>
|
|
8
|
+
{%- when 2 %}
|
|
9
|
+
<h{{ level }} class="h2 fw-bold border-bottom pb-3 mb-3">{{ text }}</h{{ level }}>
|
|
10
|
+
{%- when 3 %}
|
|
11
|
+
<h{{ level }} class="h3 fw-bold text-primary mt-4 mb-2">{{ text }}</h{{ level }}>
|
|
12
|
+
{%- when 4 %}
|
|
13
|
+
<h{{ level }} class="h4 fw-semibold mt-3 mb-2">{{ text }}</h{{ level }}>
|
|
14
|
+
{%- else %}
|
|
15
|
+
<h{{ level }} class="fw-semibold mt-2 mb-2">{{ text }}</h{{ level }}>
|
|
16
|
+
{%- endcase %}
|
|
6
17
|
{%- else %}
|
|
7
18
|
{%- if format == "asciidoc" %}
|
|
8
19
|
{%- assign header_char = "=" %}
|
|
@@ -12,6 +23,4 @@
|
|
|
12
23
|
{%- capture header_chars %}
|
|
13
24
|
{%- for i in (1..level) %}{{ header_char }}{% endfor %}
|
|
14
25
|
{%- endcapture %}
|
|
15
|
-
{{ header_chars }} {{ text }}
|
|
16
|
-
|
|
17
|
-
{%- endif %}
|
|
26
|
+
{{ header_chars }} {{ text }}{%- endif %}
|
|
@@ -1,51 +1,170 @@
|
|
|
1
1
|
{% raw %}
|
|
2
|
-
{%- if config.modes.
|
|
2
|
+
{%- if config.modes.html_wrap != false -%}
|
|
3
3
|
<!DOCTYPE html>
|
|
4
4
|
<html lang="en">
|
|
5
5
|
<head>
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
6
|
+
<meta charset="UTF-8">
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
8
|
+
<meta name="description" content="Release history and changelog">
|
|
9
|
+
<title>{{ config.history.head | default: "Release History" }}</title>
|
|
10
|
+
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
11
|
+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
|
12
|
+
<style>
|
|
13
|
+
:root {
|
|
14
|
+
--release-spacing: 3rem;
|
|
15
|
+
--section-spacing: 2.5rem;
|
|
16
|
+
--item-spacing: 1rem;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
body {
|
|
20
|
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
21
|
+
background-color: #f8f9fa;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.release-history {
|
|
25
|
+
max-width: 1200px;
|
|
26
|
+
margin: 0 auto;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.release-section {
|
|
30
|
+
margin-bottom: var(--release-spacing);
|
|
31
|
+
padding: 2rem;
|
|
32
|
+
background-color: white;
|
|
33
|
+
border-radius: 0.375rem;
|
|
34
|
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.changelog-section, .notes-section {
|
|
38
|
+
margin-bottom: var(--section-spacing);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.changelog-section {
|
|
42
|
+
border-left: 4px solid #198754;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.notes-section {
|
|
46
|
+
border-left: 4px solid #0dcaf0;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.release-note {
|
|
50
|
+
margin-bottom: var(--item-spacing);
|
|
51
|
+
transition: box-shadow 0.2s ease;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.release-note:hover {
|
|
55
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.change-entry {
|
|
59
|
+
margin-bottom: var(--item-spacing);
|
|
60
|
+
padding: 0.75rem 0;
|
|
61
|
+
transition: background-color 0.15s ease;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.change-entry:hover {
|
|
65
|
+
background-color: #f8f9fa;
|
|
66
|
+
border-radius: 0.25rem;
|
|
67
|
+
padding: 0.75rem 0.5rem;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.change-summary {
|
|
71
|
+
color: #212529;
|
|
72
|
+
line-height: 1.5;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.change-metadata {
|
|
76
|
+
font-size: 0.875rem;
|
|
77
|
+
margin-top: 0.5rem;
|
|
78
|
+
display: flex;
|
|
79
|
+
flex-wrap: wrap;
|
|
80
|
+
gap: 0.5rem;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.meta-icon {
|
|
84
|
+
margin-right: 0.25rem;
|
|
85
|
+
opacity: 0.7;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.meta-label, .meta-link {
|
|
89
|
+
margin-right: 0.25rem;
|
|
90
|
+
display: inline-block;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.note-link {
|
|
94
|
+
margin-left: 0.5rem;
|
|
95
|
+
flex-shrink: 0;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.issue-link, .git-link, .docs-link, .user-link {
|
|
99
|
+
font-size: 0.8rem;
|
|
100
|
+
text-decoration: none;
|
|
101
|
+
padding: 0.25rem 0.5rem;
|
|
102
|
+
border-radius: 0.25rem;
|
|
103
|
+
white-space: nowrap;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/* Print styles */
|
|
107
|
+
@media print {
|
|
108
|
+
body {
|
|
109
|
+
background-color: white;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.release-section {
|
|
113
|
+
page-break-inside: avoid;
|
|
114
|
+
box-shadow: none;
|
|
115
|
+
border: 1px solid #dee2e6;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.release-note {
|
|
119
|
+
page-break-inside: avoid;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.change-entry:hover {
|
|
123
|
+
background-color: white;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
a[href]:after {
|
|
127
|
+
content: " (" attr(href) ")";
|
|
128
|
+
font-size: 0.75rem;
|
|
129
|
+
color: #6c757d;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
</style>
|
|
22
133
|
</head>
|
|
23
|
-
<body
|
|
134
|
+
<body>
|
|
135
|
+
<div class="container-lg py-5">
|
|
24
136
|
{%- endif -%}
|
|
25
137
|
|
|
26
138
|
{%- if config.modes.html_frontmatter -%}
|
|
27
139
|
{%- assign frontmatter = config.history.html_frontmatter | render: vars -%}
|
|
28
140
|
{%- if frontmatter and frontmatter != "" -%}
|
|
29
|
-
<!-- {{ frontmatter }} -->
|
|
141
|
+
<!-- {{ frontmatter }} -->
|
|
30
142
|
{%- endif -%}
|
|
31
143
|
{%- endif -%}
|
|
32
144
|
|
|
33
|
-
<
|
|
34
|
-
|
|
145
|
+
<article class="release-history">
|
|
146
|
+
<header class="mb-5">
|
|
147
|
+
<h1 class="display-4 fw-bold mb-2">{{ config.history.head | render: vars | default: "Release History" }}</h1>
|
|
148
|
+
<p class="lead text-muted">Complete history of releases, changes, and improvements</p>
|
|
149
|
+
</header>
|
|
35
150
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
151
|
+
<main>
|
|
152
|
+
{%- for release in var.releases %}
|
|
153
|
+
{%- assign config = var.config %}
|
|
154
|
+
{%- assign release = var.release %}
|
|
155
|
+
{%- assign changes = var.changes %}
|
|
156
|
+
{%- assign sorted = var.sorted -%}
|
|
157
|
+
{%- include release.html.liquid
|
|
158
|
+
release=release
|
|
159
|
+
config=config
|
|
160
|
+
level=2 %}
|
|
161
|
+
{%- endfor %}
|
|
162
|
+
</main>
|
|
163
|
+
</article>
|
|
47
164
|
|
|
48
|
-
|
|
165
|
+
</div>
|
|
166
|
+
|
|
167
|
+
{%- if config.modes.html_wrap != false -%}
|
|
49
168
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
|
50
169
|
</body>
|
|
51
170
|
</html>
|
|
@@ -1,45 +1,90 @@
|
|
|
1
1
|
{%- assign show_labels = entry_metadata_labels %}
|
|
2
2
|
{%- assign show_icons = entry_metadata_icons %}
|
|
3
3
|
{%- assign metadata_kinds = 'type,part' | split: ',' %}
|
|
4
|
-
{%- assign format =
|
|
4
|
+
{%- assign format = 'asciidoc' %}
|
|
5
|
+
{%- assign metadata_items = '' | split: ',' %}
|
|
5
6
|
{%- embed tags-listing.liquid %}
|
|
6
7
|
{%- embed parts-listing.liquid %}
|
|
7
|
-
|
|
8
|
-
{%-
|
|
9
|
-
|
|
10
|
-
{%-
|
|
11
|
-
{%-
|
|
12
|
-
{%-
|
|
13
|
-
{
|
|
14
|
-
{%-
|
|
15
|
-
{%-
|
|
16
|
-
{%-
|
|
17
|
-
{%-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
{%-
|
|
25
|
-
{%-
|
|
26
|
-
{
|
|
27
|
-
|
|
28
|
-
{%-
|
|
29
|
-
{%-
|
|
30
|
-
{
|
|
31
|
-
{%-
|
|
32
|
-
{%-
|
|
33
|
-
{%-
|
|
34
|
-
{
|
|
35
|
-
|
|
36
|
-
{%- if entry_user_link_template -%}
|
|
37
|
-
link:{{ entry_user_link_template | render: change }}[icon:user[]{{ change.lead }}] {% else -%}
|
|
38
|
-
icon:user[]{{ change.lead }} {% endif -%}
|
|
39
|
-
{%- endif -%}
|
|
40
|
-
{%- if config.links.web.href and config.links.web.href != "" -%}
|
|
41
|
-
link:{{ config.links.web.href | render: change }}[icon:{{ config.links.web.icon }}[]{{ config.links.web.text | render: change }}] {% endif -%}
|
|
42
|
-
{%- if entry_show_git_links and config.links.git.href and config.links.git.href != "" -%}
|
|
43
|
-
link:{{ config.links.git.href | render: change }}[icon:{{ config.links.git.icon | default: 'code-fork' }}[]{{ change.hash | slice: 0, 7 }}] {% endif -%}
|
|
8
|
+
|
|
9
|
+
{%- comment %}Build inline metadata array for compact formatting{%- endcomment %}
|
|
10
|
+
|
|
11
|
+
{%- comment %}Add parts/components{%- endcomment %}
|
|
12
|
+
{%- if parts_listing != '' and entry_show_parts_label %}
|
|
13
|
+
{%- assign metadata_items = metadata_items | push: parts_listing %}
|
|
14
|
+
{%- elsif change.parts and change.parts.size > 0 and entry_show_parts_label == false %}
|
|
15
|
+
{%- for part in change.parts %}
|
|
16
|
+
{%- unless part == 'changelog' or part == 'release_note_needed' %}
|
|
17
|
+
{%- assign part_text = config.parts[part].text | default: part %}
|
|
18
|
+
{%- assign part_badge = '[.badge.part-badge.part-'
|
|
19
|
+
| append: part
|
|
20
|
+
| append: ']#'
|
|
21
|
+
| append: part_text
|
|
22
|
+
| append: '#'
|
|
23
|
+
%}
|
|
24
|
+
{%- assign metadata_items = metadata_items | push: part_badge %}
|
|
25
|
+
{%- endunless %}
|
|
26
|
+
{%- endfor %}
|
|
27
|
+
{%- endif %}
|
|
28
|
+
|
|
29
|
+
{%- comment %}Add type{%- endcomment %}
|
|
30
|
+
{%- if change.type %}
|
|
31
|
+
{%- assign type_config = config.types[change.type] %}
|
|
32
|
+
{%- capture type_item %}
|
|
33
|
+
{%- if entry_show_type_label %}[.meta-label.type-label]*{{ labeling_type_label }}:* {% endif -%}
|
|
34
|
+
{%- if type_config.icon and show_icons and show_icons == "before" %}icon:{{ type_config.icon | default: 'tag' }}[role=meta-icon,role=type-icon] {% endif -%}
|
|
35
|
+
[.badge.type-badge.type-{{ change.type }}]#{{ type_config.text | default: change.type }}#
|
|
36
|
+
{%- if type_config.icon and show_icons and show_icons == "after" %} icon:{{ type_config.icon | default: 'tag' }}[role=meta-icon,role=type-icon]{% endif -%}
|
|
44
37
|
{%- endcapture %}
|
|
38
|
+
{%- assign metadata_items = metadata_items | push: type_item %}
|
|
39
|
+
{%- endif %}
|
|
40
|
+
|
|
41
|
+
{%- comment %}Add tags{%- endcomment %}
|
|
42
|
+
{%- if tags_listing != '' and entry_show_tags_label %}
|
|
43
|
+
{%- assign metadata_items = metadata_items | push: tags_listing %}
|
|
44
|
+
{%- elsif change.tags and change.tags.size > 0 and entry_show_tags_label == false %}
|
|
45
|
+
{%- for tag in change.tags %}
|
|
46
|
+
{%- unless tag == 'changelog' or tag == 'release_note_needed' %}
|
|
47
|
+
{%- assign tag_text = config.tags[tag].text | default: tag %}
|
|
48
|
+
{%- assign tag_badge = '[.badge.tag-badge.tag-' | append: tag | append: ']#' | append: tag_text | append: '#' %}
|
|
49
|
+
{%- assign metadata_items = metadata_items | push: tag_badge %}
|
|
50
|
+
{%- endunless %}
|
|
51
|
+
{%- endfor %}
|
|
52
|
+
{%- endif %}
|
|
53
|
+
|
|
54
|
+
{%- comment %}Add lead/assignee{%- endcomment %}
|
|
55
|
+
{%- if entry_show_lead and change.lead %}
|
|
56
|
+
{%- capture lead_item %}
|
|
57
|
+
{%- if entry_show_lead_label %}[.meta-label.lead-label]*{{ labeling_lead_label }}:* {% endif -%}
|
|
58
|
+
{%- if entry_user_link_template -%}
|
|
59
|
+
link:{{ entry_user_link_template | render: change }}[icon:user[role=user-icon]{{ change.lead }},role=user-link]
|
|
60
|
+
{%- else -%}
|
|
61
|
+
icon:user[role=user-icon]{{ change.lead }}
|
|
62
|
+
{%- endif -%}
|
|
63
|
+
{%- endcapture %}
|
|
64
|
+
{%- assign metadata_items = metadata_items | push: lead_item %}
|
|
65
|
+
{%- endif %}
|
|
66
|
+
|
|
67
|
+
{%- comment %}Add ticket/issue link{%- endcomment %}
|
|
68
|
+
{%- if config.links.web.href and config.links.web.href != '' %}
|
|
69
|
+
{%- capture ticket_link %}link:{{ config.links.web.href | render: change }}[icon:{{ config.links.web.icon }}[role=ticket-icon]{{ config.links.web.text | render: change }},role=ticket-link]{% endcapture %}
|
|
70
|
+
{%- assign metadata_items = metadata_items | push: ticket_link %}
|
|
71
|
+
{%- endif %}
|
|
72
|
+
|
|
73
|
+
{%- comment %}Add git commit link{%- endcomment %}
|
|
74
|
+
{%- if entry_show_git_links and config.links.git.href and config.links.git.href != '' %}
|
|
75
|
+
{%- capture git_link %}link:{{ config.links.git.href | render: change }}[icon:{{ config.links.git.icon | default: 'code-fork' }}[role=git-icon]{{ change.hash | slice: 0, 7 }},role=git-link]{% endcapture %}
|
|
76
|
+
{%- assign metadata_items = metadata_items | push: git_link %}
|
|
77
|
+
{%- endif %}
|
|
78
|
+
|
|
79
|
+
{%- comment %}Add docs link{%- endcomment %}
|
|
80
|
+
{%- if config.links.docs and config.links.docs.href and config.links.docs.href != '' %}
|
|
81
|
+
{%- capture docs_link %}link:{{ config.links.docs.href | render: change }}[icon:{{ config.links.docs.icon | default: 'book' }}[role=docs-icon]{{ config.links.docs.text | render: change | default: 'Docs' }},role=docs-link]{% endcapture %}
|
|
82
|
+
{%- assign metadata_items = metadata_items | push: docs_link %}
|
|
83
|
+
{%- endif %}
|
|
84
|
+
|
|
85
|
+
{%- comment %}Output as inline metadata with semantic classes{%- endcomment %}
|
|
86
|
+
{%- assign change_metadata = metadata_items | join: ' ' | strip %}
|
|
87
|
+
{%- if change_metadata != '' %}
|
|
88
|
+
{%- assign change_metadata = '[.change-metadata]' | append: newline | append: change_metadata %}
|
|
89
|
+
{%- endif %}
|
|
45
90
|
{%- assign catch_metadata_error = change_metadata %}
|
|
@@ -1,2 +1,61 @@
|
|
|
1
|
-
{%-
|
|
1
|
+
{%- assign show_labels = content_config.items.metadata_labels %}
|
|
2
|
+
{%- assign show_icons = content_config.items.metadata_icons %}
|
|
3
|
+
{%- assign metadata_kinds = 'type,part' | split: ',' %}
|
|
4
|
+
{%- embed tags-listing.liquid %}
|
|
5
|
+
|
|
6
|
+
{%- capture change_metadata %}
|
|
7
|
+
{%- if change.type %}
|
|
8
|
+
{%- assign type_config = config.types[change.type] %}
|
|
9
|
+
{%- if type_config.icon and show_icons and show_icons == "before" %}
|
|
10
|
+
<i class="fa fa-{{ type_config.icon | default: 'tag' }} meta-icon"></i>
|
|
11
|
+
{%- endif %}
|
|
12
|
+
{%- if show_labels %}
|
|
13
|
+
{%- assign type_text = type_config.text | default: change.type %}
|
|
14
|
+
<span class="badge bg-danger meta-label type-label">{{ type_text }}</span>
|
|
15
|
+
{%- endif %}
|
|
16
|
+
{%- if type_config.icon and show_icons and show_icons == "after" %}
|
|
17
|
+
<i class="fa fa-{{ type_config.icon | default: 'tag' }} meta-icon"></i>
|
|
18
|
+
{%- endif %}
|
|
19
|
+
{%- endif %}
|
|
20
|
+
|
|
21
|
+
{%- if change.part and change.part != "changelog" and change.part != "release_note_needed" %}
|
|
22
|
+
{%- assign part_config = config.parts[change.part] %}
|
|
23
|
+
{%- if part_config %}
|
|
24
|
+
{%- if part_config.icon and show_icons and show_icons == "before" %}
|
|
25
|
+
<i class="fa fa-{{ part_config.icon | default: 'cube' }} meta-icon"></i>
|
|
26
|
+
{%- endif %}
|
|
27
|
+
{%- if show_labels %}
|
|
28
|
+
{%- assign part_text = part_config.text | default: change.part %}
|
|
29
|
+
<span class="badge bg-secondary meta-label part-label">{{ part_text }}</span>
|
|
30
|
+
{%- endif %}
|
|
31
|
+
{%- if part_config.icon and show_icons and show_icons == "after" %}
|
|
32
|
+
<i class="fa fa-{{ part_config.icon | default: 'cube' }} meta-icon"></i>
|
|
33
|
+
{%- endif %}
|
|
34
|
+
{%- endif %}
|
|
35
|
+
{%- endif %}
|
|
36
|
+
|
|
37
|
+
{%- if tags_listing != "" %}
|
|
38
|
+
{{ tags_listing | trim }}
|
|
39
|
+
{%- endif %}
|
|
40
|
+
|
|
41
|
+
{%- if config.links.web and config.links.web.href %}
|
|
42
|
+
<a href="{{ config.links.web.href | render: change }}" class="badge badge-pill bg-info meta-link issue-link text-decoration-none">
|
|
43
|
+
<i class="fa fa-{{ config.links.web.icon | default: 'ticket' }}"></i>{{ config.links.web.text | render: change | default: change.tick }}
|
|
44
|
+
</a>
|
|
45
|
+
{%- endif %}
|
|
46
|
+
|
|
47
|
+
{%- if config.links.git and config.links.git.href %}
|
|
48
|
+
{%- assign git_text = config.links.git.text | render: change | default: change.hash %}
|
|
49
|
+
<a href="{{ config.links.git.href | render: change }}" class="badge badge-pill bg-dark meta-link git-link text-decoration-none">
|
|
50
|
+
<i class="fa fa-{{ config.links.git.icon | default: 'code-fork' }}"></i>{{ git_text | slice: 0, 7 }}
|
|
51
|
+
</a>
|
|
52
|
+
{%- endif %}
|
|
53
|
+
|
|
54
|
+
{%- if change.note %}
|
|
55
|
+
<a href="#note-{{ change.chid }}" class="badge bg-warning meta-link note-link text-decoration-none" title="See release note">
|
|
56
|
+
<i class="fa fa-sticky-note-o"></i>NOTE
|
|
57
|
+
</a>
|
|
58
|
+
{%- endif %}
|
|
59
|
+
{%- endcapture %}
|
|
60
|
+
{%- assign catch_metadata_error = change_metadata %}
|
|
2
61
|
|