markdownator 0.1.2 → 0.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ef75f03777f577049069b98fee3104ee31f7ad3d4cece96f3cc78052db648f6e
4
- data.tar.gz: '047778687f87ca470f627d082e7653c17999c8981f7c579512eed0c8a31cb9fa'
3
+ metadata.gz: f3bb73d9071265c3e01fa7103402c07a8a7ebbcf48e765d52e81af03c5214279
4
+ data.tar.gz: 2a62788cffbb31953bdf6a9026da04fc6b34a2d96cf8b1c66ea7bf999e9409ce
5
5
  SHA512:
6
- metadata.gz: e3ce45e8c1f63c4f374aa475a27c3a567846423005caafa8999e136531139a36695fd180d806dcd5e49d1a5414b7a372d6a448f3c1bccb49d5868c13ae2e3870
7
- data.tar.gz: ef73a6ccac7125b16fd8838a88f56be01c8fa555b39887963e8a79170c34428c21f20ac7fea867af06c6aa3410114ad01619f804ed3f1333669596bd656aed2c
6
+ metadata.gz: 806ca5e6247cdd8a3dc0d38d5c976c58adb40cfa5da9670df5c2f91fd0caec8fa73876dbbc77b7a27eb95ae1a275ed749c6c3ab239cb2067dcedf1eacd592738
7
+ data.tar.gz: 839c22421473002fd50a838a474bca86fcf3506e42fe5d742ccd444954f286babd993ba023043fc8087bf6733cbf70bddce79bcd45f1cd0f6bf1e6ba88ff89cf
data/CHANGELOG.md CHANGED
@@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.1.3] - 2026-06-13
11
+
12
+ ### Changed
13
+
14
+ - `nokogiri`, `rubyzip`, `pdf-reader`, and `exifr` are now runtime dependencies,
15
+ so every supported format works out of the box instead of requiring callers to
16
+ install the format gems themselves.
17
+
10
18
  ## [0.1.2] - 2026-06-13
11
19
 
12
20
  ### Changed
@@ -39,7 +47,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
39
47
  dependencies.
40
48
  - Pluggable LLM image-captioner hook (off by default).
41
49
 
42
- [Unreleased]: https://github.com/alexrupom/markdownator/compare/v0.1.2...HEAD
50
+ [Unreleased]: https://github.com/alexrupom/markdownator/compare/v0.1.3...HEAD
51
+ [0.1.3]: https://github.com/alexrupom/markdownator/compare/v0.1.2...v0.1.3
43
52
  [0.1.2]: https://github.com/alexrupom/markdownator/compare/v0.1.1...v0.1.2
44
53
  [0.1.1]: https://github.com/alexrupom/markdownator/compare/v0.1.0...v0.1.1
45
54
  [0.1.0]: https://github.com/alexrupom/markdownator/releases/tag/v0.1.0
data/Gemfile CHANGED
@@ -5,16 +5,11 @@ source "https://rubygems.org"
5
5
  # Specify your gem's dependencies in markdownator.gemspec
6
6
  gemspec
7
7
 
8
- gem "rake", "~> 13.0"
9
-
10
- gem "rspec", "~> 3.0"
11
-
12
- gem "rubocop", "~> 1.21"
13
-
14
- # Optional format libraries, declared here so the test suite can exercise every
15
- # converter. Applications install only the ones for the formats they use; the
16
- # gem itself requires them lazily and never depends on them at runtime.
17
- gem "exifr", "~> 1.3"
18
- gem "nokogiri", "~> 1.15"
19
- gem "pdf-reader", "~> 2.12"
20
- gem "rubyzip", "~> 2.3"
8
+ # The format libraries are runtime dependencies declared in the gemspec.
9
+
10
+ # Development and test tooling.
11
+ group :development, :test do
12
+ gem "rake", "~> 13.0"
13
+ gem "rspec", "~> 3.0"
14
+ gem "rubocop", "~> 1.21"
15
+ end
data/README.md CHANGED
@@ -3,16 +3,16 @@
3
3
  Convert files into clean, LLM-friendly **Markdown**. Point Markdownator at a PDF,
4
4
  Office document, web page, archive, or image and get Markdown back.
5
5
 
6
- It uses a pluggable converter-registry architecture and loads heavy format
7
- libraries **lazily**, so you only install the gems for the formats you actually use.
6
+ It uses a pluggable converter-registry architecture, and ships with everything it
7
+ needs every supported format works out of the box.
8
8
 
9
9
  ## Supported formats
10
10
 
11
- | Format | Extensions | Extra gem required |
12
- |--------|------------|--------------------|
13
- | Plain text / Markdown | `.txt`, `.md` | (built in) |
14
- | CSV | `.csv` | (built in) |
15
- | JSON | `.json` | (built in) |
11
+ | Format | Extensions | Backed by |
12
+ |--------|------------|-----------|
13
+ | Plain text / Markdown | `.txt`, `.md` | stdlib |
14
+ | CSV | `.csv` | stdlib |
15
+ | JSON | `.json` | stdlib |
16
16
  | HTML | `.html`, `.htm` | `nokogiri` |
17
17
  | XML | `.xml` | `nokogiri` |
18
18
  | Word | `.docx` | `rubyzip`, `nokogiri` |
@@ -21,10 +21,10 @@ libraries **lazily**, so you only install the gems for the formats you actually
21
21
  | PDF | `.pdf` | `pdf-reader` |
22
22
  | EPUB | `.epub` | `rubyzip`, `nokogiri` |
23
23
  | ZIP (recurses) | `.zip` | `rubyzip` |
24
- | Images (metadata) | `.jpg`, `.png`, `.tiff`, … | `exifr` (for EXIF) |
24
+ | Images (metadata) | `.jpg`, `.png`, `.tiff`, … | `exifr` |
25
25
 
26
- If a required gem is missing, the converter raises `Markdownator::MissingDependencyError`
27
- telling you exactly what to add to your `Gemfile`.
26
+ These libraries (`nokogiri`, `rubyzip`, `pdf-reader`, `exifr`) are runtime
27
+ dependencies, so they are installed with the gem automatically.
28
28
 
29
29
  ## Installation
30
30
 
@@ -32,13 +32,10 @@ telling you exactly what to add to your `Gemfile`.
32
32
  gem "markdownator"
33
33
  ```
34
34
 
35
- Then add the gems for the formats you need, e.g.:
35
+ or:
36
36
 
37
- ```ruby
38
- gem "pdf-reader" # PDF
39
- gem "rubyzip" # DOCX, XLSX, PPTX, EPUB, ZIP
40
- gem "nokogiri" # HTML, XML, DOCX, XLSX, PPTX, EPUB
41
- gem "exifr" # image EXIF
37
+ ```sh
38
+ gem install markdownator
42
39
  ```
43
40
 
44
41
  ## Usage
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Markdownator
4
- VERSION = "0.1.2"
4
+ VERSION = "0.1.3"
5
5
  end
data/markdownator.gemspec CHANGED
@@ -32,8 +32,9 @@ Gem::Specification.new do |spec|
32
32
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
33
33
  spec.require_paths = ["lib"]
34
34
 
35
- # Heavy format gems are intentionally NOT runtime dependencies. Each converter
36
- # requires its gem lazily and raises a helpful error if it is missing, so apps
37
- # install only what they need. The gems used to exercise every format in the
38
- # test suite are declared as development dependencies in the Gemfile.
35
+ # Format libraries used by the converters.
36
+ spec.add_dependency "exifr", "~> 1.3" # image metadata
37
+ spec.add_dependency "nokogiri", "~> 1.15" # HTML, XML, DOCX, XLSX, PPTX, EPUB
38
+ spec.add_dependency "pdf-reader", "~> 2.12" # PDF
39
+ spec.add_dependency "rubyzip", "~> 2.3" # DOCX, XLSX, PPTX, EPUB, ZIP
39
40
  end
metadata CHANGED
@@ -1,15 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: markdownator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - alexrupom
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-06-13 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2026-06-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: exifr
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: nokogiri
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.15'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.15'
41
+ - !ruby/object:Gem::Dependency
42
+ name: pdf-reader
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.12'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.12'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubyzip
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.3'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.3'
13
69
  description: Markdownator converts PDF, Word, Excel, PowerPoint, EPUB, HTML, CSV,
14
70
  JSON, XML, ZIP archives and images into clean Markdown suitable for large language
15
71
  models, using a pluggable converter architecture.