gento 0.1.0

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.

Potentially problematic release.


This version of gento might be problematic. Click here for more details.

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,76 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gento
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
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
+ - tomo.ngram@gmail.com
20
+ executables:
21
+ - gento
22
+ extensions: []
23
+ extra_rdoc_files: []
24
+ files:
25
+ - CHANGELOG.md
26
+ - LICENSE.txt
27
+ - README.md
28
+ - exe/gento
29
+ - lib/gento.rb
30
+ - lib/gento/adapters/base.rb
31
+ - lib/gento/adapters/docswell.rb
32
+ - lib/gento/adapters/google_slides.rb
33
+ - lib/gento/adapters/slide_share.rb
34
+ - lib/gento/adapters/speaker_deck.rb
35
+ - lib/gento/charset.rb
36
+ - lib/gento/cli.rb
37
+ - lib/gento/client.rb
38
+ - lib/gento/deck.rb
39
+ - lib/gento/entities.rb
40
+ - lib/gento/errors.rb
41
+ - lib/gento/fetcher.rb
42
+ - lib/gento/html.rb
43
+ - lib/gento/registry.rb
44
+ - lib/gento/response.rb
45
+ - lib/gento/robots.rb
46
+ - lib/gento/robots_fetcher.rb
47
+ - lib/gento/slide.rb
48
+ - lib/gento/version.rb
49
+ homepage: https://github.com/ngram/gento
50
+ licenses:
51
+ - MIT
52
+ metadata:
53
+ source_code_uri: https://github.com/ngram/gento
54
+ bug_tracker_uri: https://github.com/ngram/gento/issues
55
+ changelog_uri: https://github.com/ngram/gento/blob/main/CHANGELOG.md
56
+ rubygems_mfa_required: 'true'
57
+ post_install_message:
58
+ rdoc_options: []
59
+ require_paths:
60
+ - lib
61
+ required_ruby_version: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: 3.1.0
66
+ required_rubygems_version: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ requirements: []
72
+ rubygems_version: 3.5.22
73
+ signing_key:
74
+ specification_version: 4
75
+ summary: Extract slide page images from slide-sharing services
76
+ test_files: []