Release/0.2#43
Merged
Merged
Conversation
Summary 1. Added configurable HTML wrapping and styling support with Bootstrap and theming. 2. Refined HTML/Liquid templates for richer metadata and markdown/asciidoc note rendering. 3. Introduced conversion engine selection and updated dependencies/filters. 4. Updated configuration, CLI behavior, and documentation; added template tests. Details 1. HTML wrapping and styling: - New wrapper (layout) template with framework selection (bootstrap4/5 or bare). - Styling modes: framework, embedded, external, and minimal, plus theme variants and dark-mode handling. - Embedded CSS template with CSS variables, responsive design, and print styles. 2. Template refinements: - HTML entry/note templates updated for semantic HTML5 with Bootstrap 5 components. - Markdown/AsciiDoc note rendering standardized via `markdownify`/`asciidocify`. - Metadata templates reworked to show types, parts, tags, links, and note indicators consistently. 3. Conversion engines and filters: - Engine selection for HTML/PDF with intelligent defaults (html5s for AsciiDoc, kramdown for Markdown). - New `asciidoctor-html5s` dependency added. - Jekyll and jekyll-asciidoc filters registered for Liquid rendering. 4. Config/CLI/docs/tests: - BREAKING: Renamed `modes.wrapped` to `modes.html_wrap`. - BREAKING: `conversions.engine` replaced by `conversions.engines.html` / `conversions.engines.pdf`. - BREAKING: Swapped default `notes.spot` and `changelog.spot` (Changelog now appears first). - Config schema expanded with `history.html_framework` and `history.styling.*` options. - New template system tests (templates_spec.rb) and ~190 lines of README documentation. - Release procedure guide added (docs/agent/release-procedure.md). 5. Bug fixes: - Adapter now reads canonical `conversions.note` property (was `note_source`). - Adapter spec updated to match config-def.yml schema. Resolves Issue #38.
- Changed adapter to read conversions.note instead of sources.note_source - Fixed note_pattern default: made .* non-greedy (.*?) to prevent consuming entire document - Fixed note_pattern grouping: wrapped alternation so \n+ applies to both heading formats - Added backward-compatible fallback to note_source (legacy) - Updated tests to verify note extraction - Set note to nil when pattern doesn't match (enables empty_notes policy) Fixes #28
- Enhanced SchemaGraphy::RegexpUtils.parse_pattern to detect and parse /pattern/flags syntax - Extracts flags (gmi) and removes 'g' flag (not supported in Ruby) - Maintains backward compatibility with plain string patterns - Enables standard regex notation in YAML config files Fixes #32
- Created .config/releasehx.yml for dog-fooding ReleaseHx's own releases
- Added Rake tasks: rhx:draft, :adoc, :append, etc for release management
- Set up docs/release/ directory structure for drafts, payloads, templates
- Configured parts (cli, api, docs, mcp, templates) and types (bug, feature, enhancement)
- Added release index at docs/releases.adoc with navigation and history
- Integrated with Jekyll docs site via _config.yml (release collection)
- Added custom SCSS styling for .release-note blocks (purple border, subtle background)
- Updated .gitignore to exclude docs/release/{drafts,payloads}/ directories
- Generated complete 0.1.2 release document with 4 changes (1 feature, 3 fixes)
Implements #30
- Simplified entry templates to show only summary + optional NOTE link - Simplified note templates to use single open block format with .release-note class - Removed complex metadata framing (open/sidebar/example blocks) - Fixed adapter to preserve original content on RegexpError (don't lose data due to bad config) - Updated adapter tests to properly test note extraction with Release Notes header - Corrected GitHub mapping: type.name instead of issue_type.name, added downcasing - Updated config default: "Component" instead of "Part" for better terminology Fixes #36
- Set baseurl to / and use explicit /docs/ prefixes in permalinks - Landing page at /, main docs at /docs/ - API docs at /docs/api/, releases at /docs/releases/ - Update YARD output to build/docs/docs/api/ - Fix YARD index files: rename _index.html to index.html - Add jekyll/, payloads/, release/, yard/ to exclude list - Add jekyll-redirect-from plugin for old URL redirects - Add config-reference.adoc front matter generation to build script - Remove unused docs/Gemfile.lock and FontAwesome includes - Add redirect_from to moved pages
- Excuse some files from Vale linting - RuboCop autocorrection of Gemfile, *.rb files - Explicit ID for README.adoc section
…42) - Remove embedded lib/schemagraphy/ (now a gem dependency) - Add path dep to Gemfile: gem 'schemagraphy' (currently "path: '../schemagraphy'") - Add runtime dep to gemspec: spec.add_dependency 'schemagraphy' - Update all embedded schemagraphy requires to use gem version - Update lib/sourcerer.rb re-exporter to use gem schemagraphy Note: Path dependency on unreleased schemagraphy gem is intentional for development. Before releasehx 0.2.0 release, schemagraphy 0.1.0 must be published to rubygems.org so the ~> 0.1 gemspec dependency can resolve. All 171 tests passing.
…lves #43) - Replace require_relative 'sourcerer' with require 'asciisourcerer' - Remove lib/sourcerer/ embedded copy (all 9 files) - Add asciisourcerer ~> 0.4 to gemspec runtime deps - Remove redundant require from lib/releasehx/version.rb - Update Rakefile prebuild: require gems instead of relative path - Fix manpage.adoc include tag: globals -> global-settings
- Replace gem:// URI expansion with resolve_gem_uri helper in Rakefile - sourcerer.yml template: fields now use gem:// URIs pointing into schemagraphy gem; resolved at build time, not inside asciisourcerer - Use Sourcerer::Rendering.render_outputs and Sourcerer::AsciiDoc .generate_manpage (direct namespace, no deprecation warnings) - Add consistent progress reporting to all prebuild steps from task body - cfgyml_spec: update template_paths assertion for renamed cfgyml/templates/
When using --mapping with a custom mapping file, the CLI was pre-extracting the 'issues' array from JSON payloads before passing to the adapter. However, custom mappings define their own changes_array_path, so they expect the full payload structure. This fix checks if --mapping is specified and skips the pre-extraction when a custom mapping is provided, allowing the mapping to handle the extraction. Fixes Jira description mapping errors and enables all custom mapping patterns.
Removes automatic module discovery since Sourcerer and SchemaGraphy are removed, no longer need API docs generated Removes static Markdown file in favor of AsciiDoc source, adds auto- conversion to the prebuild script.
Rename tasks for consistency across all repos: - buildx -> build:image, prebundle -> build:gem, build alias removed - install_local -> install:local - cli_test -> test:cli, yaml_test -> test:yaml, mcp_test -> test:mcp - readme_test -> test:readme, pr_test -> test:pr - docs -> build:docs - rhx:adoc -> rhx:publish Update all references in CI workflows, docs, and scripts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.