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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +60 -0
- data/LICENSE.txt +21 -0
- data/README.md +143 -0
- data/exe/gento +7 -0
- data/lib/gento/adapters/base.rb +121 -0
- data/lib/gento/adapters/docswell.rb +58 -0
- data/lib/gento/adapters/google_slides.rb +90 -0
- data/lib/gento/adapters/slide_share.rb +82 -0
- data/lib/gento/adapters/speaker_deck.rb +79 -0
- data/lib/gento/charset.rb +45 -0
- data/lib/gento/cli.rb +121 -0
- data/lib/gento/client.rb +55 -0
- data/lib/gento/deck.rb +56 -0
- data/lib/gento/entities.rb +29 -0
- data/lib/gento/errors.rb +46 -0
- data/lib/gento/fetcher.rb +188 -0
- data/lib/gento/html.rb +225 -0
- data/lib/gento/registry.rb +49 -0
- data/lib/gento/response.rb +34 -0
- data/lib/gento/robots.rb +195 -0
- data/lib/gento/robots_fetcher.rb +126 -0
- data/lib/gento/slide.rb +40 -0
- data/lib/gento/version.rb +5 -0
- data/lib/gento.rb +44 -0
- metadata +75 -0
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: []
|