m1key_gallery_generator 0.3.21 → 0.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0b5f578d034150b3b6c684e054f984a7a775ed7444bc3d8d6847a2b44100d069
4
- data.tar.gz: 0f64dcfbd43e25f91b02914e6d238a81ffb5fd529637dfaaec7c9d7e89acaaf9
3
+ metadata.gz: 72109ba7c003b3c3422537bfb0ed5d34e8ac5e433fafb1d9afd9376675cb1359
4
+ data.tar.gz: 7c736bf21843a6be2ef91ac23543c329aae370839c9a58822a91fc131d436464
5
5
  SHA512:
6
- metadata.gz: 394630c56b6856d1f1d83cb51b5e73a7de3490a710a9573831ba62c5ec04f29613282e9d9ec2e635011f53de0cec4bc299fb24f88380223251ffadc5c93f2c58
7
- data.tar.gz: 9d23e210cb291562b0c54be21814de74bf0268262efa9a1696fb9c4642e83ff173e36e80fc30447e369c8e2d583f06cd1488918abd2d382ecc0daa0bd3a1996a
6
+ metadata.gz: d3dde2b5d7c3d083d8d8816a1028896f584366e28a9eb01a5bef8071ffea1e7d7b09494bbdb9ce4231c5bfaadfa2e169c53461bc0ad513c8049f1131bbfddde0
7
+ data.tar.gz: 1a5455f776039a9ce63ff20269c3a268023d3bd1d7ba5d9df655930fb4ba75b8d13417a86710ed5271545479155d398cd34212d430c27404bd9631ccb460d46a
data/README.md CHANGED
@@ -1,66 +1,96 @@
1
1
  # M1keyGalleryGenerator
2
2
 
3
- This Ruby script generates www.m1key.me style gallery.
3
+ This Ruby script generates [m1key.me](https://www.m1key.me)-style galleries.
4
4
 
5
- A sample gallery is this: https://www.m1key.me/photography/mauritania_part_2/
5
+ A sample gallery: https://www.m1key.me/photography/mauritania_part_2/
6
6
 
7
7
  ## Status
8
8
 
9
- This is work in progress, but has been used to generate real-life galleries.
9
+ Maintained, used, going strong.
10
10
 
11
11
  ## Set up
12
12
 
13
- ### Fedora 35+
13
+ ### Fedora
14
14
 
15
- Install Ruby:
15
+ This was most recently tested on Fedora 43 Workstation ARM.
16
16
 
17
- > dnf install ruby
17
+ Install rbenv using this command (the one shipped with the system is out of date):
18
18
 
19
- Install Ruby Gem Bundler in Fedora 35 and higher:
20
-
21
- > gem install bundler
19
+ ```
20
+ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash
21
+ ```
22
22
 
23
- > dnf install ruby-irb
23
+ Then install Ruby:
24
24
 
25
+ ```
26
+ rbenv install 4.0.2
27
+ rbenv global 4.0.2
28
+ gem install bundler
29
+ ```
25
30
 
26
31
  ### Ubuntu
27
32
 
28
- Install Ruby using rbenv. Then:
33
+ This was most recently tested on Ubuntu 24.04 AMD.
34
+
35
+ Install rbenv using this command (the one shipped with the system is out of date):
29
36
 
30
- > rbenv install 3.4.7
37
+ ```
38
+ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash
39
+ ```
40
+
41
+ Rbenv hackery:
31
42
 
32
- > rbenv global 3.4.7
43
+ ```
44
+ apt install libffi-dev
45
+ apt install libyaml-dev
46
+ ```
33
47
 
34
- > gem install bundler
48
+ Then install Ruby:
49
+
50
+ ```
51
+ rbenv install 4.0.2
52
+ rbenv global 4.0.2
53
+ gem install bundler
54
+ gem install rspec
55
+ ```
35
56
 
36
57
  ### Windows
37
58
 
38
- Install Ruby. This has been most recently tested on Ruby 3.4.7.
59
+ This was most recently tested on Windows 11.
39
60
 
40
- Install Gitbash.
61
+ Install Ruby 4.0.2 using rubyinstaller.org. Then run:
41
62
 
42
- > gem install bundler
63
+ ```
64
+ gem install bundler
65
+ ```
43
66
 
44
67
  ### All
45
68
 
46
69
  Install dependencies:
47
70
 
48
- > ./bin/setup
71
+ ```
72
+ bundle install
73
+ ```
49
74
 
50
75
  ## Tests
51
76
 
52
- Run the script on some test data. This is required to run other tests.
53
- This assumes there is a valid gallery.yaml file present in the current folder,
54
- and the photos themselves in the format DSC_1234.jpg.
55
- *This is required to run tests.*
77
+ ### Setup
56
78
 
57
- > ruby -Ilib bin/console test/data
79
+ ```
80
+ ruby -Ilib bin/console test/data
81
+ ```
82
+
83
+ ### Synthetic gallery tests
58
84
 
59
- Run other tests:
85
+ ```
86
+ rake
87
+ ```
60
88
 
61
- > rake
89
+ ### Code-level tests
62
90
 
63
- > rspec spec
91
+ ```
92
+ rspec spec
93
+ ```
64
94
 
65
95
  ## Usage
66
96
 
@@ -70,15 +100,21 @@ Clone the project.
70
100
 
71
101
  Build the gem.
72
102
 
73
- > gem build m1key_gallery_generator.gemspec
103
+ ```
104
+ gem build m1key_gallery_generator.gemspec
105
+ ```
74
106
 
75
107
  Install the gem.
76
108
 
77
- > gem install m1key_gallery_generator-0.3.21.gem
109
+ ```
110
+ gem install m1key_gallery_generator-0.4.0.gem
111
+ ```
78
112
 
79
- In your gallery directory, have a file called generate.bat that looks like this:
113
+ In your gallery directory, have a file called `generate.bat`s that looks like this:
80
114
 
81
- > ruby c:\Ruby34-x64\lib\ruby\gems\3.4.0\gems\m1key_gallery_generator-0.3.21\bin\console . wait_on_error
115
+ ```
116
+ ruby c:\Ruby40-x64\lib\ruby\gems\4.0.0\gems\m1key_gallery_generator-0.4.0\bin\console . wait_on_error
117
+ ```
82
118
 
83
119
  ## Development
84
120
 
@@ -88,36 +124,3 @@ To release a new version, update the version number in `version.rb`,
88
124
  commit your changes,
89
125
  and then run `bundle exec rake release` to create a git tag for the version,
90
126
  push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
91
-
92
- ### Gem
93
-
94
- To build gem:
95
- > gem build m1key_gallery_generator.gemspec
96
-
97
- To install gem:
98
- > gem install m1key_gallery_generator-0.3.21.gem
99
-
100
- To test gem:
101
- > irb
102
-
103
- > require 'm1key_gallery_generator'
104
-
105
- ### Installation
106
-
107
- Add this line to your application's Gemfile:
108
-
109
- ```ruby
110
- gem 'm1key_gallery_generator'
111
- ```
112
-
113
- And then execute:
114
-
115
- $ bundle
116
-
117
- Or install it yourself as:
118
-
119
- $ gem install m1key_gallery_generator
120
-
121
- ## Gotchas
122
-
123
- Do not edit the templates in Atom due to its whitespace magic. I used vi instead.
data/Rakefile CHANGED
@@ -1,9 +1,10 @@
1
1
  require 'bundler/gem_tasks'
2
2
  require 'rake/testtask'
3
+ require 'rspec/core/rake_task'
3
4
 
4
- Rake::TestTask.new do |t|
5
+ Rake::TestTask.new(:minitest) do |t|
5
6
  t.libs << 'test'
6
7
  end
7
8
 
8
9
  desc 'Run tests'
9
- task default: :test
10
+ task default: [:minitest, :spec]
data/bin/console CHANGED
@@ -34,10 +34,10 @@ begin
34
34
  if update_date.to_s == ''
35
35
  update_date = Date.today.strftime('%Y-%m-%d')
36
36
  end
37
- gallery = ViewableGallery.new(gallery_config.title, gallery_config.description, gallery_config.slug,
38
- gallery_config.sources, gallery_config.upload_date, gallery_config.map_url, gallery_config.map_title,
39
- gallery_config.year, viewable_photos, gallery_config.small_print, gallery_config.blurb, gallery_config.genre,
40
- update_date).
37
+ gallery = ViewableGallery.new(title: gallery_config.title, description: gallery_config.description, slug: gallery_config.slug,
38
+ sources: gallery_config.sources, upload_date: gallery_config.upload_date, map_url: gallery_config.map_url, map_title: gallery_config.map_title,
39
+ year: gallery_config.year, viewable_photos: viewable_photos, small_print: gallery_config.small_print, blurb: gallery_config.blurb, genre: gallery_config.genre,
40
+ update_date: update_date).
41
41
  update_using(
42
42
  add_tabs_before_every_description_line(3),
43
43
  add_links_to_descriptions,
@@ -9,7 +9,7 @@ module GalleryGenerator
9
9
 
10
10
  def initialize(yaml_config_file_name)
11
11
  puts "Attempting to parse #{yaml_config_file_name} to read gallery configuration..."
12
- gallery_configuration = YAML.safe_load_file(yaml_config_file_name, permitted_classes: [Date, Symbol], permitted_symbols: [])
12
+ gallery_configuration = YAML.safe_load_file(yaml_config_file_name, permitted_classes: [Date])
13
13
  puts 'Parsed, seemingly.'
14
14
  puts
15
15
 
@@ -158,7 +158,7 @@
158
158
  <details class="sources" id="sources">
159
159
  <summary>Sources</summary>
160
160
  <ul class="smallprint"><% sources.each_with_index do |source, index| %>
161
- <li><%= index + 1 %>: <a href="<%= source %>" rel="noopener noreferrer" class="nav-link"><% if source.length > 100 %><%= source[0..50] %>[...]<%= source[-30..-1] %><% else %><%= source %><% end -%></a></li><% end %>
161
+ <li><%= index + 1 %>: <a href="<%= source %>" target="_blank" rel="noopener noreferrer" class="nav-link"><% if source.length > 100 %><%= source[0..50] %>[...]<%= source[-30..-1] %><% else %><%= source %><% end -%></a></li><% end %>
162
162
  </ul>
163
163
  </details>
164
164
  <% end -%>
@@ -1,3 +1,3 @@
1
1
  module M1keyGalleryGenerator
2
- VERSION = '0.3.21'
2
+ VERSION = '0.4.0'
3
3
  end
@@ -3,7 +3,7 @@ require_relative 'string_utils'
3
3
  module GalleryGenerator
4
4
  class ViewableGallery
5
5
  attr_reader :title, :description, :slug, :sources, :upload_date, :map_url, :map_title, :year, :photos, :small_print, :blurb, :genre, :update_date
6
- def initialize(title, description, slug, sources, upload_date, map_url, map_title, year, viewable_photos, small_print, blurb, genre, update_date)
6
+ def initialize(title:, description:, slug:, sources:, upload_date:, map_url:, map_title:, year:, viewable_photos:, small_print:, blurb:, genre:, update_date:)
7
7
  @title = String.new(title)
8
8
  @description = description
9
9
  @slug = slug
@@ -30,9 +30,9 @@ module GalleryGenerator
30
30
  updated_gallery = update_function.call(updated_gallery)
31
31
  end
32
32
 
33
- ViewableGallery.new(updated_gallery.title, updated_gallery.description, updated_gallery.slug,
34
- updated_gallery.sources, updated_gallery.upload_date, updated_gallery.map_url,
35
- updated_gallery.map_title, updated_gallery.year, to_viewable_photos(updated_gallery.photos), updated_gallery.small_print, updated_gallery.blurb, updated_gallery.genre, updated_gallery.update_date)
33
+ ViewableGallery.new(title: updated_gallery.title, description: updated_gallery.description, slug: updated_gallery.slug,
34
+ sources: updated_gallery.sources, upload_date: updated_gallery.upload_date, map_url: updated_gallery.map_url,
35
+ map_title: updated_gallery.map_title, year: updated_gallery.year, viewable_photos: to_viewable_photos(updated_gallery.photos), small_print: updated_gallery.small_print, blurb: updated_gallery.blurb, genre: updated_gallery.genre, update_date: updated_gallery.update_date)
36
36
  end
37
37
 
38
38
  def to_viewable_photos(mutable_viewable_photos)
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
7
7
  spec.version = M1keyGalleryGenerator::VERSION
8
8
  spec.authors = ['Michal Huniewicz']
9
9
  spec.email = ['REDACTED']
10
- spec.required_ruby_version = '>= 3.0'
10
+ spec.required_ruby_version = '>= 4.0'
11
11
 
12
12
  spec.metadata['allowed_push_host'] = 'https://rubygems.org'
13
13
 
@@ -16,17 +16,18 @@ Gem::Specification.new do |spec|
16
16
  spec.homepage = 'https://github.com/m1key/m1key_gallery_generator'
17
17
  spec.license = 'MIT'
18
18
 
19
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
19
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) || f.start_with?('.') }
20
20
  spec.bindir = 'exe'
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ['lib']
23
23
 
24
- spec.add_runtime_dependency 'exifr', '~> 1.4', '>= 1.4.0'
24
+ spec.add_runtime_dependency 'exifr', '~> 1.5', '>= 1.5.1'
25
+ spec.add_runtime_dependency 'logger', '~> 1.7'
25
26
 
26
- spec.add_development_dependency 'bundler', '~> 2.4', '>= 2.4.10'
27
- spec.add_development_dependency 'rake', '~> 13.0'
28
- spec.add_development_dependency 'minitest', '~> 5.15'
29
- spec.add_development_dependency 'rspec', '~> 3.13'
27
+ spec.add_development_dependency 'bundler', '~> 4.0', '>= 4.0.6'
28
+ spec.add_development_dependency 'rake', '~> 13.3', '>= 13.3.1'
29
+ spec.add_development_dependency 'minitest', '~> 6.0', '>= 6.0.2'
30
+ spec.add_development_dependency 'rspec', '~> 4.0.0.beta1'
30
31
  spec.add_development_dependency 'fiddle', '~> 1.1.8'
31
32
  spec.add_development_dependency 'htmlentities', '~> 4.4.2'
32
33
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: m1key_gallery_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.21
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Huniewicz
@@ -15,82 +15,108 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: '1.4'
18
+ version: '1.5'
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: 1.4.0
21
+ version: 1.5.1
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: '1.4'
28
+ version: '1.5'
29
29
  - - ">="
30
30
  - !ruby/object:Gem::Version
31
- version: 1.4.0
31
+ version: 1.5.1
32
+ - !ruby/object:Gem::Dependency
33
+ name: logger
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - "~>"
37
+ - !ruby/object:Gem::Version
38
+ version: '1.7'
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - "~>"
44
+ - !ruby/object:Gem::Version
45
+ version: '1.7'
32
46
  - !ruby/object:Gem::Dependency
33
47
  name: bundler
34
48
  requirement: !ruby/object:Gem::Requirement
35
49
  requirements:
36
50
  - - "~>"
37
51
  - !ruby/object:Gem::Version
38
- version: '2.4'
52
+ version: '4.0'
39
53
  - - ">="
40
54
  - !ruby/object:Gem::Version
41
- version: 2.4.10
55
+ version: 4.0.6
42
56
  type: :development
43
57
  prerelease: false
44
58
  version_requirements: !ruby/object:Gem::Requirement
45
59
  requirements:
46
60
  - - "~>"
47
61
  - !ruby/object:Gem::Version
48
- version: '2.4'
62
+ version: '4.0'
49
63
  - - ">="
50
64
  - !ruby/object:Gem::Version
51
- version: 2.4.10
65
+ version: 4.0.6
52
66
  - !ruby/object:Gem::Dependency
53
67
  name: rake
54
68
  requirement: !ruby/object:Gem::Requirement
55
69
  requirements:
56
70
  - - "~>"
57
71
  - !ruby/object:Gem::Version
58
- version: '13.0'
72
+ version: '13.3'
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 13.3.1
59
76
  type: :development
60
77
  prerelease: false
61
78
  version_requirements: !ruby/object:Gem::Requirement
62
79
  requirements:
63
80
  - - "~>"
64
81
  - !ruby/object:Gem::Version
65
- version: '13.0'
82
+ version: '13.3'
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: 13.3.1
66
86
  - !ruby/object:Gem::Dependency
67
87
  name: minitest
68
88
  requirement: !ruby/object:Gem::Requirement
69
89
  requirements:
70
90
  - - "~>"
71
91
  - !ruby/object:Gem::Version
72
- version: '5.15'
92
+ version: '6.0'
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: 6.0.2
73
96
  type: :development
74
97
  prerelease: false
75
98
  version_requirements: !ruby/object:Gem::Requirement
76
99
  requirements:
77
100
  - - "~>"
78
101
  - !ruby/object:Gem::Version
79
- version: '5.15'
102
+ version: '6.0'
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: 6.0.2
80
106
  - !ruby/object:Gem::Dependency
81
107
  name: rspec
82
108
  requirement: !ruby/object:Gem::Requirement
83
109
  requirements:
84
110
  - - "~>"
85
111
  - !ruby/object:Gem::Version
86
- version: '3.13'
112
+ version: 4.0.0.beta1
87
113
  type: :development
88
114
  prerelease: false
89
115
  version_requirements: !ruby/object:Gem::Requirement
90
116
  requirements:
91
117
  - - "~>"
92
118
  - !ruby/object:Gem::Version
93
- version: '3.13'
119
+ version: 4.0.0.beta1
94
120
  - !ruby/object:Gem::Dependency
95
121
  name: fiddle
96
122
  requirement: !ruby/object:Gem::Requirement
@@ -127,9 +153,6 @@ executables: []
127
153
  extensions: []
128
154
  extra_rdoc_files: []
129
155
  files:
130
- - ".github/workflows/ruby.yml"
131
- - ".gitignore"
132
- - ".rspec"
133
156
  - Gemfile
134
157
  - LICENSE.txt
135
158
  - README.md
@@ -160,14 +183,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
160
183
  requirements:
161
184
  - - ">="
162
185
  - !ruby/object:Gem::Version
163
- version: '3.0'
186
+ version: '4.0'
164
187
  required_rubygems_version: !ruby/object:Gem::Requirement
165
188
  requirements:
166
189
  - - ">="
167
190
  - !ruby/object:Gem::Version
168
191
  version: '0'
169
192
  requirements: []
170
- rubygems_version: 3.6.9
193
+ rubygems_version: 4.0.6
171
194
  specification_version: 4
172
195
  summary: m1key.me-style gallery generator.
173
196
  test_files: []
@@ -1,38 +0,0 @@
1
- # This workflow uses actions that are not certified by GitHub.
2
- # They are provided by a third-party and are governed by
3
- # separate terms of service, privacy policy, and support
4
- # documentation.
5
- # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
- # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
-
8
- name: Ruby
9
-
10
- on:
11
- push:
12
- branches: [ "master" ]
13
- pull_request:
14
- branches: [ "master" ]
15
-
16
- permissions:
17
- contents: read
18
-
19
- jobs:
20
- test:
21
-
22
- runs-on: ubuntu-latest
23
- strategy:
24
- matrix:
25
- ruby-version: ['3.2.2']
26
-
27
- steps:
28
- - uses: actions/checkout@v4
29
- - name: Set up Ruby
30
- # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
31
- # change this to (see https://github.com/ruby/setup-ruby#versioning):
32
- uses: ruby/setup-ruby@v1
33
- # uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
34
- with:
35
- ruby-version: ${{ matrix.ruby-version }}
36
- bundler-cache: true # runs 'bundle install' and caches installed gems automatically
37
- - name: Run tests
38
- run: bundle exec rake
data/.gitignore DELETED
@@ -1,38 +0,0 @@
1
- index.html
2
- uzbekistan*
3
- *.gem
4
- *.rbc
5
- /.config
6
- /coverage/
7
- /InstalledFiles
8
- /pkg/
9
- /spec/reports/
10
- /test/tmp/
11
- /test/version_tmp/
12
- /tmp/
13
- .idea
14
- *.iml
15
- .rakeTasks
16
- vendor
17
-
18
- ## Specific to RubyMotion:
19
- .dat*
20
- .repl_history
21
- build/
22
-
23
- ## Documentation cache and generated files:
24
- /.yardoc/
25
- /_yardoc/
26
- /doc/
27
- /rdoc/
28
-
29
- ## Environment normalisation:
30
- /.bundle/
31
- /lib/bundler/man/
32
-
33
- Gemfile.lock
34
- .ruby-version
35
- .ruby-gemset
36
-
37
- # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
38
- .rvmrc
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --format documentation
2
- --color