gento 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.
data/lib/gento.rb ADDED
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "gento/version"
4
+ require_relative "gento/errors"
5
+ require_relative "gento/charset"
6
+ require_relative "gento/entities"
7
+ require_relative "gento/html"
8
+ require_relative "gento/response"
9
+ require_relative "gento/fetcher"
10
+ require_relative "gento/robots"
11
+ require_relative "gento/robots_fetcher"
12
+ require_relative "gento/slide"
13
+ require_relative "gento/deck"
14
+ require_relative "gento/adapters/base"
15
+ require_relative "gento/adapters/speaker_deck"
16
+ require_relative "gento/adapters/slide_share"
17
+ require_relative "gento/adapters/docswell"
18
+ require_relative "gento/adapters/google_slides"
19
+ require_relative "gento/registry"
20
+ require_relative "gento/client"
21
+
22
+ # Turns a slide-sharing URL into the ordered list of page images behind it.
23
+ #
24
+ # Supports Speaker Deck, SlideShare, Docswell and public Google Slides decks.
25
+ # The gem is pure Ruby with no runtime dependencies, so it runs anywhere CRuby
26
+ # does — including slim containers and ruby.wasm.
27
+ module Gento
28
+ class << self
29
+ # Convenience wrapper around Client#fetch for one-off calls.
30
+ #
31
+ # robots: false skips the robots.txt check, which is on by default.
32
+ def fetch(url, fetcher: nil, registry: nil, robots: true)
33
+ Client.new(fetcher: fetcher, registry: registry, robots: robots).fetch(url)
34
+ end
35
+
36
+ def supports?(url)
37
+ Registry.default.supports?(url)
38
+ end
39
+
40
+ def providers
41
+ Registry.default.providers
42
+ end
43
+ end
44
+ end
metadata ADDED
@@ -0,0 +1,75 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gento
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - ngram
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2026-10-05 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: |
14
+ Turns a Speaker Deck, SlideShare, Docswell or public Google Slides URL into
15
+ the ordered list of page images behind it. Pure Ruby with no runtime
16
+ dependencies and a pluggable HTTP layer, so it runs in slim containers and
17
+ on ruby.wasm as well as on a normal CRuby.
18
+ email:
19
+ executables:
20
+ - gento
21
+ extensions: []
22
+ extra_rdoc_files: []
23
+ files:
24
+ - CHANGELOG.md
25
+ - LICENSE.txt
26
+ - README.md
27
+ - exe/gento
28
+ - lib/gento.rb
29
+ - lib/gento/adapters/base.rb
30
+ - lib/gento/adapters/docswell.rb
31
+ - lib/gento/adapters/google_slides.rb
32
+ - lib/gento/adapters/slide_share.rb
33
+ - lib/gento/adapters/speaker_deck.rb
34
+ - lib/gento/charset.rb
35
+ - lib/gento/cli.rb
36
+ - lib/gento/client.rb
37
+ - lib/gento/deck.rb
38
+ - lib/gento/entities.rb
39
+ - lib/gento/errors.rb
40
+ - lib/gento/fetcher.rb
41
+ - lib/gento/html.rb
42
+ - lib/gento/registry.rb
43
+ - lib/gento/response.rb
44
+ - lib/gento/robots.rb
45
+ - lib/gento/robots_fetcher.rb
46
+ - lib/gento/slide.rb
47
+ - lib/gento/version.rb
48
+ homepage: https://github.com/ngram/gento
49
+ licenses:
50
+ - MIT
51
+ metadata:
52
+ source_code_uri: https://github.com/ngram/gento
53
+ bug_tracker_uri: https://github.com/ngram/gento/issues
54
+ changelog_uri: https://github.com/ngram/gento/blob/main/CHANGELOG.md
55
+ rubygems_mfa_required: 'true'
56
+ post_install_message:
57
+ rdoc_options: []
58
+ require_paths:
59
+ - lib
60
+ required_ruby_version: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 3.1.0
65
+ required_rubygems_version: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ requirements: []
71
+ rubygems_version: 3.5.22
72
+ signing_key:
73
+ specification_version: 4
74
+ summary: Extract slide page images from slide-sharing services
75
+ test_files: []