cheesy-gallery 0.8.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/publish.yaml +20 -0
  3. data/.github/workflows/tests.yaml +39 -0
  4. data/CHANGELOG.md +16 -0
  5. data/README.md +40 -18
  6. data/cheesy-gallery.gemspec +0 -2
  7. data/lib/cheesy-gallery/base_image_file.rb +21 -7
  8. data/lib/cheesy-gallery/gallery_index.rb +2 -5
  9. data/lib/cheesy-gallery/generator.rb +2 -6
  10. data/lib/cheesy-gallery/image_file.rb +9 -7
  11. data/lib/cheesy-gallery/image_thumb.rb +3 -7
  12. data/lib/cheesy-gallery/version.rb +1 -2
  13. data/lib/cheesy-gallery.rb +0 -2
  14. metadata +6 -79
  15. data/.travis.yml +0 -33
  16. data/sorbet/config +0 -2
  17. data/sorbet/rbi/gems/addressable.rbi +0 -147
  18. data/sorbet/rbi/gems/ast.rbi +0 -49
  19. data/sorbet/rbi/gems/codecov.rbi +0 -49
  20. data/sorbet/rbi/gems/coderay.rbi +0 -285
  21. data/sorbet/rbi/gems/colorator.rbi +0 -60
  22. data/sorbet/rbi/gems/concurrent-ruby.rbi +0 -225
  23. data/sorbet/rbi/gems/docile.rbi +0 -36
  24. data/sorbet/rbi/gems/ffi.rbi +0 -560
  25. data/sorbet/rbi/gems/forwardable-extended.rbi +0 -24
  26. data/sorbet/rbi/gems/i18n.rbi +0 -108
  27. data/sorbet/rbi/gems/jekyll-sass-converter.rbi +0 -61
  28. data/sorbet/rbi/gems/jekyll.rbi +0 -726
  29. data/sorbet/rbi/gems/kramdown.rbi +0 -250
  30. data/sorbet/rbi/gems/liquid.rbi +0 -649
  31. data/sorbet/rbi/gems/method_source.rbi +0 -64
  32. data/sorbet/rbi/gems/parallel.rbi +0 -83
  33. data/sorbet/rbi/gems/parser.rbi +0 -1429
  34. data/sorbet/rbi/gems/pathutil.rbi +0 -188
  35. data/sorbet/rbi/gems/pry.rbi +0 -1898
  36. data/sorbet/rbi/gems/public_suffix.rbi +0 -104
  37. data/sorbet/rbi/gems/rainbow.rbi +0 -118
  38. data/sorbet/rbi/gems/rake.rbi +0 -647
  39. data/sorbet/rbi/gems/regexp_parser.rbi +0 -926
  40. data/sorbet/rbi/gems/rexml.rbi +0 -599
  41. data/sorbet/rbi/gems/rmagick.rbi +0 -1249
  42. data/sorbet/rbi/gems/rspec-core.rbi +0 -1894
  43. data/sorbet/rbi/gems/rspec-expectations.rbi +0 -1148
  44. data/sorbet/rbi/gems/rspec-mocks.rbi +0 -1091
  45. data/sorbet/rbi/gems/rspec-support.rbi +0 -280
  46. data/sorbet/rbi/gems/rspec.rbi +0 -15
  47. data/sorbet/rbi/gems/rubocop-ast.rbi +0 -1357
  48. data/sorbet/rbi/gems/rubocop.rbi +0 -8027
  49. data/sorbet/rbi/gems/ruby-progressbar.rbi +0 -304
  50. data/sorbet/rbi/gems/safe_yaml.rbi +0 -124
  51. data/sorbet/rbi/gems/sassc.rbi +0 -532
  52. data/sorbet/rbi/gems/simplecov-html.rbi +0 -35
  53. data/sorbet/rbi/gems/simplecov.rbi +0 -419
  54. data/sorbet/rbi/gems/unicode-display_width.rbi +0 -22
  55. data/sorbet/rbi/hidden-definitions/errors.txt +0 -6233
  56. data/sorbet/rbi/hidden-definitions/hidden.rbi +0 -13059
  57. data/sorbet/rbi/rmagick.rbi +0 -18
  58. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +0 -276
  59. data/sorbet/rbi/sorbet-typed/lib/rake/all/rake.rbi +0 -645
  60. data/sorbet/rbi/sorbet-typed/lib/rspec-core/all/rspec-core.rbi +0 -1891
  61. data/sorbet/rbi/sorbet-typed/lib/rubocop/>=1.8/rubocop.rbi +0 -7799
  62. data/sorbet/rbi/todo.rbi +0 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7b31592195513a15c1283ba531e6de02357f7c2bfb9d1aaa312df061e5cd6f8b
4
- data.tar.gz: 66e4b206545aff52859a71ed9da66b0a600075029e6988de7c3f96a659c0a250
3
+ metadata.gz: 0af87d93a01619b196b1c7bfb162ee12d309f53961e3a04f523eed0e9c178f52
4
+ data.tar.gz: 1c52d18ca5e5eff07b51224b0b67f9ae16b6e58304ff76d09de53cbfd4488655
5
5
  SHA512:
6
- metadata.gz: 7868feeaf207a4b67c3818407a67d766c1c8cb563897f0e98938120934cd9b433c865922be2d6007055c23c489c3182afcabe6d7ef369e6af9f907ed3591ba6e
7
- data.tar.gz: 12f0769a64e4a58d1eaf870e788d35d49d234cb6b1e1a79f446238dfad4ee7d96f8468b0d6533b6d7112237bf397274ed166b8a1987ee51284a494285191f84a
6
+ metadata.gz: d876cfc12640e0d2688ac2c51d636c38083624d278031e32bfbbf6ce5ad54157c9e5299cfb0cd733d0b368006c5d32eb060f41907b3d05eeb1b308ad496e037d
7
+ data.tar.gz: a2ccf221f4575749a555f6d8a9e7d46c050327bd41ad30861c58f3ed20365e52373a3227c4b7960c052eea3675e7b00fbaa82db2baa2664cfc9ad11ff8245070
@@ -0,0 +1,20 @@
1
+ name: Publish Gem
2
+ on:
3
+ push:
4
+ tags:
5
+ - "*"
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ publish:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v3
13
+ - uses: ruby/setup-ruby@v1
14
+ with:
15
+ ruby-version: "3.0"
16
+ bundler-cache: true
17
+ - uses: dawidd6/action-publish-gem@v1
18
+ with:
19
+ api_key: ${{secrets.RUBYGEMS_API_KEY}}
20
+ github_token: ${{secrets.GITHUB_TOKEN}}
@@ -0,0 +1,39 @@
1
+ name: Tests
2
+ on: [push, pull_request]
3
+ jobs:
4
+ base-test:
5
+ strategy:
6
+ fail-fast: false
7
+ matrix:
8
+ # Due to https://github.com/actions/runner/issues/849, we have to use quotes for '3.0'
9
+ ruby: ["2.7", "3.0", "3.1"]
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v3
13
+ - uses: ruby/setup-ruby@v1
14
+ with:
15
+ ruby-version: ${{ matrix.ruby }}
16
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
17
+ - run: bundle exec rake
18
+ test-site:
19
+ strategy:
20
+ fail-fast: false
21
+ matrix:
22
+ # Due to https://github.com/actions/runner/issues/849, we have to use quotes for '3.0'
23
+ ruby: ["2.7", "3.0", "3.1"]
24
+ runs-on: ubuntu-latest
25
+ steps:
26
+ - uses: actions/checkout@v3
27
+ - uses: ruby/setup-ruby@v1
28
+ with:
29
+ ruby-version: ${{ matrix.ruby }}
30
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
31
+ working-directory: spec/fixtures/test_site
32
+ - id: build-test-site
33
+ working-directory: spec/fixtures/test_site
34
+ run: |
35
+ bundle exec jekyll build --strict --trace --verbose
36
+ find _site -type f
37
+ echo -e '\n===\n'
38
+ cat _site/gallery_one/index.html
39
+ file _site/gallery_two/third/Morgenspaziergang-3.jpg_thumb.jpg
data/CHANGELOG.md ADDED
@@ -0,0 +1,16 @@
1
+ # 1.1.1
2
+
3
+ * Address some deprecations warnings thanks to @pdxmph
4
+ * CI housekeeping: move to GHA from travis
5
+
6
+ # 1.1.0
7
+
8
+ * Adds aggressive caching to reduce rebuild times.
9
+ If you need to re-render images for any reason, remove the `.jekyll-cache` folder or change the `_config.yml` file.
10
+
11
+ * Changes default quality to 85, and instead strips alls comments.
12
+ This results in better quality pictures with less size.
13
+
14
+ # 1.0.0
15
+
16
+ Initial Release
data/README.md CHANGED
@@ -1,39 +1,61 @@
1
1
  # Cheesy::Gallery
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/cheesy/gallery`. To experiment with that code, run `bin/console` for an interactive prompt.
4
-
5
- TODO: Delete this and the text above, and describe your gem
3
+ This is a jekyll photo gallery to manage large amounts of galleries and pictures. You can see the results at https://www.cheesy.at/fotos/.
6
4
 
7
5
  ## Installation
8
6
 
9
- Add this line to your application's Gemfile:
7
+ Follow Jekyll's documentation on [how to install plugins](https://jekyllrb.com/docs/plugins/installation/) using "cheesy-gallery" as name for the gem and plugin.
8
+
9
+ ## Usage
10
+
11
+ After successful installation, enable gallery processing for a subdirectory of your site.
12
+ For this example, the folder is called `_my_gallery`:
10
13
 
11
- ```ruby
12
- gem 'cheesy-gallery'
14
+ ```yaml
15
+ collections:
16
+ my_gallery:
17
+ cheesy-gallery: true
13
18
  ```
14
19
 
15
- And then execute:
20
+ From now on, every Jekyll build will take all JPGs in all folders under `_my_gallery` and create a gallery for each folder, linking them according to their structure in the file system.
16
21
 
17
- $ bundle
22
+ To add a thumbnail to a gallery, put it inside the gallery folder and call it `thumbnail.jpg`.
18
23
 
19
- Or install it yourself as:
24
+ Frontmatter, like titles, etc., are read from the `index.md` file in the gallery.
20
25
 
21
- $ gem install cheesy-gallery
26
+ Galleries and their contents are sorted by filename.
22
27
 
23
- ## Usage
28
+ To layout galleries, check out the [example layout](spec/fixtures/test_site/_layouts/gallery.html) and adapt it to your site's style.
29
+
30
+ If you want an inline display of your photos, I recommend [glightbox](https://github.com/biati-digital/glightbox) by [biati-digital](https://github.com/biati-digital). Add their CSS and JavaScript to your assets, and link them in the `<head>` of your site:
31
+
32
+ ```html
33
+ <link rel="stylesheet" href="{{ "/assets/glb/glightbox.min.css" | relative_url }}">
34
+ <script src="{{ "/assets/glb/glightbox.min.js" | relative_url }}"></script>
35
+ ```
24
36
 
25
- TODO: Write usage instructions here
37
+ Then, in the gallery layout, add `data-gallery="gallery"` attribute to the `<a>` tag linking to each image, and put
38
+
39
+ ```html
40
+ <script type="text/javascript">
41
+ const lightbox = GLightbox({selector: '*[data-gallery]'});
42
+ </script>
43
+ ```
44
+
45
+ at the bottom of the layout.
46
+
47
+ ## Caching
48
+
49
+ This plugin uses aggressive caching to keep render times short.
50
+ If you need to re-render images for any reason, remove the `.jekyll-cache` folder or change the `_config.yml` file.
51
+ See the [Cache API tutorial](https://jekyllrb.com/tutorials/cache-api/) for some background.
26
52
 
27
53
  ## Development
28
54
 
29
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
55
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. There is also a test site in `spec/fixtures/test_site` that you can use to try out changes.
30
56
 
31
57
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
58
 
33
59
  ## Contributing
34
60
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/DavidS/cheesy-gallery. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
36
-
37
- ## Code of Conduct
38
-
39
- Everyone interacting in the Cheesy::Gallery project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/DavidS/cheesy-gallery/blob/main/CODE_OF_CONDUCT.md).
61
+ Bug reports and pull requests are welcome on GitHub at https://github.com/DavidS/cheesy-gallery. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. See [code of conduct](https://github.com/DavidS/cheesy-gallery/blob/main/CODE_OF_CONDUCT.md) for a local copy.
@@ -38,9 +38,7 @@ Gem::Specification.new do |spec|
38
38
  spec.add_development_dependency 'rake', '~> 13.0'
39
39
  spec.add_development_dependency 'rspec', '~> 3.0'
40
40
  spec.add_development_dependency 'rubocop'
41
- spec.add_development_dependency 'sorbet'
42
41
 
43
42
  spec.add_dependency 'jekyll', '~> 4.0'
44
43
  spec.add_dependency 'rmagick', '~> 4.0'
45
- spec.add_dependency 'sorbet-runtime'
46
44
  end
@@ -1,4 +1,3 @@
1
- # typed: strict
2
1
  # frozen_string_literal: true
3
2
 
4
3
  require 'rmagick'
@@ -6,32 +5,47 @@ require 'rmagick'
6
5
  # This StaticFile subclass adds additional functionality for images in the
7
6
  # gallery
8
7
  class CheesyGallery::BaseImageFile < Jekyll::StaticFile
9
- extend T::Sig
8
+ @@render_cache = Jekyll::Cache.new('CheesyGallery::Render') # don't need to worry about inheritance here # rubocop:disable Style/ClassVars
10
9
 
11
- sig { params(site: Jekyll::Site, collection: Jekyll::Collection, file: Jekyll::StaticFile, dest_path: T.nilable(String)).void }
12
10
  def initialize(site, collection, file, dest_path = nil)
13
- @source_file = T.let(file, Jekyll::StaticFile)
11
+ @source_file = file
14
12
  super(site, site.source, File.dirname(file.relative_path), dest_path || file.name, collection)
15
13
  end
16
14
 
17
15
  # use the source file's path for this, as this value is used all over the
18
16
  # place for mtime checking
19
- sig { returns String }
20
17
  def path
21
18
  @source_file.path
22
19
  end
23
20
 
24
21
  # overwrite this method to add additional processing
25
- sig { params(img: Magick::ImageList, path: String).void }
26
22
  def process_and_write(img, path)
27
23
  img.write(path) {}
28
24
  end
29
25
 
26
+ # Inject cache here to override default delete-before-copy behaviour
27
+ # See jekyll:lib/jekyll/static_file.rb for source
28
+ def write(dest)
29
+ dest_path = destination(dest)
30
+ return false if File.exist?(dest_path) && !modified?
31
+
32
+ self.class.mtimes[path] = mtime
33
+
34
+ return if @@render_cache.key?("#{dest_path}-rendered") && File.exist?(dest_path)
35
+
36
+ FileUtils.mkdir_p(File.dirname(dest_path))
37
+ FileUtils.rm(dest_path) if File.exist?(dest_path)
38
+ copy_file(dest_path)
39
+
40
+ @@render_cache["#{dest_path}-rendered"] = true
41
+
42
+ true
43
+ end
44
+
30
45
  private
31
46
 
32
47
  # instead of copying, allow rmagick processing
33
48
  # this is only called if the mtime doesn't match
34
- sig { params(dest_path: String).void }
35
49
  def copy_file(dest_path)
36
50
  source = Magick::ImageList.new(path)
37
51
  begin
@@ -1,14 +1,11 @@
1
- # typed: strict
2
1
  # frozen_string_literal: true
3
2
 
4
3
  # This Document subclass is used to stand in for gallery indices which do not have a `index.html`
5
4
  class CheesyGallery::GalleryIndex < Jekyll::Document
6
- extend T::Sig
7
-
8
5
  DEFAULT_CONTENT = "This page intentionally left plank.\n"
6
+
9
7
  # skip reading content, as there is by definition no backing file for this
10
- sig { params(_opts: T.untyped).returns(String) }
11
- def read_content(_opts)
8
+ def read_content(_opts = nil)
12
9
  self.content = DEFAULT_CONTENT
13
10
  end
14
11
  end
@@ -1,4 +1,3 @@
1
- # typed: strict
2
1
  # frozen_string_literal: true
3
2
 
4
3
  require 'jekyll'
@@ -9,11 +8,8 @@ require 'cheesy-gallery/image_thumb'
9
8
 
10
9
  # The generator modifies the `site` data structure to contain all data necessary by the layouts and tags to render the galleries
11
10
  class CheesyGallery::Generator < Jekyll::Generator
12
- extend T::Sig
13
-
14
- sig { params(site: Jekyll::Site).void }
15
11
  def generate(site)
16
- @site = T.let(site, T.nilable(Jekyll::Site))
12
+ @site = site
17
13
  (site.collections.values.find_all { |c| c.metadata['cheesy-gallery'] } || [site.collections['galleries']]).compact.each do |collection|
18
14
  collection.metadata['output'] = true unless collection.metadata.key? 'output'
19
15
 
@@ -36,7 +32,7 @@ class CheesyGallery::Generator < Jekyll::Generator
36
32
  CheesyGallery::ImageFile.new(
37
33
  site, collection, f,
38
34
  max_size: collection.metadata['max_size'] || '1920x1080',
39
- quality: collection.metadata['quality'] || 50
35
+ quality: collection.metadata['quality'] || 85
40
36
  )
41
37
  end
42
38
 
@@ -1,4 +1,3 @@
1
- # typed: strict
2
1
  # frozen_string_literal: true
3
2
 
4
3
  require 'rmagick'
@@ -7,14 +6,13 @@ require 'cheesy-gallery/base_image_file'
7
6
  # This StaticFile subclass adds additional functionality for images in the
8
7
  # gallery
9
8
  class CheesyGallery::ImageFile < CheesyGallery::BaseImageFile
10
- @@geometry_cache = T.let(Jekyll::Cache.new('CheesyGallery::Geometry'), Jekyll::Cache) # don't need to worry about inheritance here # rubocop:disable Style/ClassVars
9
+ @@geometry_cache = Jekyll::Cache.new('CheesyGallery::Geometry') # don't need to worry about inheritance here # rubocop:disable Style/ClassVars
11
10
 
12
- sig { params(site: Jekyll::Site, collection: Jekyll::Collection, file: Jekyll::StaticFile, max_size: String, quality: Integer).void }
13
11
  def initialize(site, collection, file, max_size:, quality:)
14
12
  super(site, collection, file)
15
13
 
16
- @max_size = T.let(max_size, String)
17
- @quality = T.let(quality, Integer)
14
+ @max_size = max_size
15
+ @quality = quality
18
16
 
19
17
  realpath = File.realdirpath(path)
20
18
  mtime = File.mtime(realpath)
@@ -35,13 +33,17 @@ class CheesyGallery::ImageFile < CheesyGallery::BaseImageFile
35
33
  end
36
34
 
37
35
  # instead of copying, renders an optimised version
38
- sig { params(img: Magick::ImageList, path: String).void }
39
36
  def process_and_write(img, path)
40
37
  img.change_geometry!(@max_size) do |cols, rows, i|
41
38
  i.resize!(cols, rows)
42
39
  end
40
+ # follow recommendations from https://stackoverflow.com/a/7262050/4918 to get better compression
41
+ img.interlace = Magick::PlaneInterlace
42
+ # but skip the blur to avoid too many changes to the data
43
+ # img.gaussian_blur(0.05)
44
+ img.strip!
43
45
  # workaround weird {self} initialisation pattern
44
46
  quality = @quality
45
- img.write(path) { self.quality = quality }
47
+ img.write(path) { |image| image.quality = quality }
46
48
  end
47
49
  end
@@ -1,4 +1,3 @@
1
- # typed: strict
2
1
  # frozen_string_literal: true
3
2
 
4
3
  require 'rmagick'
@@ -6,21 +5,18 @@ require 'cheesy-gallery/base_image_file'
6
5
 
7
6
  # This StaticFile subclass represents thumbnail images for each image. On `write()` it renders a 150x150 center crop of the source
8
7
  class CheesyGallery::ImageThumb < CheesyGallery::BaseImageFile
9
- sig { returns(Integer) }
10
8
  attr_reader :height, :width
11
9
 
12
- sig { params(site: Jekyll::Site, collection: Jekyll::Collection, file: Jekyll::StaticFile, postfix: String, height: Integer, width: Integer).void }
13
10
  def initialize(site, collection, file, postfix, height, width)
14
11
  super(site, collection, file, file.name + postfix)
15
12
 
16
- @height = T.let(height, Integer)
17
- @width = T.let(width, Integer)
13
+ @height = height
14
+ @width = width
18
15
  end
19
16
 
20
17
  # instead of copying, renders the thumbnail
21
- sig { params(img: Magick::ImageList, path: String).void }
22
18
  def process_and_write(img, path)
23
19
  img.resize_to_fill!(height, width)
24
- img.write(path) {}
20
+ img.write(path)
25
21
  end
26
22
  end
@@ -1,6 +1,5 @@
1
- # typed: strong
2
1
  # frozen_string_literal: true
3
2
 
4
3
  module CheesyGallery
5
- VERSION = '0.8.0'
4
+ VERSION = '1.1.1'
6
5
  end
@@ -1,9 +1,7 @@
1
- # typed: strong
2
1
  # frozen_string_literal: true
3
2
 
4
3
  require 'jekyll'
5
4
  require 'fileutils'
6
- require 'sorbet-runtime'
7
5
 
8
6
  # Main holder of all things cheesy and gallery-y
9
7
  module CheesyGallery
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cheesy-gallery
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Schmitt
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-05-31 00:00:00.000000000 Z
11
+ date: 2022-06-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -94,20 +94,6 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: sorbet
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
97
  - !ruby/object:Gem::Dependency
112
98
  name: jekyll
113
99
  requirement: !ruby/object:Gem::Requirement
@@ -136,20 +122,6 @@ dependencies:
136
122
  - - "~>"
137
123
  - !ruby/object:Gem::Version
138
124
  version: '4.0'
139
- - !ruby/object:Gem::Dependency
140
- name: sorbet-runtime
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :runtime
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
125
  description:
154
126
  email:
155
127
  - david@black.co.at
@@ -158,10 +130,12 @@ extensions: []
158
130
  extra_rdoc_files: []
159
131
  files:
160
132
  - ".github/dependabot.yml"
133
+ - ".github/workflows/publish.yaml"
134
+ - ".github/workflows/tests.yaml"
161
135
  - ".gitignore"
162
136
  - ".rspec"
163
137
  - ".rubocop.yml"
164
- - ".travis.yml"
138
+ - CHANGELOG.md
165
139
  - CODE_OF_CONDUCT.md
166
140
  - Gemfile
167
141
  - LICENSE.md
@@ -177,53 +151,6 @@ files:
177
151
  - lib/cheesy-gallery/image_file.rb
178
152
  - lib/cheesy-gallery/image_thumb.rb
179
153
  - lib/cheesy-gallery/version.rb
180
- - sorbet/config
181
- - sorbet/rbi/gems/addressable.rbi
182
- - sorbet/rbi/gems/ast.rbi
183
- - sorbet/rbi/gems/codecov.rbi
184
- - sorbet/rbi/gems/coderay.rbi
185
- - sorbet/rbi/gems/colorator.rbi
186
- - sorbet/rbi/gems/concurrent-ruby.rbi
187
- - sorbet/rbi/gems/docile.rbi
188
- - sorbet/rbi/gems/ffi.rbi
189
- - sorbet/rbi/gems/forwardable-extended.rbi
190
- - sorbet/rbi/gems/i18n.rbi
191
- - sorbet/rbi/gems/jekyll-sass-converter.rbi
192
- - sorbet/rbi/gems/jekyll.rbi
193
- - sorbet/rbi/gems/kramdown.rbi
194
- - sorbet/rbi/gems/liquid.rbi
195
- - sorbet/rbi/gems/method_source.rbi
196
- - sorbet/rbi/gems/parallel.rbi
197
- - sorbet/rbi/gems/parser.rbi
198
- - sorbet/rbi/gems/pathutil.rbi
199
- - sorbet/rbi/gems/pry.rbi
200
- - sorbet/rbi/gems/public_suffix.rbi
201
- - sorbet/rbi/gems/rainbow.rbi
202
- - sorbet/rbi/gems/rake.rbi
203
- - sorbet/rbi/gems/regexp_parser.rbi
204
- - sorbet/rbi/gems/rexml.rbi
205
- - sorbet/rbi/gems/rmagick.rbi
206
- - sorbet/rbi/gems/rspec-core.rbi
207
- - sorbet/rbi/gems/rspec-expectations.rbi
208
- - sorbet/rbi/gems/rspec-mocks.rbi
209
- - sorbet/rbi/gems/rspec-support.rbi
210
- - sorbet/rbi/gems/rspec.rbi
211
- - sorbet/rbi/gems/rubocop-ast.rbi
212
- - sorbet/rbi/gems/rubocop.rbi
213
- - sorbet/rbi/gems/ruby-progressbar.rbi
214
- - sorbet/rbi/gems/safe_yaml.rbi
215
- - sorbet/rbi/gems/sassc.rbi
216
- - sorbet/rbi/gems/simplecov-html.rbi
217
- - sorbet/rbi/gems/simplecov.rbi
218
- - sorbet/rbi/gems/unicode-display_width.rbi
219
- - sorbet/rbi/hidden-definitions/errors.txt
220
- - sorbet/rbi/hidden-definitions/hidden.rbi
221
- - sorbet/rbi/rmagick.rbi
222
- - sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi
223
- - sorbet/rbi/sorbet-typed/lib/rake/all/rake.rbi
224
- - sorbet/rbi/sorbet-typed/lib/rspec-core/all/rspec-core.rbi
225
- - sorbet/rbi/sorbet-typed/lib/rubocop/>=1.8/rubocop.rbi
226
- - sorbet/rbi/todo.rbi
227
154
  homepage: https://github.com/DavidS/cheesy-gallery
228
155
  licenses: []
229
156
  metadata:
@@ -245,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
245
172
  - !ruby/object:Gem::Version
246
173
  version: '0'
247
174
  requirements: []
248
- rubygems_version: 3.2.5
175
+ rubygems_version: 3.3.15
249
176
  signing_key:
250
177
  specification_version: 4
251
178
  summary: A jekyll plugin for building galleries.
data/.travis.yml DELETED
@@ -1,33 +0,0 @@
1
- ---
2
- os: linux
3
- dist: focal
4
- language: ruby
5
- cache: bundler
6
- rvm:
7
- - 2.7.1
8
-
9
- # adopt future bundler 3 config style
10
- before_install:
11
- - bundle config set path ${BUNDLE_PATH:-vendor/bundle}
12
- - bundle config set jobs 3
13
- - bundle config set retry 3
14
- install: bundle install
15
-
16
- jobs:
17
- include:
18
- - env: CHECK=ruby
19
- script:
20
- - bundle exec rake
21
- - env: CHECK=sorbet
22
- script:
23
- - bundle exec srb tc --ignore=/vendor
24
- - env: CHECK=build
25
- gemfile: spec/fixtures/test_site/Gemfile
26
- script:
27
- - (cd spec/fixtures/test_site && bundle exec jekyll build --strict --trace --verbose)
28
- - (cd spec/fixtures/test_site && find _site -type f && echo -e '\n===\n' && cat _site/gallery_one/index.html && file _site/gallery_two/third/Morgenspaziergang-3.jpg_thumb.jpg)
29
-
30
- # only branch-test merges to main
31
- branches:
32
- only:
33
- - main
data/sorbet/config DELETED
@@ -1,2 +0,0 @@
1
- --dir
2
- .