carve-hexapdf 0.1.0 → 0.1.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -1
- data/README.md +40 -4
- data/lib/carve/hexapdf/version.rb +1 -1
- metadata +9 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d9b8c7c6b8002f3587048d1711e0901a180e4f41a85778a2e4654f7daaeed9da
|
|
4
|
+
data.tar.gz: 6da20e9768485a0afe3aa2b71a73bb670a155a7adfb9e30d593bedead5db5632
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 41deae43d68f4996a26a2e2ccae432550bb730877b82a164b5203fe3020e14e515e85d0261ff25a603c92bc7cc1957c2494c8ac7cf9b2c4174eed686f8b639c3
|
|
7
|
+
data.tar.gz: 3256a05ce59a8b4071df645e1df3690d3d9ee56c00d4f588f543330cf756c50e689c97aa39026db77e0caa1ac8f095b993fc57990dea20fecbb04d98fa838438
|
data/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,21 @@ All notable changes to this project are documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## Unreleased
|
|
9
|
+
|
|
10
|
+
## [0.1.1] - 2026-08-27
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- The development pin moves to released `carve-lang` 0.1.2, so the suite covers
|
|
15
|
+
the current embedded engine and output surface. The supported consumer range
|
|
16
|
+
remains `>= 0.1.1, < 0.2.0`: 0.1.1 still satisfies this renderer's API and
|
|
17
|
+
security requirements. On the engine's own 0.x scheme `0.1` is the major and the third digit
|
|
18
|
+
the minor, so the previous open range admitted, by the engine's own rules, a
|
|
19
|
+
release declared breaking - and this gem reads an AST whose node vocabulary
|
|
20
|
+
was already renamed once inside 0.1
|
|
21
|
+
([#26](https://github.com/markup-carve/carve-hexapdf/issues/26)).
|
|
22
|
+
|
|
8
23
|
## [0.1.0] - 2026-08-19
|
|
9
24
|
|
|
10
25
|
### Added
|
|
@@ -38,7 +53,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
38
53
|
URLs show alt text, raw HTML and comments are dropped; the renderer never
|
|
39
54
|
raises.
|
|
40
55
|
|
|
41
|
-
[Unreleased]: https://github.com/markup-carve/carve-hexapdf/compare/v0.1.
|
|
56
|
+
[Unreleased]: https://github.com/markup-carve/carve-hexapdf/compare/v0.1.1...HEAD
|
|
57
|
+
[0.1.1]: https://github.com/markup-carve/carve-hexapdf/compare/v0.1.0...v0.1.1
|
|
42
58
|
[0.1.0]: https://github.com/markup-carve/carve-hexapdf/releases/tag/v0.1.0
|
|
43
59
|
|
|
44
60
|
- **Composite figures render as one grouped float.** A bare `::: figure`
|
data/README.md
CHANGED
|
@@ -215,6 +215,46 @@ always produces a PDF:
|
|
|
215
215
|
fetching. Local files and `data:` URIs are embedded.
|
|
216
216
|
- **Raw HTML** blocks/inlines and **comments** are dropped.
|
|
217
217
|
|
|
218
|
+
## Development
|
|
219
|
+
|
|
220
|
+
```sh
|
|
221
|
+
bundle install
|
|
222
|
+
bundle exec rake test
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### Which engine you are testing against
|
|
226
|
+
|
|
227
|
+
`bundle install` here does **not** resolve `carve-lang` from RubyGems. `Gemfile`
|
|
228
|
+
pins the engine to a carve-rb revision, so a development run measures one exact
|
|
229
|
+
engine build rather than whatever the registry serves that day:
|
|
230
|
+
|
|
231
|
+
```sh
|
|
232
|
+
bundle exec ruby script/verify_engine_pin.rb
|
|
233
|
+
# carve-lang 0.1.2 from carve-rb b7f3a91a... (Gemfile pins b7f3a91a4192)
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
CI runs that before the suite and refuses when the Gemfile, the resolved bundle
|
|
237
|
+
and the loaded library disagree. To develop against a local carve-rb checkout,
|
|
238
|
+
point `CARVE_RB_PATH` at it - it has to be set on purpose, so the surprising
|
|
239
|
+
resolution is the one you asked for:
|
|
240
|
+
|
|
241
|
+
```sh
|
|
242
|
+
CARVE_RB_PATH=../carve-rb bundle install
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
An installed copy of this gem resolves differently, through the range
|
|
246
|
+
`carve-hexapdf.gemspec` declares - today `>= 0.1.1, < 0.2.0`. The two are
|
|
247
|
+
deliberately not the same engine, and the difference is not academic: this gem
|
|
248
|
+
reads an AST whose node vocabulary was renamed once already inside 0.1.
|
|
249
|
+
`test/engine_floor_test.rb` asks whether the engine under `bundle exec rake
|
|
250
|
+
test` still publishes the vocabulary the renderer maps, and
|
|
251
|
+
`script/consumer_engine_probe.rb` asks the same of an actual `gem install` -
|
|
252
|
+
daily in `Engine drift`, and again before every release.
|
|
253
|
+
|
|
254
|
+
There is no committed `Gemfile.lock`, and that is deliberate; the reasoning,
|
|
255
|
+
including why a lockfile would be a weaker pin here and what it would cost the
|
|
256
|
+
Ruby 3.1 job, is at the top of `Gemfile`.
|
|
257
|
+
|
|
218
258
|
## Licensing
|
|
219
259
|
|
|
220
260
|
This gem is **MIT** licensed. However, **HexaPDF is dual-licensed AGPL-3.0 /
|
|
@@ -224,7 +264,3 @@ application) or hold a
|
|
|
224
264
|
[HexaPDF commercial license](https://hexapdf.gettalong.org/#pricing). This gem
|
|
225
265
|
only bridges Carve to HexaPDF; your use of HexaPDF is governed by HexaPDF's own
|
|
226
266
|
terms.
|
|
227
|
-
|
|
228
|
-
## License
|
|
229
|
-
|
|
230
|
-
MIT, markup-carve. See [LICENSE](LICENSE).
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: carve-hexapdf
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- markup-carve
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-09-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: carve-lang
|
|
@@ -17,6 +17,9 @@ dependencies:
|
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
19
|
version: 0.1.1
|
|
20
|
+
- - "<"
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: 0.2.0
|
|
20
23
|
type: :runtime
|
|
21
24
|
prerelease: false
|
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -24,6 +27,9 @@ dependencies:
|
|
|
24
27
|
- - ">="
|
|
25
28
|
- !ruby/object:Gem::Version
|
|
26
29
|
version: 0.1.1
|
|
30
|
+
- - "<"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: 0.2.0
|
|
27
33
|
- !ruby/object:Gem::Dependency
|
|
28
34
|
name: hexapdf
|
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -107,7 +113,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
107
113
|
- !ruby/object:Gem::Version
|
|
108
114
|
version: '0'
|
|
109
115
|
requirements: []
|
|
110
|
-
rubygems_version: 3.4.
|
|
116
|
+
rubygems_version: 3.4.19
|
|
111
117
|
signing_key:
|
|
112
118
|
specification_version: 4
|
|
113
119
|
summary: Render the Carve markup language to PDF via the pure-Ruby HexaPDF engine.
|