badpixxel-jekyll-flickr 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d77c937f86d982732c2f539894fbca4ce92e7736ad3b227d8ac6fe6f242d07f6
4
- data.tar.gz: 25def66513b8056ade046ecfb1ce76f2c0bdfd405a9fe116ff956b62a7e2d69b
3
+ metadata.gz: fbfd68e854bb49ed120e0e9a3dee8c32fe2d731f2195108158e287732bed806f
4
+ data.tar.gz: b1fd7b5c8314a924e97d95cb14fa6f283268cd5bf1e0cae860d61349c47efce0
5
5
  SHA512:
6
- metadata.gz: 651f69b924d62cb2593f2e52aa8d47ca29e7ffc815b99b4b63f2c21ba9a959f19b1178a33fce22b860d5e47e74b7bb449907d4bfcc91de0d7a54e6c0ceb100a7
7
- data.tar.gz: 04fd17fb6109fb676df886b47e9678f1157e2ebf3bb448b4b0e5bdb4d365301cc82bf7786e05e3c0555f4949b3096a585803a5c4efdb340a177ef5b8cdfcdb40
6
+ metadata.gz: d6aa0bf69fdff1118dccf3fce8276fd67d53156fc7e9002bd76624a76956e28fab9bea0d7dbe9468ce8f7d0e41755fb4d1560c91d1bee077a704d4b6ea54c17c
7
+ data.tar.gz: 394958bcb08a0614e390f1e21e6d013e609f675b8a9761cb4946a9180ad64baa274d11dd0f416320f14bf2772da503e2300b5bbb90b3cdce7a144937ed9044b3
data/.gitignore CHANGED
@@ -54,3 +54,4 @@ build-iPhoneSimulator/
54
54
 
55
55
  # Used by RuboCop. Remote config files pulled in from inherit_from directive.
56
56
  # .rubocop-https?--*
57
+ /Gemfile.lock
@@ -1,7 +1,26 @@
1
+ language: ruby
2
+ os: linux
3
+ dist: xenial
4
+ cache: bundler
5
+
6
+ env:
7
+ matrix:
8
+ - JEKYLL_VERSION="~> 3.8"
9
+
10
+ ################################################################################
11
+ # After a build, deploy to Ruby Gem
1
12
  deploy:
2
13
  provider: rubygems
14
+ gem: badpixxel-jekyll-flickr
3
15
  gemspec: badpixxel-jekyll-flickr.gemspec
4
16
  api_key:
5
17
  secure: Bok1ntaSXwMZG+Lrd4MhzP3ksUnlgWrsNaaBUkuwuLYlGc4dfrkEKUDfrztRvtACgiK+/6WuKe6FWMJI/ifeWNi7MEXREgkqwjXFbXFXJWmlQ2reXNlxJGv4UqZGv1kmG2WnauS4hDKc9TqKA36HzJwXQpbP4KQNslvbfdPlI5ptwTshzAuSrznC6AWPvzirsBXwXag8Zu8MPlQd7MJWl3QNaOOOJgylsGOIgikaZAucnO5qPOlTANhSP6pqEhrbqozVxUWf43diFvMUcOMKwk0woyEb37TuPLg4y9IFQYqnzg/BiE24Hcb6tE/ibawclt8Kp6pReerBw+XN7lNfy7MnEA+b6B50mZM1GvQHs5MI63E361hVoi7BvJWHeBr/112Ozqv2Z9KFiGwVBOeYUabzQrzL3YkXoWzSD2DotOd1MGp8XDtOYmxrrM5a3WxuBhmxPPXYfC3yppckFwsgCFmaAkdBq3ES1+up4azRA/8rw4vZYSCtEsVV9t8xFsz8eMZCdQojqVf+J0egM9y9LR94QFpxasDATkMHJNuMO0X0nEAqqXA/NbYEP35RUmcZEkyQzUqJgDBBbaKeX2558qUndFXaT531Vs/qGfv0hvwLX6mYXCgeSOhJdkj2EDFFxnqJ7c2U3897RbnmPEEPgmEYHE+JeQSuhXSa0TL+K38=
6
- on:
7
- tags: true
18
+ # on:
19
+ # tags: true
20
+
21
+ ################################################################################
22
+ # After a build, send email notification with the build results
23
+ notifications:
24
+ email:
25
+ on_success: never # default: change
26
+ on_failure: never # default: always
data/Gemfile CHANGED
@@ -3,6 +3,7 @@
3
3
  source "https://rubygems.org"
4
4
  gemspec
5
5
 
6
+ gem 'rake'
6
7
  gem "jekyll", ENV["JEKYLL_VERSION"] if ENV["JEKYLL_VERSION"]
7
8
 
8
9
  install_if -> { Gem.win_platform? } do
data/Rakefile CHANGED
@@ -1,3 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "bundler/gem_tasks"
4
+ require "rspec/core/rake_task"
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+
8
+ task :default => :spec
@@ -16,41 +16,68 @@ module Jekyll
16
16
 
17
17
  # Get All tags for a Flikr PhotoSet
18
18
  def flickr_ps_tags(photoset)
19
- site = @context.registers[:site]
20
- Jekyll::flickr_setup(site)
19
+ site = @context.registers[:site]
20
+ Jekyll::flickr_setup(site)
21
21
  photoset = Jekyll::flickr_get_photoset(site, photoset)
22
- if !photoset
23
- return []
24
- end
22
+ if !photoset
23
+ return []
24
+ end
25
25
 
26
26
  return photoset.get_tags()
27
27
  end
28
28
 
29
29
  # Get Most Used tags for a Flikr PhotoSet
30
30
  def flickr_ps_top_tags(photoset, count = 10)
31
- site = @context.registers[:site]
32
- Jekyll::flickr_setup(site)
31
+ site = @context.registers[:site]
32
+ Jekyll::flickr_setup(site)
33
33
  photoset = Jekyll::flickr_get_photoset(site, photoset)
34
- if !photoset
35
- return []
36
- end
34
+ if !photoset
35
+ return []
36
+ end
37
37
 
38
38
  return photoset.get_top_tags(count)
39
39
  end
40
40
 
41
-
42
- # Get Flikr PhotoSet Photos
41
+ # Get Flickr PhotoSet Photos
43
42
  def flickr_ps_photos(photoset, max = false)
44
- site = @context.registers[:site]
43
+ site = @context.registers[:site]
45
44
  Jekyll::flickr_setup(site)
46
45
  photoset = Jekyll::flickr_get_photoset(site, photoset)
47
- if !photoset
48
- return []
49
- end
46
+ if !photoset
47
+ return []
48
+ end
50
49
 
51
50
  return photoset.get_photos_array(max)
52
51
  end
53
52
 
53
+ # Get Flickr PhotoSet
54
+ def flickr_photoset(photoset)
55
+ site = @context.registers[:site]
56
+ Jekyll::flickr_setup(site)
57
+ photoset = Jekyll::flickr_get_photoset(site, photoset)
58
+ if !photoset
59
+ return []
60
+ end
61
+
62
+ return photoset
63
+ end
64
+
65
+ # Get Flickr PhotoSet Photo
66
+ def flickr_ps_photo(photoset, photo_id = nil)
67
+ site = @context.registers[:site]
68
+ Jekyll::flickr_setup(site)
69
+ photoset = Jekyll::flickr_get_photoset(site, photoset)
70
+ if !photoset
71
+ return []
72
+ end
73
+
74
+ if photo_id
75
+ return photoset.get_photo(photo_id)
76
+ end
77
+
78
+ return photoset.get_primary_photo()
79
+ end
80
+
54
81
 
55
82
  end
56
83
 
@@ -35,9 +35,9 @@ class FlickrLoader
35
35
  puts "Flickr: Update of Photosets cache"
36
36
 
37
37
  # Fetch list of Photosets
38
- nsid = flickr.people.findByUsername(:username => site.config['flickr']['screen_name']).id
39
- flickr_photosets = flickr.photosets.getList(:user_id => nsid)
40
-
38
+ nsid = flickr.people.findByUsername(:username => site.config['flickr']['screen_name']).id
39
+ flickr_photosets = flickr.photosets.getList(:user_id => nsid)
40
+
41
41
  # Update All Photosets Cache
42
42
  flickr_photosets.each do |flickr_photoset|
43
43
  photoset = Photoset.new(site, flickr_photoset)
@@ -142,7 +142,7 @@ class Photo
142
142
  'id' => self.id,
143
143
  'title' => self.title,
144
144
  'date' => self.date,
145
- 'decription' => self.description,
145
+ 'description' => self.description,
146
146
  'tags' => self.tags,
147
147
  'tags_hash' => tags_hash,
148
148
  'url_full' => self.url_full,
@@ -15,7 +15,7 @@ require 'flickraw'
15
15
  module Jekyll
16
16
 
17
17
  class Photoset
18
- attr_accessor :id, :title, :description, :date_update, :date_update_str, :slug, :cache_dir, :cache_file, :photos, :photos_from_cache, :photos_from_flickr
18
+ attr_accessor :id, :title, :description, :primary, :date_update, :date_update_str, :slug, :cache_dir, :cache_file, :photos, :photos_from_cache, :photos_from_flickr
19
19
 
20
20
  def initialize(site, photoset)
21
21
  self.photos = Array.new
@@ -34,6 +34,7 @@ class Photoset
34
34
  self.id = flickr_photoset.id
35
35
  self.title = flickr_photoset.title
36
36
  self.description = flickr_photoset.description
37
+ self.primary = flickr_photoset.primary
37
38
  self.date_update = flickr_photoset.date_update
38
39
  self.date_update_str = DateTime.strptime(flickr_photoset.date_update, '%s').to_s
39
40
  self.slug = self.title.downcase.gsub(/ /, '-').gsub(/[^a-z\-]/, '')
@@ -84,6 +85,7 @@ class Photoset
84
85
  self.id = cached['id']
85
86
  self.title = cached['title']
86
87
  self.description = cached['description']
88
+ self.primary = cached['primary']
87
89
  self.date_update = cached['date_update']
88
90
  self.date_update_str = cached['date_update_str']
89
91
  self.slug = cached['slug']
@@ -102,6 +104,7 @@ class Photoset
102
104
  cached['id'] = self.id
103
105
  cached['title'] = self.title
104
106
  cached['description'] = self.description
107
+ cached['primary'] = self.primary
105
108
  cached['date_update'] = self.date_update
106
109
  cached['date_update_str'] = self.date_update_str
107
110
  cached['slug'] = self.slug
@@ -110,7 +113,19 @@ class Photoset
110
113
 
111
114
  File.open(self.cache_file, 'w') {|f| f.print(YAML::dump(cached))}
112
115
  end
113
-
116
+
117
+ # Convert PhotoSet to liquid Format
118
+ def to_liquid
119
+ return [
120
+ 'id' => self.id,
121
+ 'title' => self.title,
122
+ 'description' => self.description,
123
+ 'primary' => self.primary,
124
+ 'slug' => self.slug,
125
+ 'date_update' => self.date_update,
126
+ ]
127
+ end
128
+
114
129
  # Get List of Most used tags
115
130
  def get_top_tags(count)
116
131
  # Build List of tags [ "tag" => count ]
@@ -173,6 +188,27 @@ class Photoset
173
188
 
174
189
  return collection
175
190
  end
191
+
192
+ # Get Photoset Primary Photo
193
+ def get_primary_photo()
194
+ photo = self.get_photo(self.primary)
195
+ if photo
196
+ return photo
197
+ end
198
+
199
+ return self.photos.first()
200
+ end
201
+
202
+ # Get Photoset Photo
203
+ def get_photo(photo_id)
204
+ self.photos.each do |photo|
205
+ if photo.id == photo_id
206
+ return photo
207
+ end
208
+ end
209
+
210
+ return nil
211
+ end
176
212
 
177
213
  def gen_html
178
214
  content = ''
@@ -1,3 +1,3 @@
1
1
  module Jekyll
2
- FLICKR_VERSION = '0.0.2'
2
+ FLICKR_VERSION = '0.0.3'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: badpixxel-jekyll-flickr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - BadPixxel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-23 00:00:00.000000000 Z
11
+ date: 2020-03-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -126,7 +126,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
126
  - !ruby/object:Gem::Version
127
127
  version: '0'
128
128
  requirements: []
129
- rubygems_version: 3.0.6
129
+ rubyforge_project:
130
+ rubygems_version: 2.7.7
130
131
  signing_key:
131
132
  specification_version: 4
132
133
  summary: A Jekyll plugin to embed Flickr Sets & Photos in your Jekyll blog