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.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +363 -330
  3. data/build/docs/_config.yml +1 -0
  4. data/build/docs/_release_index.adoc +3 -2
  5. data/build/docs/config-reference.adoc +197 -10
  6. data/build/docs/config-reference.json +56 -7
  7. data/build/docs/index.adoc +315 -59
  8. data/build/docs/landing.adoc +1 -1
  9. data/build/docs/manpage.adoc +2 -2
  10. data/build/docs/release-procedure.adoc +365 -0
  11. data/build/docs/release-procedure.html +87 -0
  12. data/build/docs/releasehx.1 +17 -5
  13. data/build/docs/sample-config.yml +14 -7
  14. data/lib/releasehx/cli.rb +5 -2
  15. data/lib/releasehx/configuration.rb +0 -1
  16. data/lib/releasehx/generated.rb +1 -1
  17. data/lib/releasehx/mcp/assets/agent-config-guide.md +1 -1
  18. data/lib/releasehx/mcp/assets/config-def.yml +122 -6
  19. data/lib/releasehx/mcp/assets/config-reference.adoc +197 -10
  20. data/lib/releasehx/mcp/assets/config-reference.json +56 -7
  21. data/lib/releasehx/mcp/assets/sample-config.yml +14 -7
  22. data/lib/releasehx/mcp/server.rb +0 -1
  23. data/lib/releasehx/ops/enrich_ops.rb +161 -55
  24. data/lib/releasehx/ops/template_ops.rb +1 -1
  25. data/lib/releasehx/rhyml/adapter.rb +0 -3
  26. data/lib/releasehx/rhyml/templates/bootstrap-overrides.css +15 -0
  27. data/lib/releasehx/rhyml/templates/changelog.adoc.liquid +2 -0
  28. data/lib/releasehx/rhyml/templates/changelog.html.liquid +6 -4
  29. data/lib/releasehx/rhyml/templates/changelog.md.liquid +1 -0
  30. data/lib/releasehx/rhyml/templates/embedded.css.liquid +263 -0
  31. data/lib/releasehx/rhyml/templates/entry.adoc.liquid +1 -0
  32. data/lib/releasehx/rhyml/templates/entry.html.liquid +21 -20
  33. data/lib/releasehx/rhyml/templates/entry.md.liquid +15 -21
  34. data/lib/releasehx/rhyml/templates/head-parser.liquid +6 -2
  35. data/lib/releasehx/rhyml/templates/header.liquid +13 -4
  36. data/lib/releasehx/rhyml/templates/history.html.liquid +152 -33
  37. data/lib/releasehx/rhyml/templates/metadata-entry.adoc.liquid +83 -38
  38. data/lib/releasehx/rhyml/templates/metadata-entry.html.liquid +60 -1
  39. data/lib/releasehx/rhyml/templates/metadata-entry.md.liquid +65 -113
  40. data/lib/releasehx/rhyml/templates/metadata-note.adoc.liquid +83 -38
  41. data/lib/releasehx/rhyml/templates/metadata-note.html.liquid +59 -22
  42. data/lib/releasehx/rhyml/templates/metadata-note.md.liquid +68 -23
  43. data/lib/releasehx/rhyml/templates/note.html.liquid +25 -19
  44. data/lib/releasehx/rhyml/templates/note.md.liquid +44 -26
  45. data/lib/releasehx/rhyml/templates/release-notes.adoc.liquid +2 -0
  46. data/lib/releasehx/rhyml/templates/release-notes.html.liquid +6 -4
  47. data/lib/releasehx/rhyml/templates/release-notes.md.liquid +1 -0
  48. data/lib/releasehx/rhyml/templates/release.adoc.liquid +2 -0
  49. data/lib/releasehx/rhyml/templates/release.md.liquid +8 -7
  50. data/lib/releasehx/rhyml/templates/rhyml-change.yaml.liquid +36 -36
  51. data/lib/releasehx/rhyml/templates/wrapper.html.liquid +103 -0
  52. data/lib/releasehx/sgyml/helpers.rb +0 -2
  53. data/lib/releasehx/transforms/adf_to_markdown.rb +1 -1
  54. data/lib/releasehx/version.rb +0 -2
  55. data/lib/releasehx.rb +2 -2
  56. data/specs/data/config-def.yml +122 -6
  57. metadata +48 -25
  58. data/build/docs/schemagraphy_readme.html +0 -0
  59. data/build/docs/sourcerer_readme.html +0 -46
  60. data/lib/schemagraphy/attribute_resolver.rb +0 -48
  61. data/lib/schemagraphy/cfgyml/definition.rb +0 -90
  62. data/lib/schemagraphy/cfgyml/doc_builder.rb +0 -52
  63. data/lib/schemagraphy/cfgyml/path_reference.rb +0 -24
  64. data/lib/schemagraphy/data_query/json_pointer.rb +0 -42
  65. data/lib/schemagraphy/loader.rb +0 -59
  66. data/lib/schemagraphy/regexp_utils.rb +0 -235
  67. data/lib/schemagraphy/safe_expression.rb +0 -189
  68. data/lib/schemagraphy/schema_utils.rb +0 -124
  69. data/lib/schemagraphy/tag_utils.rb +0 -32
  70. data/lib/schemagraphy/templating.rb +0 -104
  71. data/lib/schemagraphy.rb +0 -17
  72. data/lib/sourcerer/builder.rb +0 -120
  73. data/lib/sourcerer/jekyll/bootstrapper.rb +0 -78
  74. data/lib/sourcerer/jekyll/liquid/file_system.rb +0 -74
  75. data/lib/sourcerer/jekyll/liquid/filters.rb +0 -215
  76. data/lib/sourcerer/jekyll/liquid/tags.rb +0 -44
  77. data/lib/sourcerer/jekyll/monkeypatches.rb +0 -73
  78. data/lib/sourcerer/jekyll.rb +0 -26
  79. data/lib/sourcerer/plaintext_converter.rb +0 -75
  80. data/lib/sourcerer/templating.rb +0 -190
  81. data/lib/sourcerer.rb +0 -322
@@ -1,28 +1,60 @@
1
1
  :page-layout: default
2
2
  :page-permalink: /docs/
3
3
  :page-title: ReleaseHx Docs
4
+ :page-permalink: /docs/
5
+ :page-title: ReleaseHx Docs
4
6
  :page-nav_order: 1
5
- [[releasehx]]
6
7
  = ReleaseHx
7
8
  // tag::ai-prompt[]
8
9
  // Collects AsciiDoc content for presenting to a generative AI prompt
9
10
  // Other AI-only prompt matter could go here
10
- // tag::globals[]
11
- :docopslab_git_www: https://github.com/DocOps
12
- :this_prod_slug: releasehx
13
- :releasehx_prod_repo: {docopslab_git_www}/{this_prod_slug}
14
- :releasehx_demo_repo: {docopslab_git_www}/releasehx-demo
15
- :this_prod_repo: {releasehx_prod_repo}
11
+ // tag::global-settings[]
12
+ :this_proj_slug: releasehx
13
+ :this_proj_name: ReleaseHx
14
+ // tag::universal-settings[]
15
+ :docopslab_src_www_url: https://github.com/DocOps
16
+ :docopslab_domain: docopslab.org
17
+ :docopslab_www_url: https://{docopslab_domain}
18
+ :docopslab_io_www_url: https://docopslab.github.io
19
+ :docopslab_ruby_version: 3.2.7
20
+ :docopslab_src_www_url: https://raw.githubusercontent.com/DocOps
21
+ :docopslab_git_src_uri: git@github.com:DocOps
22
+ :this_proj_src_www_url: {docopslab_src_www_url}/{this_proj_slug}
23
+ :this_proj_src_raw_url: https://raw.githubusercontent.com/DocOps/{this_proj_slug}/main
24
+ :this_proj_src_main_files_url: {this_proj_src_www_url}/blob/main
25
+ :this_proj_src_main_edit_url: {this_proj_src_www_url}/edit/main
26
+ :this_proj_src_git_uri: {docopslab_git_src_uri}/{this_proj_slug}.git
27
+ :this_proj_ruby_version: {docopslab_ruby_version}
28
+ // tag::env-settings[]
29
+ :extn:
30
+ ifdef::env-github[]
31
+ :extn: .adoc
32
+ :icons: font
33
+ :caution-caption: :fire:
34
+ :important-caption: :exclamation:
35
+ :note-caption: :paperclip:
36
+ :tip-caption: :bulb:
37
+ :warning-caption: :warning:
38
+ endif::[]
39
+ // end::env-settings[]
40
+ // end::universal-settings[]
41
+ :releasehx_demo_repo: {docopslab_src_www_url}/releasehx-demo
42
+ // tag::product-settings[]
43
+ :this_prod_slug: {this_proj_slug}
44
+ // tag::version-settings[]
16
45
  :this_prod_vrsn_major: 0
17
- :this_prod_vrsn_minor: 1
18
- :this_prod_vrsn_major-minor: {this_prod_vrsn_major}.{this_prod_vrsn_minor}
19
- :this_prod_vrsn_patch: 2
20
- :this_prod_vrsn: {this_prod_vrsn_major-minor}.{this_prod_vrsn_patch}
21
- :next_prod_vrsn: 0.2.0
46
+ :this_prod_vrsn_minor: 2
47
+ :this_prod_vrsn_majmin: {this_prod_vrsn_major}.{this_prod_vrsn_minor}
48
+ :this_prod_vrsn_patch: 0
49
+ :this_prod_vrsn: {this_prod_vrsn_majmin}.{this_prod_vrsn_patch}
50
+ :next_prod_vrsn: 0.3.0
51
+ :next_prod_vrsn_majmin: 0.3
52
+ // end::version-settings[]
22
53
  :tagline: Generate formatted release histories from Jira, GitHub, GitLab, YAML, or JSON sources.
23
54
  :description: pass:q[CLI utility and Ruby API for generating structured release notes and changelog documents from various issue-tracking platforms or YAML definitions into plaintext drafts (*AsciiDoc*, *Markdown*, *YAML*) and rich-text output (*HTML* and *PDF*).]
24
55
  :gem_config_definition_path: ./specs/data/config-def.yml
25
56
  :app_default_config_path: ./.releasehx.yml
57
+ :docker_run_command: docker run -it --rm --user $(id -u):$(id -g) -v $(pwd):/workdir docopslab/{this_prod_slug} rhx
26
58
  // Default configuration values - single source of truth for config-def.yml
27
59
  :default_markup: markdown
28
60
  :default_slug_type: kebab
@@ -46,19 +78,8 @@
46
78
  :draft_source_extensions: {markdown_extensions}, {asciidoc_extensions}, {yaml_extensions}
47
79
  :enrich_file_types: HTML, PDF
48
80
  :enrich_extensions: .html, .pdf
49
- :docker_base_command: docker run -it --rm --user $(id -u):$(id -g) -v $(pwd):/workdir docopslab/releasehx rhx
50
- :this_prod_repo_branch: {this_prod_repo}/tree/release/{this_prod_vrsn_major-minor}
51
- ifdef::env-github[]
52
- :docs_extn: .adoc
53
- :releasehx_www: https://releasehx.docopslab.org
54
- :releasehx_docs_www: {releasehx_www}/docs
55
- :default-config_www: {releasehx_docs_www}/sample-config.html
56
- :this_prod_docs_www: {releasehx_docs_www}
57
- endif::[]
58
- ifndef::env-github[]
59
- :docs_extn:
60
- endif::[]
61
- // end::globals[]
81
+ // end::product-settings[]
82
+ // end::global-settings[]
62
83
  :toc: macro
63
84
  :toclevels: 3
64
85
 
@@ -210,7 +231,7 @@ With Docker installed and running...
210
231
  . Run the `rhx` command.
211
232
  +
212
233
  [.prompt,subs=+attributes]
213
- {docker_base_command}
234
+ {docker_run_command}
214
235
  +
215
236
  This mounts your local directory to be writeable by the Docker container.
216
237
  Everything after `rhx` accepts the standard <<rhx,arguments and options>> of the ReleaseHx utility.
@@ -220,7 +241,7 @@ Everything after `rhx` accepts the standard <<rhx,arguments and options>> of the
220
241
  Optionally alias the base Docker command.
221
242
 
222
243
  [.prompt,subs=+attributes]
223
- alias rhx='{docker_base_command}'
244
+ alias rhx='{docker_run_command}'
224
245
  ====
225
246
 
226
247
  Try the <<demo-setup,demo configs and data>> to get a feel for how ReleaseHx works.
@@ -266,6 +287,7 @@ It does not provide assistance for command-line actions or other configurations
266
287
  For your LLM client (such as Copilot, Claude Code, Codex, Cursor, etc) to interact with this service, it must be configured using a general MCP syntax.
267
288
  This data is usually added to a `mcp.json` file or another object.
268
289
 
290
+ // 1. This block is totally fine
269
291
  Generic MCP config (global gem install)::
270
292
  [source,json]
271
293
  ----
@@ -278,12 +300,12 @@ Generic MCP config (global gem install)::
278
300
  }
279
301
  ----
280
302
 
303
+ // 2. This block looks totally fine
281
304
  Generic MCP config (Docker)::
282
305
  +
283
- --
284
306
  Use the Docker image for maximum compatibility across environments.
285
- This is the **recommended approach** for most users.
286
-
307
+ This is the *recommended approach* for most users.
308
+ +
287
309
  [source,json]
288
310
  ----
289
311
  {
@@ -295,13 +317,11 @@ This is the **recommended approach** for most users.
295
317
  }
296
318
  }
297
319
  ----
298
- --
299
320
 
321
+ // 3. The first line on this block is white instead of blue like a DL term designator should be
300
322
  VS Code MCP configuration (Docker)::
301
- +
302
- --
303
323
  Create or update `~/.config/Code/User/mcp.json` (Linux/Mac) or `%APPDATA%\Code\User\mcp.json` (Windows).
304
-
324
+ +
305
325
  [source,json]
306
326
  ----
307
327
  {
@@ -313,13 +333,11 @@ Create or update `~/.config/Code/User/mcp.json` (Linux/Mac) or `%APPDATA%\Code\U
313
333
  }
314
334
  }
315
335
  ----
316
- --
317
336
 
337
+ // 4.This and all the following blocks are improperly highlighted
318
338
  VS Code MCP configuration (global gem install)::
319
- +
320
- --
321
339
  If you have ReleaseHx installed globally (`gem install releasehx`), you can use this simpler configuration:
322
-
340
+ +
323
341
  [source,json]
324
342
  ----
325
343
  {
@@ -330,7 +348,6 @@ If you have ReleaseHx installed globally (`gem install releasehx`), you can use
330
348
  }
331
349
  }
332
350
  ----
333
- --
334
351
 
335
352
  Local repo MCP config (Bundler + cwd)::
336
353
  [source,json]
@@ -411,9 +428,11 @@ Global gem::
411
428
 
412
429
  If your MCP server isn't working in VS Code or Copilot:
413
430
 
414
- . **Verify Docker image exists**: Run `docker images | grep releasehx` to confirm the image is available.
431
+ . *Verify Docker image exists.*
432
+ Run `docker images | grep releasehx` to confirm the image is available.
415
433
 
416
- . **Test MCP server manually**: Run the following to verify the server responds:
434
+ . *Test MCP server manually.*
435
+ Run the following to verify the server responds:
417
436
  +
418
437
  [.prompt]
419
438
  ----
@@ -422,11 +441,14 @@ echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":
422
441
  +
423
442
  You should see a JSON response with `"serverInfo":{"name":"releasehx-mcp"}`
424
443
 
425
- . **Check VS Code MCP config**: Ensure `~/.config/Code/User/mcp.json` exists and uses the correct command format (see examples above).
444
+ . *Check VS Code MCP config.*
445
+ Ensure `~/.config/Code/User/mcp.json` exists and uses the correct command format (see examples above).
426
446
 
427
- . **Restart VS Code**: After changing `mcp.json`, restart VS Code completely for changes to take effect.
447
+ . *Restart VS Code.*
448
+ After changing `mcp.json`, restart VS Code completely for changes to take effect.
428
449
 
429
- . **Check VS Code logs**: Open Output panel (Ctrl+Shift+U) and look for errors related to MCP or the releasehx server.
450
+ *Check VS Code logs.*
451
+ Open Output panel (kbd:[Ctrl+Shift+U]) and look for errors related to MCP or the releasehx server.
430
452
 
431
453
  [TIP]
432
454
  ====
@@ -1141,6 +1163,203 @@ Templates replace their namesakes built into the ReleaseHx application or API.
1141
1163
  By default, ReleaseHx expects templates to be formatted in link:https://shopify.github.io[Liquid], but it uses the Jekyll-enhanced Liquid 4.
1142
1164
  See <<templating>> for details.
1143
1165
 
1166
+ [[styling-customization]]
1167
+ ==== HTML Styling and CSS Integration
1168
+
1169
+ ReleaseHx provides multiple approaches for customizing the appearance of HTML output through the `history.styling` configuration section.
1170
+
1171
+ [[styling-modes]]
1172
+ ===== Styling Modes
1173
+
1174
+ The `history.styling.mode` property controls how CSS is applied to HTML output:
1175
+
1176
+ `framework` (default)::
1177
+ Uses only the configured CSS framework (Bootstrap, etc.) via CDN links.
1178
+ No additional custom CSS is included.
1179
+ Best for standard, professional appearance with minimal configuration.
1180
+
1181
+ `embedded`::
1182
+ Includes comprehensive CSS directly in the HTML `<style>` block.
1183
+ Generates standalone HTML files that display correctly without external dependencies.
1184
+ Automatically includes framework CSS plus custom theming.
1185
+ Best for distribution and email-friendly HTML.
1186
+
1187
+ `external`::
1188
+ References an external stylesheet via `<link>` tag.
1189
+ Requires `history.styling.css_url` to specify the stylesheet location.
1190
+ Framework CSS is disabled when using external stylesheets.
1191
+ Best for custom branding and when CSS needs to be shared across multiple pages.
1192
+
1193
+ `minimal`::
1194
+ Provides basic semantic styling with minimal inline CSS.
1195
+ No framework dependencies or complex styling.
1196
+ Best for simple, lightweight output or when CSS will be applied by a static site generator.
1197
+
1198
+ [[theme-variants]]
1199
+ ===== Theme Variants
1200
+
1201
+ When using `embedded` or `framework` modes, the `history.styling.theme` property controls spacing and typography:
1202
+
1203
+ `default`::
1204
+ Balanced spacing and typography for general use.
1205
+
1206
+ `compact`::
1207
+ Reduced spacing and condensed layout for information-dense displays.
1208
+ Ideal for internal documentation or when screen space is limited.
1209
+
1210
+ `detailed`::
1211
+ Expanded spacing and enhanced typography for presentation contexts.
1212
+ Includes larger headings and more prominent metadata display.
1213
+
1214
+ [[configuration-examples]]
1215
+ ===== Configuration Examples
1216
+
1217
+ .Framework Mode with Default Theme
1218
+ [source,yaml]
1219
+ ----
1220
+ history:
1221
+ html_framework: bootstrap5
1222
+ styling:
1223
+ mode: framework
1224
+ theme: default
1225
+ ----
1226
+
1227
+ .Embedded CSS with Compact Theme
1228
+ [source,yaml]
1229
+ ----
1230
+ history:
1231
+ html_framework: bootstrap5
1232
+ styling:
1233
+ mode: embedded
1234
+ theme: compact
1235
+ embed_css: true
1236
+ ----
1237
+
1238
+ .External Stylesheet
1239
+ [source,yaml]
1240
+ ----
1241
+ history:
1242
+ styling:
1243
+ mode: external
1244
+ css_url: "assets/custom-releasehx.css"
1245
+ ----
1246
+
1247
+ .Minimal Styling
1248
+ [source,yaml]
1249
+ ----
1250
+ history:
1251
+ styling:
1252
+ mode: minimal
1253
+ ----
1254
+
1255
+ [[custom-css-development]]
1256
+ ===== Custom CSS Development
1257
+
1258
+ When using `external` mode, create a CSS file that targets ReleaseHx's semantic HTML structure:
1259
+
1260
+ .Key CSS Classes and Elements
1261
+ [source,css]
1262
+ ----
1263
+ /* Main containers */
1264
+ .release-history { /* Overall wrapper */ }
1265
+ .release-section { /* Individual release container */ }
1266
+
1267
+ /* Content sections */
1268
+ .changelog-section { /* Changelog entries container */ }
1269
+ .notes-section { /* Release notes container */ }
1270
+
1271
+ /* Individual items */
1272
+ .release-note { /* Individual release note */ }
1273
+ .change-entry { /* Individual changelog entry */ }
1274
+
1275
+ /* Components */
1276
+ .card-header, .card-body, .card-footer { /* Note structure */ }
1277
+ .change-metadata { /* Metadata display container */ }
1278
+ .badge { /* Type/status badges */ }
1279
+ ----
1280
+
1281
+ For a complete example, see the `releasehx-custom.css` file in the https://github.com/DocOps/releasehx-demo[releasehx-demo repository].
1282
+
1283
+ [[css-variables]]
1284
+ ===== CSS Variables for Easy Customization
1285
+
1286
+ ReleaseHx's embedded CSS uses CSS custom properties for easy theming:
1287
+
1288
+ [source,css]
1289
+ ----
1290
+ :root {
1291
+ --release-spacing: 3rem; /* Space between releases */
1292
+ --section-spacing: 2.5rem; /* Space between sections */
1293
+ --item-spacing: 1rem; /* Space between items */
1294
+ --primary-color: #0d6efd; /* Brand primary color */
1295
+ --success-color: #198754; /* Success/changelog color */
1296
+ --info-color: #0dcaf0; /* Info/notes color */
1297
+ }
1298
+ ----
1299
+
1300
+ Override these variables in your external CSS to customize the appearance without rewriting the entire stylesheet.
1301
+
1302
+ [[dark-theme]]
1303
+ ===== Dark Theme Support
1304
+
1305
+ ReleaseHx's embedded CSS includes comprehensive dark theme support that automatically adapts to user preferences:
1306
+
1307
+ Automatic detection::
1308
+ When using `framework: bootstrap5` mode, ReleaseHx includes a detection script that automatically applies dark theme based on system preferences.
1309
+ The script listens for system theme changes and updates the display in real-time.
1310
+
1311
+ CSS custom properties::
1312
+ Dark theme colors are defined using CSS custom properties within a `@media (prefers-color-scheme: dark)` query.
1313
+ All color values automatically invert for dark mode while maintaining proper contrast ratios.
1314
+
1315
+ Manual override::
1316
+ Users can manually toggle dark mode using the `.dark-theme` class on the `<html>` element.
1317
+ This overrides system preferences for explicit theme control.
1318
+
1319
+ .Dark Theme Configuration Example
1320
+ [source,yaml]
1321
+ ----
1322
+ history:
1323
+ html_framework: bootstrap5
1324
+ styling:
1325
+ mode: embedded
1326
+ theme: default
1327
+ ----
1328
+
1329
+ When rendered, the HTML will include:
1330
+
1331
+ * Bootstrap 5 with `data-bs-theme` attribute management
1332
+ * CSS custom properties for both light and dark color schemes
1333
+ * JavaScript to detect and respond to system preference changes
1334
+ * Manual theme toggle capability (if you add UI controls)
1335
+
1336
+ .Dark Theme CSS Variables
1337
+ [source,css]
1338
+ ----
1339
+ @media (prefers-color-scheme: dark) {
1340
+ :root {
1341
+ --bg-color: #1a1a1a;
1342
+ --text-color: #e0e0e0;
1343
+ --border-color: #444;
1344
+ --card-bg: #2d2d2d;
1345
+ --note-bg: #252525;
1346
+ /* Additional dark theme variables */
1347
+ }
1348
+ }
1349
+ ----
1350
+
1351
+ For examples of dark theme in action, see the demo configurations in the {releasehx_demo_repo}[releasehx-demo repository], particularly `github-dark-mode.yml` and `github-bootstrap-dark.yml`.
1352
+
1353
+ [[html-wrapper-control]]
1354
+ ===== HTML Wrapper Control
1355
+
1356
+ To enable HTML wrapper with CSS, use either:
1357
+
1358
+ * Configuration: `modes.html_wrap: true`
1359
+ * CLI flag: `--wrap`
1360
+
1361
+ The wrapper includes proper HTML document structure, meta tags, and CSS framework loading.
1362
+
1144
1363
  [[sourcing-strategy]]
1145
1364
  === Sourcing Strategy
1146
1365
 
@@ -1582,7 +1801,7 @@ Writes to `<output_path>/<file_template>` or `<PATH>`.
1582
1801
  *--wrap, --no-wrap*::
1583
1802
  {cli_option_message_wrap}.
1584
1803
  When enriching to HTML, _include_ (`--wrap`) or _exclude_ (`--no-wrap`) the `<head>` and `<body>` tags and their content.
1585
- For use when the opposite value is set in the config file ([.ppty]*<<conf_ppty_modes_wrapped>>*).
1804
+ For use when the opposite value is set in the config file ([.ppty]*<<conf_ppty_modes_html_wrap>>*).
1586
1805
 
1587
1806
  *--quiet*::
1588
1807
  {cli_option_message_quiet}.
@@ -1724,7 +1943,7 @@ Each item must have a `user` property that matches a username in the Issues syst
1724
1943
  These pertain the to the main configuration file, which is defined specifically for your _application_ of ReleaseHx.
1725
1944
  By default, the application config is found at `{app_default_config_path}.`
1726
1945
 
1727
- The full configuration reference is published at link:{releasehx_docs_www}/config-reference{docs_extn}[].
1946
+ The full configuration reference is published at link:{releasehx_docs_www}/config-reference{extn}[].
1728
1947
 
1729
1948
  [[sample-config]]
1730
1949
  === Sample Application Configurations
@@ -1763,7 +1982,7 @@ If you add a non-standard API, please consider <<contributing,contributing it>>
1763
1982
 
1764
1983
  ReleaseHx connects to all upstream REST APIs via YAML-based client configurations.
1765
1984
 
1766
- For reference, the official configs for the three supported REST APIs are at link:{this_prod_repo}/blob/lib/releasehx/rest/clients/jira.yml[jira.yml], link:{this_prod_repo}/blob/lib/releasehx/rest/clients/github.yml[github.yml], and link:{this_prod_repo}/blob/lib/releasehx/rest/clients/gitlab.yml[gitlab.yml].
1985
+ For reference, the official configs for the three supported REST APIs are at link:{this_proj_src_www_url}/blob/lib/releasehx/rest/clients/jira.yml[jira.yml], link:{this_proj_src_www_url}/blob/lib/releasehx/rest/clients/github.yml[github.yml], and link:{this_proj_src_www_url}/blob/lib/releasehx/rest/clients/gitlab.yml[gitlab.yml].
1767
1986
 
1768
1987
  To override any of these or to add your own, place a file at `.releasehx/rest/clients/<hostslug>.yml`.
1769
1988
  Make sure it conforms to the schema defined in `specs/data/api-client-schema.yaml`.
@@ -1852,9 +2071,9 @@ Most configuration of output (for drafting or enriching), is handled in the main
1852
2071
 
1853
2072
  For reference, the official mapping configs for the three supported REST APIs are at:
1854
2073
 
1855
- * link:{this_prod_repo}/blob/lib/releasehx/rest/mappings/jira.yaml[jira.yaml]
1856
- * link:{this_prod_repo}/blob/lib/releasehx/rest/mappings/github.yaml[github.yaml]
1857
- * link:{this_prod_repo}/blob/lib/releasehx/rest/mappings/gitlab.yaml[gitlab.yaml]
2074
+ * link:{this_proj_src_www_url_files_path}/lib/releasehx/rest/mappings/jira.yaml[jira.yaml]
2075
+ * link:{this_proj_src_www_url_files_path}/lib/releasehx/rest/mappings/github.yaml[github.yaml]
2076
+ * link:{this_proj_src_www_url_files_path}/lib/releasehx/rest/mappings/gitlab.yaml[gitlab.yaml]
1858
2077
 
1859
2078
  To override any of these or to add your own, place a file at `.releasehx/rest/mappings/<hostslug>.yml`.
1860
2079
 
@@ -1967,8 +2186,7 @@ For example, if your GitHub issues use labels like:
1967
2186
  Your ReleaseHx application will need an alternate mapping because the default GitHub mapping expects native `issue_type.name` fields.
1968
2187
 
1969
2188
  An example alternate mapping for label-based GitHub type extraction can be found at:
1970
-
1971
- `link:{releasehx_demo_repo}/blob/main/_mappings_/legacy-labels/github.yaml[releasehx-demo/_mappings_/legacy-labels/github.yaml]`
2189
+ link:{releasehx_demo_repo}/blob/main/_mappings_/legacy-labels/github.yaml[`releasehx-demo/_mappings_/legacy-labels/github.yaml`]
1972
2190
 
1973
2191
  This mapping includes Ruby logic to:
1974
2192
 
@@ -2061,7 +2279,30 @@ The various sample configurations found in the link:{releasehx_demo_repo}/blob/m
2061
2279
 
2062
2280
  A complete link:{default-config_www}[sample config] displays default values and commented descriptions of all available properties.
2063
2281
 
2064
- [[liquid-extensions]]
2282
+ [[template-support]]
2283
+ ==== Template and Theme Support Policy
2284
+
2285
+ The RHYML templates in link:{this_proj_src_www_url_files_path}/lib/releasehx/rhyml/templates/[`lib/releasehx/rhyml/templates/`] are the default templates used for drafting and enriching content.
2286
+
2287
+ Templates filenames formatted like `*.{html,yaml,md,adoc}.liquid` all contain expressive markup intended for output.
2288
+ We will call these files, such as `changelog.adoc.liquid` and `changelog.html.liquid` _expressive templates_.
2289
+
2290
+ All files that are just `<string>.liquid`, such as `changes-sorter.liquid` and `parts-listing.liquid` merely generate data objects and produce express no output to the rendered output.
2291
+ We'll call these _parsing templates_.
2292
+
2293
+ During pre-1.0 releases, changes made to _parsing templates_ will maintain backward compatibility.
2294
+ Deprecations will be announced as early as possible, but we will not change the output of these files except by addition or in the case of a bug, in which case we will change the output to match the documented/expected processing.
2295
+
2296
+ When it comes to _expressive templates_, DocOps Lab intends to make incremental improvements and fine tuning.
2297
+
2298
+ You will always be able to use the templates from a prior version by dropping them into your local custom-templates directory (`_templates/`) by default, but set using {ppty_conf_paths_templates_dir}.
2299
+
2300
+ _After the 1.0 release_, all templates will be kept backward compatible between major releases; so no breaking changes until 2.0, 3.0, etc.
2301
+
2302
+ [NOTE]
2303
+ This is true of the RHYML domain-specific language, as well.
2304
+ We may modify it during pre-1.0 development, but it will be kept backward compatible thereafter.
2305
+
2065
2306
  [[custom-liquid-tags]]
2066
2307
  ==== Custom Liquid Tags
2067
2308
 
@@ -2161,6 +2402,20 @@ Returns a YAML representation of the input for debugging purposes.
2161
2402
  example:::
2162
2403
  `{{ changes | inspect_yaml }}`
2163
2404
 
2405
+ [[jekyll-asciidoc-liquid-filters]]
2406
+ ==== Jekyll/AsciiDoc Liquid Filters
2407
+
2408
+ ReleaseHx supports all link:https://jekyllrb.com/docs/liquid/filters/[filters provided by Jekyll 4.4].
2409
+
2410
+ It also includes all filters provided by the jekyll-asciidoc plugin.
2411
+
2412
+ asciidocify::
2413
+ Uses Asciidoctor API to convert a string of AsciiDoc content to HTML.
2414
+
2415
+ tocify_asciidoc::
2416
+ Generates a table of contents in HTML from the parsed AsciiDoc document of the current page.
2417
+ For use outside the context of a full AsciiDoc document, such as in a sidebar or drop-down ToC.
2418
+
2164
2419
 
2165
2420
  [[troubleshooting]]
2166
2421
  == Troubleshooting
@@ -2305,7 +2560,7 @@ To work with ReleaseHx source, clone both repositories side by side for the most
2305
2560
  . Clone both repositories.
2306
2561
  +
2307
2562
  [.prompt]
2308
- git clone {releasehx_prod_repo}
2563
+ git clone {this_proj_src_www_url}
2309
2564
  git clone {releasehx_demo_repo}
2310
2565
  +
2311
2566
  This will give you `<source_dir>/releasehx` and `<source_dir>/releasehx-demo`, side by side.
@@ -2320,9 +2575,9 @@ From the `releasehx` repository:
2320
2575
  [.prompt]
2321
2576
  cd releasehx
2322
2577
  bundle install
2323
- bundle exec rake build
2578
+ bundle exec rake build:gem
2324
2579
  +
2325
- This creates the gem file in the `pkg/` directory.
2580
+ This operation generates untracked dependencies during a _pre-build_ stage and compiles the gem file in the `pkg/` directory.
2326
2581
 
2327
2582
  . Install the locally built gem for testing.
2328
2583
  +
@@ -2337,7 +2592,7 @@ Alternatively, for development testing without installing:
2337
2592
  . Run the test suite to verify functionality.
2338
2593
  +
2339
2594
  [.prompt]
2340
- bundle exec rake spec
2595
+ bundle exec rake rspec
2341
2596
 
2342
2597
  [[working-with-the-demo-repository]]
2343
2598
  ==== Working with the Demo Repository
@@ -2457,7 +2712,7 @@ To maintain DRY sourcing, make your changes in the following files:
2457
2712
  To build the documentation locally, run the following command from the project root:
2458
2713
 
2459
2714
  [.prompt]
2460
- bundle exec rake docs
2715
+ bundle exec rake build:docs
2461
2716
 
2462
2717
  This will generate the documentation in the `build/docs` directory.
2463
2718
 
@@ -2476,6 +2731,7 @@ Use `PORT=NNNN` environment argument to specify a different port.
2476
2731
  [.prompt]
2477
2732
  PORT=4000 bundle exec rake serve
2478
2733
 
2734
+ [[docopslab-devtool]]
2479
2735
  ==== DocOps Lab Devtool (`docopslab-dev`)
2480
2736
 
2481
2737
  Special dev Rake tasks and libraries are available via the `docopslab-dev` gem.
@@ -2484,7 +2740,7 @@ Special dev Rake tasks and libraries are available via the `docopslab-dev` gem.
2484
2740
  [.prompt]
2485
2741
  bundle exec rake --tasks | grep labdev:
2486
2742
 
2487
- The link:{docopslab_git_www}/lab/tree/main/gems/docopslab-dev/README.adoc[DocOps Lab Devtool] or see `.agent/docs/topics/docpslab-devtool`.
2743
+ The link:{docopslab_src_www_url}/lab/tree/main/gems/docopslab-dev/README.adoc[DocOps Lab Devtool] or see `.agent/docs/topics/docpslab-devtool`.
2488
2744
 
2489
2745
  // tag::releasehx-api[]
2490
2746
  [[issue-data-mapping]]
@@ -25,4 +25,4 @@
25
25
  </div>
26
26
  ++++
27
27
 
28
- include::index.adoc[tags="globals,intro,features-list"]
28
+ include::index.adoc[tags="global-settings,intro,features-list"]
@@ -4,7 +4,7 @@
4
4
  :manpage:
5
5
  :man-linkstyle: pass:[blue R < >]
6
6
  :toc: macro
7
- include::../README.adoc[tags="globals,helpscreen_attrs"]
7
+ include::../README.adoc[tags="global-settings,helpscreen_attrs"]
8
8
 
9
9
 
10
10
  [[name]]
@@ -12,7 +12,7 @@ include::../README.adoc[tags="globals,helpscreen_attrs"]
12
12
 
13
13
  releasehx - {tagline}
14
14
 
15
- *Tip:* Type `q` to exit this page.
15
+ TIP: Type `q` to exit this page.
16
16
 
17
17
 
18
18
  [[aliases]]