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,33 +1,51 @@
|
|
|
1
|
-
|
|
2
|
-
{%
|
|
1
|
+
<!-- .release-note -->
|
|
2
|
+
{% if config.conversions.markup == 'markdown' -%}
|
|
3
|
+
{% assign change_note = change.note | default: 'NO RELEASE NOTE PROVIDED' | trim -%}
|
|
3
4
|
{% else -%}
|
|
4
|
-
{% assign change_note = change.note | default:
|
|
5
|
+
{% assign change_note = change.note | default: 'NO RELEASE NOTE PROVIDED' | adoc_to_md | trim -%}
|
|
5
6
|
{% endif -%}
|
|
7
|
+
{%- comment -%} Remove "## Release Note" heading if it appears in the note content {%- endcomment -%}
|
|
8
|
+
{%- assign change_note = change_note | replace: '## Release Note', '' | trim -%}
|
|
9
|
+
{% embed metadata-note.md.liquid -%}
|
|
6
10
|
|
|
7
11
|
<a id="note-{{ change.chid }}"></a>
|
|
8
|
-
{%- if config.notes.items.frame == "table" %}
|
|
9
|
-
| Details |
|
|
10
|
-
|---------|
|
|
11
|
-
| {% if change.head %}**{{ change.head }}**<br>{% endif %}{{ change_note }} |
|
|
12
|
-
{%- elsif config.notes.items.frame == "desc-list" %}
|
|
13
|
-
**{{ change.head | default: change.summ }}**
|
|
14
|
-
{{ change_note }}
|
|
15
|
-
{% elsif config.notes.items.frame == "admonition" %}
|
|
16
|
-
{% if change.type == "removal" or change.type == "deprecation" or change.type == "breaking" %}
|
|
17
|
-
{% assign admonition_type = "Warning" %}
|
|
18
|
-
{% elsif change.type == "security" %}
|
|
19
|
-
{% assign admonition_type = "Important" %}
|
|
20
|
-
{% elsif change.type == "experimental" %}
|
|
21
|
-
{% assign admonition_type = "Tip" %}
|
|
22
|
-
{% else %}
|
|
23
|
-
{% assign admonition_type = "Note" %}
|
|
24
|
-
{% endif %}
|
|
25
12
|
|
|
26
|
-
|
|
13
|
+
{%- if config.notes.items.frame == 'table' %}
|
|
14
|
+
| Change | Details | |--------|---------| | {{ change_metadata }} |
|
|
15
|
+
{% if change.head %}**{{ change.head }}**<br>{% endif -%}
|
|
16
|
+
{{- change_note }} |
|
|
17
|
+
{%- elsif config.notes.items.frame == 'table-cols-1' %}
|
|
18
|
+
| Note | |------| | {{ change_metadata -}}
|
|
19
|
+
<br>
|
|
20
|
+
{% if change.head %}**{{ change.head }}**<br>{% endif -%}
|
|
21
|
+
{{- change_note }} |
|
|
22
|
+
{%- elsif config.notes.items.frame == 'table-cols-2' %}
|
|
23
|
+
| Note | Metadata | |------|----------| | {% if change.head %}**{{ change.head }}**<br>{% endif -%}
|
|
24
|
+
{{- change_note }} | {{ change_metadata }} |
|
|
25
|
+
{%- elsif config.notes.items.frame == 'desc-list' %}
|
|
26
|
+
{% if change.head -%}
|
|
27
|
+
**{{ change.head }}**
|
|
28
|
+
{% endif -%}
|
|
29
|
+
{{ change_note }}
|
|
30
|
+
{{ change_metadata }}
|
|
31
|
+
{% elsif config.notes.items.frame == 'admonition' %}
|
|
32
|
+
{% if change.type == 'removal' or change.type == 'deprecation' or change.type == 'breaking' %}
|
|
33
|
+
{% assign admonition_type = '⚠️ Warning' %}
|
|
34
|
+
{% elsif change.type == 'security' %}
|
|
35
|
+
{% assign admonition_type = '🔒 Security' %}
|
|
36
|
+
{% elsif change.type == 'experimental' %}
|
|
37
|
+
{% assign admonition_type = '💡 Tip' %}
|
|
38
|
+
{% else %}
|
|
39
|
+
{% assign admonition_type = '📝 Note' %}
|
|
40
|
+
{% endif %}
|
|
41
|
+
|
|
42
|
+
> **{{ admonition_type }}**: {% if change.head %}**{{ change.head }}** — {% endif -%}
|
|
43
|
+
{{- change_note }} > {{ change_metadata }}
|
|
27
44
|
{% else -%}
|
|
28
|
-
{% if change.head -%}
|
|
29
|
-
### {{ change.head }}
|
|
30
|
-
{% endif -%}
|
|
31
|
-
{{ change_note }}
|
|
32
|
-
{% endif %}
|
|
45
|
+
{% if change.head -%}
|
|
46
|
+
### {{ change.head }}
|
|
47
|
+
{% endif -%}
|
|
48
|
+
{{ change_note }}
|
|
33
49
|
|
|
50
|
+
{{ change_metadata }}
|
|
51
|
+
{% endif %}
|
|
@@ -4,11 +4,13 @@
|
|
|
4
4
|
{%- assign dflt_next_header_level = level | plus: 1 -%}
|
|
5
5
|
{%- assign item_count = 0 %}
|
|
6
6
|
|
|
7
|
-
<
|
|
8
|
-
|
|
7
|
+
<section class="notes-section py-4 px-3 mb-4">
|
|
8
|
+
{%- include header.liquid format=format level=level text=content_config.head %}
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
{%- embed section-text.liquid %}
|
|
11
11
|
|
|
12
|
+
<div class="notes-content mt-4">
|
|
12
13
|
{%- embed groupings.liquid %}
|
|
13
|
-
</div>
|
|
14
|
+
</div>
|
|
15
|
+
</section>
|
|
14
16
|
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
:icons: font
|
|
7
7
|
{% embed head-parser.liquid %}
|
|
8
8
|
|
|
9
|
+
[.release-section]
|
|
10
|
+
|
|
9
11
|
{%- if release.hash and release.hash != "" and config.links.git and config.links.git.trim != "" %}
|
|
10
12
|
link:{{ config.links.git | render: release }}[icon:{{ config.links.git_icon | default: 'code-fork' }}[]{{ release.hash | slice: 0, 7 }}]
|
|
11
13
|
{%- endif %}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
{
|
|
2
|
-
{
|
|
3
|
-
{
|
|
4
|
-
{
|
|
5
|
-
{
|
|
1
|
+
{%- assign format = "markdown" -%}
|
|
2
|
+
{%- assign config = vars.config -%}
|
|
3
|
+
{%- assign release = vars.release -%}
|
|
4
|
+
{%- assign changes = vars.changes -%}
|
|
5
|
+
{%- assign sorted = vars.sorted -%}
|
|
6
6
|
{%- embed head-parser.liquid %}
|
|
7
|
-
|
|
7
|
+
<!-- .release-section -->
|
|
8
|
+
{%- if release.memo -%}
|
|
8
9
|
{{ release.memo }}
|
|
9
|
-
{
|
|
10
|
+
{%- endif -%}
|
|
10
11
|
|
|
11
12
|
{% if release.hash and release.hash != "" and config.links.git and config.links.git.trim != "" -%}
|
|
12
13
|
**Git:** [{{ release.hash | slice: 0, 7 }}]({{ config.links.git | render: release }})
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
{%- assign change = include.change %}
|
|
2
|
+
{%- assign config = include.config %}
|
|
3
|
+
- chid: {{ change.chid }}
|
|
4
|
+
{%- if change.tick %}
|
|
5
|
+
tick: {{ change.tick }}
|
|
6
|
+
{%- endif %}
|
|
7
|
+
{%- if change.type %}
|
|
8
|
+
type: {{ change.type }}
|
|
9
|
+
{%- endif %}
|
|
10
|
+
{%- if change.parts.size > 0 %}
|
|
11
|
+
{%- if change.parts.size == 1 %}
|
|
12
12
|
part: {{ change.parts[0] }}
|
|
13
|
-
|
|
13
|
+
{%- else %}
|
|
14
14
|
parts:
|
|
15
|
-
|
|
15
|
+
{%- for part in change.parts %}
|
|
16
16
|
- {{ part }}
|
|
17
|
-
{%- endfor %}
|
|
18
|
-
{%- endif %}
|
|
19
|
-
{%- endif %}
|
|
20
|
-
{%- if change.hash %}
|
|
21
|
-
hash: {{ change.hash }}
|
|
22
|
-
{%- endif %}
|
|
23
|
-
summ: |
|
|
24
|
-
{{ change.summ }}
|
|
25
|
-
{%- if change.head %}
|
|
26
|
-
head: {{ change.head }}
|
|
27
|
-
{%- endif %}
|
|
28
|
-
{%- if change.note and change.note.strip != "" %}
|
|
29
|
-
note: |
|
|
30
|
-
{{ change.note | indent: 6 }}
|
|
31
|
-
{%- endif %}
|
|
32
|
-
{%- if change.tags.size > 0 %}
|
|
33
|
-
tags:
|
|
34
|
-
{%- for tag in change.tags %}
|
|
35
|
-
- {{ tag }}
|
|
36
17
|
{%- endfor %}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
18
|
+
{%- endif %}
|
|
19
|
+
{%- endif %}
|
|
20
|
+
{%- if change.hash %}
|
|
21
|
+
hash: {{ change.hash }}
|
|
22
|
+
{%- endif %}
|
|
23
|
+
summ: |
|
|
24
|
+
{{ change.summ }}
|
|
25
|
+
{%- if change.head %}
|
|
26
|
+
head: {{ change.head }}
|
|
27
|
+
{%- endif %}
|
|
28
|
+
{%- if change.note and change.note.strip != '' %}
|
|
29
|
+
note: |
|
|
30
|
+
{{ _note | indent: 6 }}
|
|
31
|
+
{%- endif %}
|
|
32
|
+
{%- if change.tags.size > 0 %}
|
|
33
|
+
tags:
|
|
34
|
+
{%- for tag in change.tags %}
|
|
35
|
+
- {{ tag }}
|
|
36
|
+
{%- endfor %}
|
|
37
|
+
{%- endif %}
|
|
38
|
+
{%- if change.lead %}
|
|
39
|
+
lead: {{ change.lead }}
|
|
40
|
+
{%- endif %}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<meta name="description" content="Release history and changelog">
|
|
7
|
+
{% assign title = config.history.head | default: 'Release History' | escape %}
|
|
8
|
+
<title>{{ title }}</title>
|
|
9
|
+
|
|
10
|
+
{%- assign styling_mode = config.history.styling.mode | default: 'framework' %}
|
|
11
|
+
{%- assign css_url = config.history.styling.css_url %}
|
|
12
|
+
{%- assign embed_css = config.history.styling.embed_css | default: false %}
|
|
13
|
+
{%- assign theme = config.history.styling.theme | default: 'default' %}
|
|
14
|
+
|
|
15
|
+
{%- if styling_mode == 'external' and css_url %}
|
|
16
|
+
<link rel="stylesheet" href="{{ css_url }}">
|
|
17
|
+
{%- elsif styling_mode == 'framework' or styling_mode == 'embedded' %}
|
|
18
|
+
{%- if framework == 'bootstrap' %}
|
|
19
|
+
{%- case framework_version %}
|
|
20
|
+
{%- when '5.3.0' %}
|
|
21
|
+
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
22
|
+
{%- when '4.6.2' %}
|
|
23
|
+
<link href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
24
|
+
{%- else %}
|
|
25
|
+
<link href="https://cdn.jsdelivr.net/npm/bootstrap@{{ framework_version }}/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
26
|
+
{%- endcase %}
|
|
27
|
+
{%- endif %}
|
|
28
|
+
|
|
29
|
+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
|
30
|
+
|
|
31
|
+
{%- comment %}Load Bootstrap overrides (can be customized in _templates/bootstrap-overrides.css){%- endcomment %}
|
|
32
|
+
<style>
|
|
33
|
+
{% embed bootstrap-overrides.css %}
|
|
34
|
+
</style>
|
|
35
|
+
{%- endif %}
|
|
36
|
+
|
|
37
|
+
{%- if styling_mode == 'embedded' or embed_css %}
|
|
38
|
+
<style>
|
|
39
|
+
{% embed embedded.css.liquid %}
|
|
40
|
+
</style>
|
|
41
|
+
{%- elsif styling_mode == 'minimal' %}
|
|
42
|
+
<style>
|
|
43
|
+
/* Minimal Styling Mode */
|
|
44
|
+
body {
|
|
45
|
+
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
46
|
+
line-height: 1.6;
|
|
47
|
+
max-width: 1000px;
|
|
48
|
+
margin: 0 auto;
|
|
49
|
+
padding: 2rem;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.release-section {
|
|
53
|
+
margin-bottom: 3rem;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.changelog-section, .notes-section {
|
|
57
|
+
margin-bottom: 2rem;
|
|
58
|
+
padding-left: 1rem;
|
|
59
|
+
border-left: 3px solid #ccc;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.release-note {
|
|
63
|
+
margin-bottom: 1.5rem;
|
|
64
|
+
padding: 1rem;
|
|
65
|
+
border: 1px solid #eee;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.change-entry {
|
|
69
|
+
margin-bottom: 0.75rem;
|
|
70
|
+
padding: 0.5rem 0;
|
|
71
|
+
border-bottom: 1px solid #f0f0f0;
|
|
72
|
+
}
|
|
73
|
+
</style>
|
|
74
|
+
{%- endif %}
|
|
75
|
+
</head>
|
|
76
|
+
<body>
|
|
77
|
+
<div class="container-lg py-5">
|
|
78
|
+
<article class="release-history">
|
|
79
|
+
{{ content }}
|
|
80
|
+
</article>
|
|
81
|
+
</div>
|
|
82
|
+
{%- if framework == 'bootstrap' %}
|
|
83
|
+
{%- case framework_version %}
|
|
84
|
+
{%- when '5.3.0' %}
|
|
85
|
+
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
|
86
|
+
<script>
|
|
87
|
+
// Auto-detect and apply Bootstrap 5 dark mode
|
|
88
|
+
if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
|
89
|
+
document.documentElement.setAttribute('data-bs-theme', 'dark');
|
|
90
|
+
}
|
|
91
|
+
// Listen for system theme changes
|
|
92
|
+
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', e => {
|
|
93
|
+
document.documentElement.setAttribute('data-bs-theme', e.matches ? 'dark' : 'light');
|
|
94
|
+
});
|
|
95
|
+
</script>
|
|
96
|
+
{%- when '4.6.2' %}
|
|
97
|
+
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"></script>
|
|
98
|
+
{%- else %}
|
|
99
|
+
<script src="https://cdn.jsdelivr.net/npm/bootstrap@{{ framework_version }}/dist/js/bootstrap.bundle.min.js"></script>
|
|
100
|
+
{%- endcase %}
|
|
101
|
+
{%- endif %}
|
|
102
|
+
</body>
|
|
103
|
+
</html>
|
|
@@ -135,7 +135,7 @@ module ReleaseHx
|
|
|
135
135
|
end
|
|
136
136
|
|
|
137
137
|
# Converts a list (bullet or ordered)
|
|
138
|
-
def self.convert_list node, excluded, depth, unordered: true
|
|
138
|
+
def self.convert_list node, excluded, depth, unordered: true # rubocop:disable Lint/UnusedMethodArgument
|
|
139
139
|
content = node['content'] || []
|
|
140
140
|
items = content.map { |item| convert_node(item, excluded, depth + 1) }
|
|
141
141
|
"#{items.join}\n"
|
data/lib/releasehx/version.rb
CHANGED
data/lib/releasehx.rb
CHANGED
data/specs/data/config-def.yml
CHANGED
|
@@ -203,12 +203,59 @@ properties:
|
|
|
203
203
|
The origin markup format for notes.
|
|
204
204
|
May be `markdown` or `asciidoc`.
|
|
205
205
|
dflt: markdown
|
|
206
|
-
|
|
207
|
-
type: String
|
|
206
|
+
engines:
|
|
208
207
|
desc: |
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
208
|
+
Specifies the conversion engines to use when enriching to various output formats.
|
|
209
|
+
|
|
210
|
+
These settings determine which tool processes the conversion from draft formats to rich output.
|
|
211
|
+
Intelligent defaults are applied based on source format when engines are not explicitly configured.
|
|
212
|
+
properties:
|
|
213
|
+
html:
|
|
214
|
+
type: String
|
|
215
|
+
desc: |
|
|
216
|
+
Engine for converting to HTML format.
|
|
217
|
+
|
|
218
|
+
Valid engines:
|
|
219
|
+
|
|
220
|
+
[horizontal]
|
|
221
|
+
`asciidoctor-html5`:: Standard Asciidoctor HTML5 backend (nested div structure)
|
|
222
|
+
`asciidoctor-html5s`:: Semantic HTML5 backend (cleaner section-based markup)
|
|
223
|
+
`kramdown`:: Kramdown Markdown converter (for Markdown sources)
|
|
224
|
+
`pandoc`:: Universal document converter (if available)
|
|
225
|
+
|
|
226
|
+
When not specified, intelligent defaults apply:
|
|
227
|
+
|
|
228
|
+
- AsciiDoc → HTML: `asciidoctor-html5s` (semantic HTML5)
|
|
229
|
+
- Markdown → HTML: `kramdown`
|
|
230
|
+
- RHYML → HTML: Liquid templates (no engine needed)
|
|
231
|
+
docs: |
|
|
232
|
+
The html5s backend produces cleaner, more semantic HTML with `<section>` elements
|
|
233
|
+
instead of nested `<div class="sect1"><div class="sectionbody">` structures.
|
|
234
|
+
|
|
235
|
+
This is particularly useful when you want to apply custom CSS or when generating
|
|
236
|
+
HTML that will be further processed or embedded in other systems.
|
|
237
|
+
|
|
238
|
+
For backwards compatibility or when you need the traditional Asciidoctor structure,
|
|
239
|
+
use `asciidoctor-html5`.
|
|
240
|
+
pdf:
|
|
241
|
+
type: String
|
|
242
|
+
desc: |
|
|
243
|
+
Engine for converting to PDF format.
|
|
244
|
+
|
|
245
|
+
Valid engines:
|
|
246
|
+
|
|
247
|
+
[horizontal]
|
|
248
|
+
`asciidoctor-pdf`:: Asciidoctor PDF converter (default for AsciiDoc)
|
|
249
|
+
`asciidoctor-web-pdf`:: Web-based PDF converter using headless Chrome
|
|
250
|
+
`pandoc`:: Universal document converter (if available)
|
|
251
|
+
|
|
252
|
+
When not specified, intelligent defaults apply:
|
|
253
|
+
|
|
254
|
+
- AsciiDoc → PDF: `asciidoctor-pdf`
|
|
255
|
+
- Markdown → PDF: `pandoc` (if available)
|
|
256
|
+
docs: |
|
|
257
|
+
The default `asciidoctor-pdf` engine provides excellent typography and layout
|
|
258
|
+
for technical documentation with support for themes, fonts, and advanced formatting.
|
|
212
259
|
|
|
213
260
|
extensions:
|
|
214
261
|
desc: Default file extensions.
|
|
@@ -837,7 +884,7 @@ properties:
|
|
|
837
884
|
desc: |
|
|
838
885
|
Default settings for `rhx` command executions.
|
|
839
886
|
properties:
|
|
840
|
-
|
|
887
|
+
html_wrap:
|
|
841
888
|
type: Boolean
|
|
842
889
|
desc: |
|
|
843
890
|
Include (or exclude) head, header, and footer elements when enriching to HTML.
|
|
@@ -862,6 +909,7 @@ properties:
|
|
|
862
909
|
Include frontmatter in AsciiDoc drafts.
|
|
863
910
|
|
|
864
911
|
Uses the `templates.asciidoc_frontmatter` template.
|
|
912
|
+
dflt: false
|
|
865
913
|
fetch:
|
|
866
914
|
type: String
|
|
867
915
|
desc: |
|
|
@@ -1043,6 +1091,74 @@ properties:
|
|
|
1043
1091
|
|
|
1044
1092
|
It may include `{{ title }}`, `{{ version }}`, `{{ date }}`, as well as any `vars`-scoped variables as you pass in.
|
|
1045
1093
|
dflt: *markdown_frontmatter_tplt
|
|
1094
|
+
html_framework:
|
|
1095
|
+
type: String
|
|
1096
|
+
desc: |
|
|
1097
|
+
The HTML framework to use when enriching to HTML.
|
|
1098
|
+
|
|
1099
|
+
Valid entries:
|
|
1100
|
+
|
|
1101
|
+
[horizontal]
|
|
1102
|
+
`bare`:: minimal HTML structure
|
|
1103
|
+
`bootstrap4`:: Bootstrap 4 framework
|
|
1104
|
+
`bootstrap5`:: Bootstrap 5 framework
|
|
1105
|
+
dflt: bare
|
|
1106
|
+
styling:
|
|
1107
|
+
desc: |
|
|
1108
|
+
Configuration options for HTML styling and CSS framework integration.
|
|
1109
|
+
properties:
|
|
1110
|
+
mode:
|
|
1111
|
+
type: String
|
|
1112
|
+
desc: |
|
|
1113
|
+
The HTML styling approach to use when generating wrapped HTML output.
|
|
1114
|
+
|
|
1115
|
+
Valid options:
|
|
1116
|
+
|
|
1117
|
+
* `minimal` -- Basic semantic HTML with minimal inline styles
|
|
1118
|
+
* `embedded` -- Include comprehensive CSS in `<style>` block
|
|
1119
|
+
* `external` -- Reference external stylesheet via `<link>` tag
|
|
1120
|
+
* `framework` -- Use configured CSS framework only (Bootstrap, etc.)
|
|
1121
|
+
|
|
1122
|
+
When `mode: framework`, styling relies entirely on the configured CSS framework.
|
|
1123
|
+
When `mode: embedded`, CSS is included inline for standalone HTML files.
|
|
1124
|
+
When `mode: external`, a custom CSS file must be provided via `css_url`.
|
|
1125
|
+
dflt: framework
|
|
1126
|
+
theme:
|
|
1127
|
+
type: String
|
|
1128
|
+
desc: |
|
|
1129
|
+
The visual theme variant to apply to HTML output.
|
|
1130
|
+
|
|
1131
|
+
Built-in themes:
|
|
1132
|
+
|
|
1133
|
+
* `default` -- Standard professional appearance
|
|
1134
|
+
* `compact` -- Reduced spacing and condensed layout
|
|
1135
|
+
* `detailed` -- Enhanced metadata display with expanded information
|
|
1136
|
+
|
|
1137
|
+
Theme selection affects spacing, typography, and metadata prominence.
|
|
1138
|
+
dflt: default
|
|
1139
|
+
embed_css:
|
|
1140
|
+
type: Boolean
|
|
1141
|
+
desc: |
|
|
1142
|
+
Include comprehensive CSS directly in the HTML `<style>` block.
|
|
1143
|
+
|
|
1144
|
+
When enabled, generates standalone HTML files that display correctly
|
|
1145
|
+
without external dependencies. CSS includes framework customizations,
|
|
1146
|
+
responsive design rules, and print optimizations.
|
|
1147
|
+
|
|
1148
|
+
Automatically enabled when `mode: embedded`.
|
|
1149
|
+
dflt: false
|
|
1150
|
+
css_url:
|
|
1151
|
+
type: String
|
|
1152
|
+
desc: |
|
|
1153
|
+
URL or path to external CSS stylesheet for custom styling.
|
|
1154
|
+
|
|
1155
|
+
When `mode: external`, this stylesheet is linked via `<link rel="stylesheet">`.
|
|
1156
|
+
Can be a relative path, absolute URL, or CDN link.
|
|
1157
|
+
|
|
1158
|
+
Example: `assets/custom-releasehx.css` or `https://example.com/styles.css`
|
|
1159
|
+
|
|
1160
|
+
When provided, framework CSS and embedded CSS are disabled.
|
|
1161
|
+
dflt: null
|
|
1046
1162
|
items:
|
|
1047
1163
|
desc: |
|
|
1048
1164
|
Settings pertaining to displayed items across Changelog and Release Notes sections.
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: releasehx
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- DocOpsLab
|
|
@@ -107,6 +107,20 @@ dependencies:
|
|
|
107
107
|
- - "~>"
|
|
108
108
|
- !ruby/object:Gem::Version
|
|
109
109
|
version: '0.4'
|
|
110
|
+
- !ruby/object:Gem::Dependency
|
|
111
|
+
name: asciidoctor-html5s
|
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
|
113
|
+
requirements:
|
|
114
|
+
- - "~>"
|
|
115
|
+
- !ruby/object:Gem::Version
|
|
116
|
+
version: '0.5'
|
|
117
|
+
type: :runtime
|
|
118
|
+
prerelease: false
|
|
119
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
120
|
+
requirements:
|
|
121
|
+
- - "~>"
|
|
122
|
+
- !ruby/object:Gem::Version
|
|
123
|
+
version: '0.5'
|
|
110
124
|
- !ruby/object:Gem::Dependency
|
|
111
125
|
name: asciidoctor-pdf
|
|
112
126
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -121,6 +135,20 @@ dependencies:
|
|
|
121
135
|
- - "~>"
|
|
122
136
|
- !ruby/object:Gem::Version
|
|
123
137
|
version: '2.3'
|
|
138
|
+
- !ruby/object:Gem::Dependency
|
|
139
|
+
name: asciisourcerer
|
|
140
|
+
requirement: !ruby/object:Gem::Requirement
|
|
141
|
+
requirements:
|
|
142
|
+
- - "~>"
|
|
143
|
+
- !ruby/object:Gem::Version
|
|
144
|
+
version: '0.4'
|
|
145
|
+
type: :runtime
|
|
146
|
+
prerelease: false
|
|
147
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
148
|
+
requirements:
|
|
149
|
+
- - "~>"
|
|
150
|
+
- !ruby/object:Gem::Version
|
|
151
|
+
version: '0.4'
|
|
124
152
|
- !ruby/object:Gem::Dependency
|
|
125
153
|
name: commonmarker
|
|
126
154
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -233,6 +261,20 @@ dependencies:
|
|
|
233
261
|
- - "~>"
|
|
234
262
|
- !ruby/object:Gem::Version
|
|
235
263
|
version: '1.5'
|
|
264
|
+
- !ruby/object:Gem::Dependency
|
|
265
|
+
name: schemagraphy
|
|
266
|
+
requirement: !ruby/object:Gem::Requirement
|
|
267
|
+
requirements:
|
|
268
|
+
- - "~>"
|
|
269
|
+
- !ruby/object:Gem::Version
|
|
270
|
+
version: '0.1'
|
|
271
|
+
type: :runtime
|
|
272
|
+
prerelease: false
|
|
273
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
274
|
+
requirements:
|
|
275
|
+
- - "~>"
|
|
276
|
+
- !ruby/object:Gem::Version
|
|
277
|
+
version: '0.1'
|
|
236
278
|
- !ruby/object:Gem::Dependency
|
|
237
279
|
name: to_regexp
|
|
238
280
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -273,13 +315,13 @@ files:
|
|
|
273
315
|
- build/docs/index.adoc
|
|
274
316
|
- build/docs/landing.adoc
|
|
275
317
|
- build/docs/manpage.adoc
|
|
318
|
+
- build/docs/release-procedure.adoc
|
|
319
|
+
- build/docs/release-procedure.html
|
|
276
320
|
- build/docs/releasehx.1
|
|
277
321
|
- build/docs/releasehx_readme.html
|
|
278
322
|
- build/docs/releases.adoc
|
|
279
323
|
- build/docs/sample-config.adoc
|
|
280
324
|
- build/docs/sample-config.yml
|
|
281
|
-
- build/docs/schemagraphy_readme.html
|
|
282
|
-
- build/docs/sourcerer_readme.html
|
|
283
325
|
- build/snippets/helpscreen.txt
|
|
284
326
|
- lib/docopslab/mcp.rb
|
|
285
327
|
- lib/docopslab/mcp/asset_packager.rb
|
|
@@ -320,11 +362,13 @@ files:
|
|
|
320
362
|
- lib/releasehx/rhyml/mappings/jira.yaml
|
|
321
363
|
- lib/releasehx/rhyml/mappings/verb_past_tenses.yml
|
|
322
364
|
- lib/releasehx/rhyml/release.rb
|
|
365
|
+
- lib/releasehx/rhyml/templates/bootstrap-overrides.css
|
|
323
366
|
- lib/releasehx/rhyml/templates/changelog.adoc.liquid
|
|
324
367
|
- lib/releasehx/rhyml/templates/changelog.html.liquid
|
|
325
368
|
- lib/releasehx/rhyml/templates/changelog.md.liquid
|
|
326
369
|
- lib/releasehx/rhyml/templates/changes-sorter.liquid
|
|
327
370
|
- lib/releasehx/rhyml/templates/config-cascade.liquid
|
|
371
|
+
- lib/releasehx/rhyml/templates/embedded.css.liquid
|
|
328
372
|
- lib/releasehx/rhyml/templates/entry.adoc.liquid
|
|
329
373
|
- lib/releasehx/rhyml/templates/entry.html.liquid
|
|
330
374
|
- lib/releasehx/rhyml/templates/entry.md.liquid
|
|
@@ -359,31 +403,10 @@ files:
|
|
|
359
403
|
- lib/releasehx/rhyml/templates/section-text.liquid
|
|
360
404
|
- lib/releasehx/rhyml/templates/sections.liquid
|
|
361
405
|
- lib/releasehx/rhyml/templates/tags-listing.liquid
|
|
406
|
+
- lib/releasehx/rhyml/templates/wrapper.html.liquid
|
|
362
407
|
- lib/releasehx/sgyml/helpers.rb
|
|
363
408
|
- lib/releasehx/transforms/adf_to_markdown.rb
|
|
364
409
|
- lib/releasehx/version.rb
|
|
365
|
-
- lib/schemagraphy.rb
|
|
366
|
-
- lib/schemagraphy/attribute_resolver.rb
|
|
367
|
-
- lib/schemagraphy/cfgyml/definition.rb
|
|
368
|
-
- lib/schemagraphy/cfgyml/doc_builder.rb
|
|
369
|
-
- lib/schemagraphy/cfgyml/path_reference.rb
|
|
370
|
-
- lib/schemagraphy/data_query/json_pointer.rb
|
|
371
|
-
- lib/schemagraphy/loader.rb
|
|
372
|
-
- lib/schemagraphy/regexp_utils.rb
|
|
373
|
-
- lib/schemagraphy/safe_expression.rb
|
|
374
|
-
- lib/schemagraphy/schema_utils.rb
|
|
375
|
-
- lib/schemagraphy/tag_utils.rb
|
|
376
|
-
- lib/schemagraphy/templating.rb
|
|
377
|
-
- lib/sourcerer.rb
|
|
378
|
-
- lib/sourcerer/builder.rb
|
|
379
|
-
- lib/sourcerer/jekyll.rb
|
|
380
|
-
- lib/sourcerer/jekyll/bootstrapper.rb
|
|
381
|
-
- lib/sourcerer/jekyll/liquid/file_system.rb
|
|
382
|
-
- lib/sourcerer/jekyll/liquid/filters.rb
|
|
383
|
-
- lib/sourcerer/jekyll/liquid/tags.rb
|
|
384
|
-
- lib/sourcerer/jekyll/monkeypatches.rb
|
|
385
|
-
- lib/sourcerer/plaintext_converter.rb
|
|
386
|
-
- lib/sourcerer/templating.rb
|
|
387
410
|
- specs/data/api-client-schema.yaml
|
|
388
411
|
- specs/data/config-def.yml
|
|
389
412
|
- specs/data/mcp-manifest.yml
|
|
File without changes
|