yaml-converter 0.1.0 → 0.2.1

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.
data/README.md CHANGED
@@ -1,46 +1,10 @@
1
- | 📍 NOTE |
2
- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------|
3
- | RubyGems (the [GitHub org][rubygems-org], not the website) [suffered][draper-security] a [hostile takeover][ellen-takeover] in September 2025. |
4
- | Ultimately [4 maintainers][simi-removed] were [hard removed][martin-removed] and a reason has been given for only 1 of those, while 2 others resigned in protest. |
5
- | It is a [complicated story][draper-takeover] which is difficult to [parse quickly][draper-lies]. |
6
- | I'm adding notes like this to gems because I [don't condone theft][draper-theft] of repositories or gems from their rightful owners. |
7
- | If a similar theft happened with my repos/gems, I'd hope some would stand up for me. |
8
- | Disenfranchised former-maintainers have started [gem.coop][gem-coop]. |
9
- | Once available I will publish there exclusively; unless RubyCentral makes amends with the community. |
10
- | The ["Technology for Humans: Joel Draper"][reinteractive-podcast] podcast episode by [reinteractive][reinteractive] is the most cogent summary I'm aware of. |
11
- | See [here][gem-naming], [here][gem-coop] and [here][martin-ann] for more info on what comes next. |
12
- | What I'm doing: A (WIP) proposal for [bundler/gem scopes][gem-scopes], and a (WIP) proposal for a federated [gem server][gem-server]. |
13
-
14
- [rubygems-org]: https://github.com/rubygems/
15
- [draper-security]: https://joel.drapper.me/p/ruby-central-security-measures/
16
- [draper-takeover]: https://joel.drapper.me/p/ruby-central-takeover/
17
- [ellen-takeover]: https://pup-e.com/blog/goodbye-rubygems/
18
- [simi-removed]: https://www.reddit.com/r/ruby/s/gOk42POCaV
19
- [martin-removed]: https://bsky.app/profile/martinemde.com/post/3m3occezxxs2q
20
- [draper-lies]: https://joel.drapper.me/p/ruby-central-fact-check/
21
- [draper-theft]: https://joel.drapper.me/p/ruby-central/
22
- [reinteractive]: https://reinteractive.com/ruby-on-rails
23
- [gem-coop]: https://gem.coop
24
- [gem-naming]: https://github.com/gem-coop/gem.coop/issues/12
25
- [martin-ann]: https://martinemde.com/2025/10/05/announcing-gem-coop.html
26
- [gem-scopes]: https://github.com/galtzo-floss/bundle-namespace
27
- [gem-server]: https://github.com/galtzo-floss/gem-server
28
- [reinteractive-podcast]: https://youtu.be/_H4qbtC5qzU?si=BvuBU90R2wAqD2E6
29
-
30
- [![Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0][🖼️galtzo-i]][🖼️galtzo-discord] [![ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5][🖼️ruby-lang-i]][🖼️ruby-lang] [![yaml-converter Logo by Aboling0, CC BY-SA 4.0][🖼️yaml-converter-i]][🖼️yaml-converter]
31
-
32
- [🖼️galtzo-i]: https://logos.galtzo.com/assets/images/galtzo-floss/avatar-192px.svg
33
- [🖼️galtzo-discord]: https://discord.gg/3qme4XHNKN
34
- [🖼️ruby-lang-i]: https://logos.galtzo.com/assets/images/ruby-lang/avatar-192px.svg
35
- [🖼️ruby-lang]: https://www.ruby-lang.org/
36
- [🖼️yaml-converter-i]: https://logos.galtzo.com/assets/images/galtzo-floss/yaml-converter/avatar-192px.svg
37
- [🖼️yaml-converter]: https://github.com/galtzo-floss/yaml-converter
1
+ <a href="https://github.com/galtzo-floss"><img alt="galtzo-floss Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/galtzo-floss/avatar-128px.svg" width="14%" align="right"/></a>
38
2
 
39
3
  # 🥨 Yaml::Converter
40
4
 
41
- [![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license-ref] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![Open Source Helpers][👽oss-helpi]][👽oss-help] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] [![QLTY Maintainability][🏀qlty-mnti]][🏀qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Supported][🚎6-s-wfi]][🚎6-s-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![CodeQL][🖐codeQL-img]][🖐codeQL] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]
5
+ [![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] [![QLTY Maintainability][🏀qlty-mnti]][🏀qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]
42
6
 
43
- `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][🖼️galtzo-discord], as I may have missed the [discord notification][🖼️galtzo-discord].
7
+ `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][✉️discord-invite], as I may have missed the [discord notification][✉️discord-invite].
44
8
 
45
9
  ---
46
10
 
@@ -48,7 +12,14 @@
48
12
 
49
13
  [![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate at ko-fi.com][🖇kofi-img]][🖇kofi]
50
14
 
51
- ## 🌻 Synopsis
15
+ <details>
16
+ <summary>👣 How will this project approach the September 2025 hostile takeover of RubyGems? 🚑️</summary>
17
+
18
+ I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo).
19
+
20
+ </details>
21
+
22
+ ## 🌻 Synopsis <a href="https://discord.gg/3qme4XHNKN"><img alt="Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/galtzo-floss/avatar-128px.svg" width="8%" align="right"/></a> <a href="https://ruby-toolbox.com"><img alt="ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5" src="https://logos.galtzo.com/assets/images/ruby-lang/avatar-128px.svg" width="8%" align="right"/></a>
52
23
 
53
24
  Transform annotated YAML blueprints into human-friendly documentation. This gem:
54
25
 
@@ -56,7 +27,7 @@ Transform annotated YAML blueprints into human-friendly documentation. This gem:
56
27
  - Injects a validation status line with date (deterministic via current_date option)
57
28
  - Extracts inline `#note:` annotations into readable blockquotes (or PDF note sections)
58
29
  - Truncates overly long YAML lines (configurable)
59
- - Emits Markdown, HTML, PDF (native Prawn), DOCX/PDF/other via pandoc
30
+ - Emits Markdown, HTML, PDF (native HexaPDF), DOCX/PDF/other via pandoc
60
31
 
61
32
  Ideal for design documents stored as YAML, making them consumable in multiple formats.
62
33
 
@@ -65,42 +36,47 @@ Ideal for design documents stored as YAML, making them consumable in multiple fo
65
36
  Alternatives (none in Ruby, send a PR if you know of one):
66
37
 
67
38
  - [yaml2rst](https://pypi.org/project/yaml2rst) (Python, GPLv3+)
68
- - [yaml2doc](https://github.com/ted-dunstone/yaml2doc) (Python, [commercial license](https://github.com/ted-dunstone/yaml2doc/blob/master/licence.txt), not FOSS, but also [accidentally(?) left in](https://github.com/ted-dunstone/yaml2doc/issues/1#issuecomment-3507567579) the GPLv3 LICENSE)
39
+ - [yaml2doc](https://github.com/ted-dunstone/yaml2doc) (Python, [GPLv3](https://github.com/ted-dunstone/yaml2doc/blob/master/LICENSE))
69
40
 
70
41
  ## 💡 Info you can shake a stick at
71
42
 
72
- | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
43
+ | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
73
44
  |-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
74
- | Works with JRuby | [![JRuby 10.0 Compat][💎jruby-c-i]][🚎11-c-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf] |
75
- | Works with Truffle Ruby | [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎9-t-wf] [![Truffle Ruby 24.1 Compat][💎truby-c-i]][🚎11-c-wf] |
76
- | Works with MRI Ruby 3 | [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎6-s-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎6-s-wf] [![Ruby 3.4 Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf] |
77
- | Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] |
78
- | Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
79
- | Documentation | [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![YARD on Galtzo.com][📜docs-head-rd-img]][🚎yard-head] [![Maintainer Blog][🚂maint-blog-img]][🚂maint-blog] [![GitLab Wiki][📜gl-wiki-img]][📜gl-wiki] [![GitHub Wiki][📜gh-wiki-img]][📜gh-wiki] |
80
- | Compliance | [![License: MIT][📄license-img]][📄license-ref] [![Compatible with Apache Software Projects: Verified by SkyWalking Eyes][📄license-compat-img]][📄license-compat] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] |
81
- | Style | [![Enforced Code Style Linter][💎rlts-img]][💎rlts] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] [![Gitmoji Commits][📌gitmoji-img]][📌gitmoji] [![Compatibility appraised by: appraisal2][💎appraisal2-img]][💎appraisal2] |
82
- | Maintainer 🎖️ | [![Follow Me on LinkedIn][💖🖇linkedin-img]][💖🖇linkedin] [![Follow Me on Ruby.Social][💖🐘ruby-mast-img]][💖🐘ruby-mast] [![Follow Me on Bluesky][💖🦋bluesky-img]][💖🦋bluesky] [![Contact Maintainer][🚂maint-contact-img]][🚂maint-contact] [![My technical writing][💖💁🏼‍♂️devto-img]][💖💁🏼‍♂️devto] |
83
- | `...` 💖 | [![Find Me on WellFound:][💖✌️wellfound-img]][💖✌️wellfound] [![Find Me on CrunchBase][💖💲crunchbase-img]][💖💲crunchbase] [![My LinkTree][💖🌳linktree-img]][💖🌳linktree] [![More About Me][💖💁🏼‍♂️aboutme-img]][💖💁🏼‍♂️aboutme] [🧊][💖🧊berg] [🐙][💖🐙hub] [🛖][💖🛖hut] [🧪][💖🧪lab] |
45
+ | Works with JRuby | [![JRuby current Compat][💎jruby-c-i]][🚎10-j-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf]|
46
+ | Works with Truffle Ruby | [![Truffle Ruby 24.2 Compat][💎truby-24.2i]][🚎truby-24.2-wf] [![Truffle Ruby 25.0 Compat][💎truby-25.0i]][🚎truby-25.0-wf] [![Truffle Ruby current Compat][💎truby-c-i]][🚎9-t-wf]|
47
+ | Works with MRI Ruby 4 | [![Ruby 4.0 Compat][💎ruby-4.0i]][🚎11-c-wf] [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
48
+ | Works with MRI Ruby 3 | [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎ruby-3.2-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎ruby-3.3-wf] [![Ruby 3.4 Compat][💎ruby-3.4i]][🚎ruby-3.4-wf]|
49
+ | Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] |
50
+ | Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
51
+ | Documentation | [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![YARD on Galtzo.com][📜docs-head-rd-img]][🚎yard-head] [![Maintainer Blog][🚂maint-blog-img]][🚂maint-blog] [![GitLab Wiki][📜gl-wiki-img]][📜gl-wiki] [![GitHub Wiki][📜gh-wiki-img]][📜gh-wiki] |
52
+ | Compliance | [![License: MIT][📄license-img]][📄license] [![Apache license compatibility: Category A][📄license-compat-img]][📄license-compat] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] |
53
+ | Style | [![Enforced Code Style Linter][💎rlts-img]][💎rlts] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] [![Gitmoji Commits][📌gitmoji-img]][📌gitmoji] [![Compatibility appraised by: appraisal2][💎appraisal2-img]][💎appraisal2] |
54
+ | Maintainer 🎖️ | [![Follow Me on LinkedIn][💖🖇linkedin-img]][💖🖇linkedin] [![Follow Me on Ruby.Social][💖🐘ruby-mast-img]][💖🐘ruby-mast] [![Follow Me on Bluesky][💖🦋bluesky-img]][💖🦋bluesky] [![Contact Maintainer][🚂maint-contact-img]][🚂maint-contact] [![My technical writing][💖💁🏼‍♂️devto-img]][💖💁🏼‍♂️devto] |
55
+ | `...` 💖 | [![Find Me on WellFound:][💖✌️wellfound-img]][💖✌️wellfound] [![Find Me on CrunchBase][💖💲crunchbase-img]][💖💲crunchbase] [![My LinkTree][💖🌳linktree-img]][💖🌳linktree] [![More About Me][💖💁🏼‍♂️aboutme-img]][💖💁🏼‍♂️aboutme] [🧊][💖🧊berg] [🐙][💖🐙hub] [🛖][💖🛖hut] [🧪][💖🧪lab] |
84
56
 
85
57
  ### Compatibility
86
58
 
87
59
  Compatible with MRI Ruby 3.2.0+, and concordant releases of JRuby, and TruffleRuby.
60
+ CI workflows and Appraisals are generated for MRI Ruby 3.2.0+.
61
+ This test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and
62
+ may be higher than the gem's runtime compatibility floor when legacy Rubies are
63
+ not practical for the current toolchain.
88
64
 
89
- | 🚚 _Amazing_ test matrix was brought to you by | 🔎 appraisal2 🔎 and the color 💚 green 💚 |
65
+ | 🚚 _Amazing_ test matrix was brought to you by | 🔎 appraisal2 🔎 and the color 💚 green 💚 |
90
66
  |------------------------------------------------|--------------------------------------------------------|
91
- | 👟 Check it out! | ✨ [github.com/appraisal-rb/appraisal2][💎appraisal2] ✨ |
67
+ | 👟 Check it out! | ✨ [github.com/appraisal-rb/appraisal2][💎appraisal2] ✨ |
92
68
 
93
69
  ### Federated DVCS
94
70
 
95
71
  <details markdown="1">
96
- <summary>Find this repo on federated forges</summary>
72
+ <summary>Find this repo on federated forges (Coming soon!)</summary>
97
73
 
98
- | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
99
- |--------------------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
100
- | 🧪 [galtzo-floss/yaml-converter on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix | ➖ |
101
- | 🧊 [galtzo-floss/yaml-converter on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
102
- | 🐙 [galtzo-floss/yaml-converter on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix | [💚][gh-discussions] |
103
- | 🎮️ [Discord Server][✉️discord-invite] | [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] | [Let's][✉️discord-invite] | [talk][✉️discord-invite] | [about][✉️discord-invite] | [this][✉️discord-invite] | [library!][✉️discord-invite] |
74
+ | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
75
+ |-------------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
76
+ | 🧪 [galtzo-floss/yaml-converter on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix | ➖ |
77
+ | 🧊 [galtzo-floss/yaml-converter on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
78
+ | 🐙 [galtzo-floss/yaml-converter on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix | [💚][gh-discussions] |
79
+ | 🎮️ [Discord Server][✉️discord-invite] | [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] | [Let's][✉️discord-invite] | [talk][✉️discord-invite] | [about][✉️discord-invite] | [this][✉️discord-invite] | [library!][✉️discord-invite] |
104
80
 
105
81
  </details>
106
82
 
@@ -111,7 +87,7 @@ Compatible with MRI Ruby 3.2.0+, and concordant releases of JRuby, and TruffleRu
111
87
  Available as part of the Tidelift Subscription.
112
88
 
113
89
  <details markdown="1">
114
- <summary>Need enterprise-level guarantees?</summary>
90
+ <summary>Need enterprise-level guarantees?</summary>
115
91
 
116
92
  The maintainers of this and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source packages you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact packages you use.
117
93
 
@@ -143,41 +119,6 @@ If bundler is not being used to manage dependencies, install the gem by executin
143
119
  gem install yaml-converter
144
120
  ```
145
121
 
146
- ### 🔒 Secure Installation
147
-
148
- <details markdown="1">
149
- <summary>For Medium or High Security Installations</summary>
150
-
151
- This gem is cryptographically signed, and has verifiable [SHA-256 and SHA-512][💎SHA_checksums] checksums by
152
- [stone_checksums][💎stone_checksums]. Be sure the gem you install hasn’t been tampered with
153
- by following the instructions below.
154
-
155
- Add my public key (if you haven’t already, expires 2045-04-29) as a trusted certificate:
156
-
157
- ```console
158
- gem cert --add <(curl -Ls https://raw.github.com/galtzo-floss/certs/main/pboling.pem)
159
- ```
160
-
161
- You only need to do that once. Then proceed to install with:
162
-
163
- ```console
164
- gem install yaml-converter -P HighSecurity
165
- ```
166
-
167
- The `HighSecurity` trust profile will verify signed gems, and not allow the installation of unsigned dependencies.
168
-
169
- If you want to up your security game full-time:
170
-
171
- ```console
172
- bundle config set --global trust-policy MediumSecurity
173
- ```
174
-
175
- `MediumSecurity` instead of `HighSecurity` is necessary if not all the gems you use are signed.
176
-
177
- NOTE: Be prepared to track down certs for signed gems and add them the same way you added mine.
178
-
179
- </details>
180
-
181
122
  ## ⚙️ Configuration
182
123
 
183
124
  Pass options via API, CLI flags, or ENV variables.
@@ -214,7 +155,7 @@ Inject `current_date:` in `options` or stub time for tests; the state machine us
214
155
 
215
156
  - Markdown (.md)
216
157
  - HTML (.html) via kramdown
217
- - PDF (.pdf) native (Prawn) or via pandoc when `use_pandoc: true`
158
+ - PDF (.pdf) native (HexaPDF) or via pandoc when `use_pandoc: true`
218
159
  - DOCX (.docx) via pandoc (auto-detects pandoc path)
219
160
  - Other pandoc-supported formats (set output extension + `--use-pandoc`)
220
161
 
@@ -270,12 +211,14 @@ Yaml::Converter.to_markdown(yaml_str, options: {emit_footer: false})
270
211
  For very large YAML files, enable streaming to keep memory usage low. Streaming processes the input line-by-line and writes Markdown incrementally while preserving identical output to non-streaming mode.
271
212
 
272
213
  How it works:
214
+
273
215
  - Same parsing and state machine logic as non-streaming
274
216
  - Injects validation status if `validate` is enabled
275
217
  - Closes YAML fences correctly even at EOF
276
218
  - Appends standard footer when enabled
277
219
 
278
220
  When streaming is used:
221
+
279
222
  - Streaming is applied only to direct `.md` outputs. Other formats still render via an intermediate Markdown string.
280
223
  - The output is intended to be byte-for-byte equivalent to the non-streaming path (see tests).
281
224
 
@@ -288,14 +231,14 @@ require "yaml/converter"
288
231
  Yaml::Converter.convert(
289
232
  input_path: "big.yaml",
290
233
  output_path: "big.md",
291
- options: {streaming: true, validate: true},
234
+ options: {streaming: true, validate: true}
292
235
  )
293
236
 
294
237
  # Auto-stream based on file size threshold (bytes)
295
238
  Yaml::Converter.convert(
296
239
  input_path: "maybe_big.yaml",
297
240
  output_path: "maybe_big.md",
298
- options: {streaming_threshold_bytes: 10_000_000}, # 10 MB (default is 5 MB)
241
+ options: {streaming_threshold_bytes: 10_000_000} # 10 MB (default is 5 MB)
299
242
  )
300
243
  ```
301
244
 
@@ -337,12 +280,13 @@ File.open("big.md", "w") do |io|
337
280
  Yaml::Converter.to_markdown_streaming(
338
281
  "big.yaml",
339
282
  io,
340
- options: {validate: true}, # same options as non-streaming
283
+ options: {validate: true} # same options as non-streaming
341
284
  )
342
285
  end
343
286
  ```
344
287
 
345
288
  Notes:
289
+
346
290
  - For `.html`, `.pdf`, `.docx` (and other pandoc-driven formats), the implementation first produces a full Markdown string, so streaming is not applied to those outputs.
347
291
  - If the destination file already exists, you’ll see: "Overwriting existing file" (suppress with `KETTLE_TEST_SILENT=true`).
348
292
 
@@ -364,7 +308,7 @@ Convert directly to a file (extension decides behavior):
364
308
  Yaml::Converter.convert(
365
309
  input_path: "spec/fixtures/example.yaml",
366
310
  output_path: "doc/example.html",
367
- options: {validate: true},
311
+ options: {validate: true}
368
312
  )
369
313
  ```
370
314
 
@@ -377,18 +321,18 @@ Yaml::Converter.to_markdown(yaml_str, options: {current_date: Date.new(2025, 11,
377
321
  Native PDF vs pandoc PDF:
378
322
 
379
323
  ```ruby
380
- # Native PDF using Prawn
324
+ # Native PDF using HexaPDF
381
325
  Yaml::Converter.convert(
382
326
  input_path: "blueprint.yaml",
383
327
  output_path: "blueprint.pdf",
384
- options: {use_pandoc: false, pdf_two_column_notes: true},
328
+ options: {use_pandoc: false, pdf_two_column_notes: true}
385
329
  )
386
330
 
387
331
  # PDF via pandoc (requires pandoc in PATH)
388
332
  Yaml::Converter.convert(
389
333
  input_path: "blueprint.yaml",
390
334
  output_path: "blueprint.pdf",
391
- options: {use_pandoc: true, pandoc_args: ["-N", "--toc"]},
335
+ options: {use_pandoc: true, pandoc_args: ["-N", "--toc"]}
392
336
  )
393
337
  ```
394
338
 
@@ -398,7 +342,7 @@ DOCX via pandoc:
398
342
  Yaml::Converter.convert(
399
343
  input_path: "blueprint.yaml",
400
344
  output_path: "blueprint.docx",
401
- options: {},
345
+ options: {}
402
346
  )
403
347
  ```
404
348
 
@@ -432,8 +376,8 @@ While galtzo-floss tools are free software and will always be, the project would
432
376
  Raising a monthly budget of... "dollars" would make the project more sustainable.
433
377
 
434
378
  We welcome both individual and corporate sponsors! We also offer a
435
- wide array of funding channels to account for your preferences
436
- (although currently [Open Collective][🖇osc] is our preferred funding platform).
379
+ wide array of funding channels to account for your preferences.
380
+ Currently, [Open Collective][🖇osc] is our preferred funding platform.
437
381
 
438
382
  **If you're working in a company that's making significant use of galtzo-floss tools we'd
439
383
  appreciate it if you suggest to your company to become a galtzo-floss sponsor.**
@@ -445,7 +389,7 @@ You can support the development of galtzo-floss tools via
445
389
  [Open Collective][🖇osc]
446
390
  and [Tidelift][🏙️entsup-tidelift].
447
391
 
448
- | 📍 NOTE |
392
+ | 📍 NOTE |
449
393
  |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
450
394
  | If doing a sponsorship in the form of donation is problematic for your company <br/> from an accounting standpoint, we'd recommend the use of Tidelift, <br/> where you can get a support-like subscription instead. |
451
395
 
@@ -473,7 +417,7 @@ No sponsors yet. Be the first!
473
417
 
474
418
  ### Another way to support open-source
475
419
 
476
- I’m driven by a passion to foster a thriving open-source community – a space where people can tackle complex problems, no matter how small. Revitalizing libraries that have fallen into disrepair, and building new libraries focused on solving real-world challenges, are my passions. I was recently affected by layoffs, and the tech jobs market is unwelcoming. I’m reaching out here because your support would significantly aid my efforts to provide for my family, and my farm (11 🐔 chickens, 2 🐶 dogs, 3 🐰 rabbits, 8 🐈‍ cats).
420
+ I’m driven by a passion to foster a thriving open-source community – a space where people can tackle complex problems, no matter how small. Revitalizing libraries that have fallen into disrepair, and building new libraries focused on solving real-world challenges, are my passions. I was recently affected by layoffs, and the tech jobs market is unwelcoming. I’m reaching out here because your support would significantly aid my efforts to provide for my family, and my farm (11 🐔 chickens, 2 🐶 dogs, 3 🐰 rabbits, 8 🐈‍ cats).
477
421
 
478
422
  If you work at a company that uses my work, please encourage them to support me as a corporate sponsor. My work on gems you use might show up in `bundle fund`.
479
423
 
@@ -490,7 +434,7 @@ See [SECURITY.md][🔐security].
490
434
  ## 🤝 Contributing
491
435
 
492
436
  If you need some ideas of where to help, you could work on adding more code coverage,
493
- or if it is already 💯 (see [below](#code-coverage)) check [reek](REEK), [issues][🤝gh-issues], or [PRs][🤝gh-pulls],
437
+ or if it is already 💯 (see [below](#code-coverage)) check [issues][🤝gh-issues] or [PRs][🤝gh-pulls],
494
438
  or use the gem and think about how it could be better.
495
439
 
496
440
  We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
@@ -503,12 +447,17 @@ See [CONTRIBUTING.md][🤝contributing].
503
447
 
504
448
  ### Code Coverage
505
449
 
450
+ <details markdown="1">
451
+ <summary>Coverage service badges</summary>
452
+
506
453
  [![Coverage Graph][🏀codecov-g]][🏀codecov]
507
454
 
508
455
  [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls]
509
456
 
510
457
  [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov]
511
458
 
459
+ </details>
460
+
512
461
  ### 🪇 Code of Conduct
513
462
 
514
463
  Everyone interacting with this project's codebases, issue trackers,
@@ -523,13 +472,13 @@ Made with [contributors-img][🖐contrib-rocks].
523
472
  Also see GitLab Contributors: [https://gitlab.com/galtzo-floss/yaml-converter/-/graphs/main][🚎contributors-gl]
524
473
 
525
474
  <details>
526
- <summary>⭐️ Star History</summary>
475
+ <summary>⭐️ Star History</summary>
527
476
 
528
- <a href="https://star-history.com/#galtzo-floss/yaml-converter&Date">
477
+ <a href="https://star-history.com/galtzo-floss/yaml-converter&Date">
529
478
  <picture>
530
- <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=galtzo-floss/yaml-converter&type=Date&theme=dark" />
531
- <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=galtzo-floss/yaml-converter&type=Date" />
532
- <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=galtzo-floss/yaml-converter&type=Date" />
479
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=galtzo-floss/yaml-converter&type=Date&theme=dark" />
480
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=galtzo-floss/yaml-converter&type=Date" />
481
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=galtzo-floss/yaml-converter&type=Date" />
533
482
  </picture>
534
483
  </a>
535
484
 
@@ -537,31 +486,20 @@ Also see GitLab Contributors: [https://gitlab.com/galtzo-floss/yaml-converter/-/
537
486
 
538
487
  ## 📌 Versioning
539
488
 
540
- This Library adheres to [![Semantic Versioning 2.0.0][📌semver-img]][📌semver].
541
- Violations of this scheme should be reported as bugs.
542
- Specifically, if a minor or patch version is released that breaks backward compatibility,
543
- a new version should be immediately released that restores compatibility.
544
- Breaking changes to the public API will only be introduced with new major versions.
545
-
546
- > dropping support for a platform is both obviously and objectively a breaking change <br/>
547
- >—Jordan Harband ([@ljharb](https://github.com/ljharb), maintainer of SemVer) [in SemVer issue 716][📌semver-breaking]
548
-
549
- I understand that policy doesn't work universally ("exceptions to every rule!"),
550
- but it is the policy here.
551
- As such, in many cases it is good to specify a dependency on this library using
552
- the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
489
+ This library follows [![Semantic Versioning 2.0.0][📌semver-img]][📌semver] for its public API where practical.
490
+ For most applications, prefer the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
553
491
 
554
492
  For example:
555
493
 
556
494
  ```ruby
557
- spec.add_dependency("yaml-converter", "~> 0.1")
495
+ spec.add_dependency("yaml-converter", "~> 0.0")
558
496
  ```
559
497
 
560
498
  <details markdown="1">
561
499
  <summary>📌 Is "Platform Support" part of the public API? More details inside.</summary>
562
500
 
563
- SemVer should, IMO, but doesn't explicitly, say that dropping support for specific Platforms
564
- is a *breaking change* to an API, and for that reason the bike shedding is endless.
501
+ Dropping support for a platform can be a breaking change for affected users.
502
+ If a release changes supported platforms, it should be called out clearly in the changelog and versioned with that impact in mind.
565
503
 
566
504
  To get a better understanding of how SemVer is intended to work over a project's lifetime,
567
505
  read this article from the creator of SemVer:
@@ -575,22 +513,18 @@ See [CHANGELOG.md][📌changelog] for a list of releases.
575
513
  ## 📄 License
576
514
 
577
515
  The gem is available as open source under the terms of
578
- the [MIT License][📄license] [![License: MIT][📄license-img]][📄license-ref].
579
- See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright-notice-explainer].
516
+ the [MIT](MIT.md) [![License: MIT][📄license-img]][📄license-ref].
580
517
 
581
518
  ### © Copyright
582
519
 
583
- <ul>
584
- <li>
585
- Copyright (c) 2025 Peter H. Boling, of
586
- <a href="https://discord.gg/3qme4XHNKN">
587
- Galtzo.com
588
- <picture>
589
- <img src="https://logos.galtzo.com/assets/images/galtzo-floss/avatar-128px-blank.svg" alt="Galtzo.com Logo (Wordless) by Aboling0, CC BY-SA 4.0" width="24">
590
- </picture>
591
- </a>, and yaml-converter contributors.
592
- </li>
593
- </ul>
520
+ See [LICENSE.md][📄license] for the official copyright notice.
521
+
522
+ <details markdown="1">
523
+ <summary>Copyright holders</summary>
524
+
525
+ - Copyright (c) 2025-2026 Peter H. Boling
526
+
527
+ </details>
594
528
 
595
529
  ## 🤑 A request for help
596
530
 
@@ -611,6 +545,8 @@ To say "thanks!" ☝️ Join the Discord or 👇️ send money.
611
545
 
612
546
  ### Please give the project a star ⭐ ♥.
613
547
 
548
+ Many parts of this project are actively managed by a [kettle-jem](https://github.com/structuredmerge/structuredmerge-ruby/tree/main/gems/kettle-jem) smart template utilizing [StructuredMerge.org](https://structuredmerge.org) merge contracts.
549
+
614
550
  Thanks for RTFM. ☺️
615
551
 
616
552
  [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
@@ -633,7 +569,7 @@ Thanks for RTFM. ☺️
633
569
  [🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
634
570
  [🖇polar]: https://polar.sh/pboling
635
571
  [🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
636
- [🖇kofi]: https://ko-fi.com/O5O86SNP4
572
+ [🖇kofi]: https://ko-fi.com/pboling
637
573
  [🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
638
574
  [🖇patreon]: https://patreon.com/galtzo
639
575
  [🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
@@ -655,13 +591,13 @@ Thanks for RTFM. ☺️
655
591
  [⛳️gem-name]: https://bestgems.org/gems/yaml-converter
656
592
  [⛳️name-img]: https://img.shields.io/badge/name-yaml--converter-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
657
593
  [⛳️tag-img]: https://img.shields.io/github/tag/galtzo-floss/yaml-converter.svg
658
- [⛳️tag]: http://github.com/galtzo-floss/yaml-converter/releases
594
+ [⛳️tag]: https://github.com/galtzo-floss/yaml-converter/releases
659
595
  [🚂maint-blog]: http://www.railsbling.com/tags/yaml-converter
660
596
  [🚂maint-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
661
597
  [🚂maint-contact]: http://www.railsbling.com/contact
662
598
  [🚂maint-contact-img]: https://img.shields.io/badge/Contact-Maintainer-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
663
599
  [💖🖇linkedin]: http://www.linkedin.com/in/peterboling
664
- [💖🖇linkedin-img]: https://img.shields.io/badge/PeterBoling-LinkedIn-0B66C2?style=flat&logo=newjapanprowrestling
600
+ [💖🖇linkedin-img]: https://img.shields.io/badge/LinkedIn-Profile-0B66C2?style=flat&logo=newjapanprowrestling
665
601
  [💖✌️wellfound]: https://wellfound.com/u/peter-boling
666
602
  [💖✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=flat&logo=wellfound
667
603
  [💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling
@@ -690,7 +626,7 @@ Thanks for RTFM. ☺️
690
626
  [💁🏼‍♂️peterboling]: http://www.peterboling.com
691
627
  [🚂railsbling]: http://www.railsbling.com
692
628
  [📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
693
- [📜src-gl]: https://gitlab.com/galtzo-floss/yaml-converter/
629
+ [📜src-gl]: https://gitlab.com/galtzo-floss/yaml-converter
694
630
  [📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
695
631
  [📜src-cb]: https://codeberg.org/galtzo-floss/yaml-converter
696
632
  [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=Github&logoColor=green
@@ -699,12 +635,10 @@ Thanks for RTFM. ☺️
699
635
  [📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
700
636
  [📜gl-wiki]: https://gitlab.com/galtzo-floss/yaml-converter/-/wikis/home
701
637
  [📜gh-wiki]: https://github.com/galtzo-floss/yaml-converter/wiki
702
- [📜gl-wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
703
- [📜gh-wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
638
+ [📜gl-wiki-img]: https://img.shields.io/badge/wiki-gitlab-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
639
+ [📜gh-wiki-img]: https://img.shields.io/badge/wiki-github-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
704
640
  [👽dl-rank]: https://bestgems.org/gems/yaml-converter
705
641
  [👽dl-ranki]: https://img.shields.io/gem/rd/yaml-converter.svg
706
- [👽oss-help]: https://www.codetriage.com/galtzo-floss/yaml-converter
707
- [👽oss-helpi]: https://www.codetriage.com/galtzo-floss/yaml-converter/badges/users.svg
708
642
  [👽version]: https://bestgems.org/gems/yaml-converter
709
643
  [👽versioni]: https://img.shields.io/gem/v/yaml-converter.svg
710
644
  [🏀qlty-mnt]: https://qlty.sh/gh/galtzo-floss/projects/yaml-converter
@@ -715,24 +649,17 @@ Thanks for RTFM. ☺️
715
649
  [🏀codecovi]: https://codecov.io/gh/galtzo-floss/yaml-converter/graph/badge.svg
716
650
  [🏀coveralls]: https://coveralls.io/github/galtzo-floss/yaml-converter?branch=main
717
651
  [🏀coveralls-img]: https://coveralls.io/repos/github/galtzo-floss/yaml-converter/badge.svg?branch=main
718
- [🖐codeQL]: https://github.com/galtzo-floss/yaml-converter/security/code-scanning
719
- [🖐codeQL-img]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/codeql-analysis.yml/badge.svg
720
- [🚎1-an-wf]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/ancient.yml
721
- [🚎1-an-wfi]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/ancient.yml/badge.svg
652
+ [🚎ruby-3.2-wf]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/ruby-3.2.yml
653
+ [🚎ruby-3.3-wf]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/ruby-3.3.yml
654
+ [🚎ruby-3.4-wf]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/ruby-3.4.yml
655
+ [🚎truby-24.2-wf]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/truffleruby-24.2.yml
656
+ [🚎truby-25.0-wf]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/truffleruby-25.0.yml
722
657
  [🚎2-cov-wf]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/coverage.yml
723
658
  [🚎2-cov-wfi]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/coverage.yml/badge.svg
724
659
  [🚎3-hd-wf]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/heads.yml
725
660
  [🚎3-hd-wfi]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/heads.yml/badge.svg
726
- [🚎4-lg-wf]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/legacy.yml
727
- [🚎4-lg-wfi]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/legacy.yml/badge.svg
728
661
  [🚎5-st-wf]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/style.yml
729
662
  [🚎5-st-wfi]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/style.yml/badge.svg
730
- [🚎6-s-wf]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/supported.yml
731
- [🚎6-s-wfi]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/supported.yml/badge.svg
732
- [🚎7-us-wf]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/unsupported.yml
733
- [🚎7-us-wfi]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/unsupported.yml/badge.svg
734
- [🚎8-ho-wf]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/hoary.yml
735
- [🚎8-ho-wfi]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/hoary.yml/badge.svg
736
663
  [🚎9-t-wf]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/truffle.yml
737
664
  [🚎9-t-wfi]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/truffle.yml/badge.svg
738
665
  [🚎10-j-wf]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/jruby.yml
@@ -749,17 +676,13 @@ Thanks for RTFM. ☺️
749
676
  [🚎15-🪪-wfi]: https://github.com/galtzo-floss/yaml-converter/actions/workflows/license-eye.yml/badge.svg
750
677
  [💎ruby-3.2i]: https://img.shields.io/badge/Ruby-3.2-CC342D?style=for-the-badge&logo=ruby&logoColor=white
751
678
  [💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
679
+ [💎ruby-3.4i]: https://img.shields.io/badge/Ruby-3.4-CC342D?style=for-the-badge&logo=ruby&logoColor=white
680
+ [💎ruby-4.0i]: https://img.shields.io/badge/Ruby-4.0-CC342D?style=for-the-badge&logo=ruby&logoColor=white
752
681
  [💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
753
682
  [💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
754
- [💎truby-22.3i]: https://img.shields.io/badge/Truffle_Ruby-22.3_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=pink
755
- [💎truby-23.0i]: https://img.shields.io/badge/Truffle_Ruby-23.0_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=pink
756
- [💎truby-23.1i]: https://img.shields.io/badge/Truffle_Ruby-23.1-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
683
+ [💎truby-24.2i]: https://img.shields.io/badge/Truffle_Ruby-24.2-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
684
+ [💎truby-25.0i]: https://img.shields.io/badge/Truffle_Ruby-25.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
757
685
  [💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
758
- [💎truby-headi]: https://img.shields.io/badge/Truffle_Ruby-HEAD-34BCB1?style=for-the-badge&logo=ruby&logoColor=blue
759
- [💎jruby-9.1i]: https://img.shields.io/badge/JRuby-9.1_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=red
760
- [💎jruby-9.2i]: https://img.shields.io/badge/JRuby-9.2_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=red
761
- [💎jruby-9.3i]: https://img.shields.io/badge/JRuby-9.3_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=red
762
- [💎jruby-9.4i]: https://img.shields.io/badge/JRuby-9.4-FBE742?style=for-the-badge&logo=ruby&logoColor=red
763
686
  [💎jruby-c-i]: https://img.shields.io/badge/JRuby-current-FBE742?style=for-the-badge&logo=ruby&logoColor=green
764
687
  [💎jruby-headi]: https://img.shields.io/badge/JRuby-HEAD-FBE742?style=for-the-badge&logo=ruby&logoColor=blue
765
688
  [🤝gh-issues]: https://github.com/galtzo-floss/yaml-converter/issues
@@ -769,34 +692,35 @@ Thanks for RTFM. ☺️
769
692
  [🤝cb-issues]: https://codeberg.org/galtzo-floss/yaml-converter/issues
770
693
  [🤝cb-pulls]: https://codeberg.org/galtzo-floss/yaml-converter/pulls
771
694
  [🤝cb-donate]: https://donate.codeberg.org/
772
- [🤝contributing]: CONTRIBUTING.md
773
- [🏀codecov-g]: https://codecov.io/gh/galtzo-floss/yaml-converter/graphs/tree.svg
695
+ [🤝contributing]: https://github.com/galtzo-floss/yaml-converter/blob/main/CONTRIBUTING.md
696
+ [🏀codecov-g]: https://codecov.io/gh/galtzo-floss/yaml-converter/graph/badge.svg
774
697
  [🖐contrib-rocks]: https://contrib.rocks
775
698
  [🖐contributors]: https://github.com/galtzo-floss/yaml-converter/graphs/contributors
776
699
  [🖐contributors-img]: https://contrib.rocks/image?repo=galtzo-floss/yaml-converter
777
700
  [🚎contributors-gl]: https://gitlab.com/galtzo-floss/yaml-converter/-/graphs/main
778
- [🪇conduct]: CODE_OF_CONDUCT.md
701
+ [🪇conduct]: https://github.com/galtzo-floss/yaml-converter/blob/main/CODE_OF_CONDUCT.md
779
702
  [🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-259D6C.svg
780
703
  [📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
781
704
  [📌semver]: https://semver.org/spec/v2.0.0.html
782
705
  [📌semver-img]: https://img.shields.io/badge/semver-2.0.0-259D6C.svg?style=flat
783
706
  [📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
784
707
  [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
785
- [📌changelog]: CHANGELOG.md
708
+ [📌changelog]: https://github.com/galtzo-floss/yaml-converter/blob/main/CHANGELOG.md
786
709
  [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
787
710
  [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
788
711
  [📌gitmoji]: https://gitmoji.dev
789
712
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
790
713
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
791
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.423-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
792
- [🔐security]: SECURITY.md
714
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.479-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
715
+ [🔐security]: https://github.com/galtzo-floss/yaml-converter/blob/main/SECURITY.md
793
716
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
794
717
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
795
- [📄license]: LICENSE.txt
796
- [📄license-ref]: https://opensource.org/licenses/MIT
718
+ [📄license]: LICENSE.md
719
+ [📄license-ref]: MIT.md
797
720
  [📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
798
- [📄license-compat]: https://dev.to/galtzo/how-to-check-license-compatibility-41h0
721
+ [📄license-compat]: https://www.apache.org/legal/resolved.html#category-a
799
722
  [📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat&logo=Apache
723
+
800
724
  [📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
801
725
  [📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
802
726
  [🚎yard-current]: http://rubydoc.info/gems/yaml-converter
@@ -808,3 +732,14 @@ Thanks for RTFM. ☺️
808
732
  [💎appraisal2]: https://github.com/appraisal-rb/appraisal2
809
733
  [💎appraisal2-img]: https://img.shields.io/badge/appraised_by-appraisal2-34495e.svg?plastic&logo=ruby&logoColor=white
810
734
  [💎d-in-dvcs]: https://railsbling.com/posts/dvcs/put_the_d_in_dvcs/
735
+
736
+ <!-- kettle-jem:metadata:start -->
737
+ | Field | Value |
738
+ |---|---|
739
+ | Package | yaml-converter |
740
+ | Description | 🥨 yaml-converter parses YAML files (with inline #note: annotations and validation markers) and emits polished Markdown, HTML, and PDF/DOCX (via pandoc) outputs including a validation status line, fenced YAML blocks, and extracted notes. |
741
+ | Homepage | https://github.com/galtzo-floss/yaml-converter |
742
+ | Source | https://github.com/galtzo-floss/yaml-converter/tree/v0.2.0 |
743
+ | License | `MIT` |
744
+ | Funding | https://github.com/sponsors/pboling, https://issuehunt.io/u/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/galtzo-floss, https://patreon.com/galtzo, https://polar.sh/pboling, https://thanks.dev/u/gh/pboling, https://tidelift.com/funding/github/rubygems/yaml-converter, https://www.buymeacoffee.com/pboling |
745
+ <!-- kettle-jem:metadata:end -->