jekyll-recker 1.10.0 → 1.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/jekyll-recker.rb +0 -1
- data/lib/jekyll_recker/commands.rb +1 -1
- data/lib/jekyll_recker/generators.rb +43 -0
- data/lib/jekyll_recker/shell.rb +1 -4
- data/lib/jekyll_recker/social.rb +11 -11
- data/lib/jekyll_recker/version.rb +1 -1
- metadata +30 -3
- data/lib/jekyll_recker/error.rb +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 15d0b79e8f6f9370433856ad0d89a1ae7996d0900644739fa915bd5f155e60c9
|
4
|
+
data.tar.gz: 630418f988d9e17ac451be9932aa6e3f881cb71a37570b7d4e70bd3f1b629477
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 141f627ae47682e8cd42320cd522693e33f01970f8f229c7394f26d66e1a13284ac1f73f8ac90fc4361093dccef209698a89ea168be299b9fae264efe6106523
|
7
|
+
data.tar.gz: 9563f420e21f8a343c409521b06065c5d36f8aad3f503303511e913ec37b1d15ee476819bcffa1ccf4a6c8781b6c1da8d52b474c25dbc007a68e3d27395412aa
|
data/lib/jekyll-recker.rb
CHANGED
@@ -7,7 +7,6 @@ require 'jekyll'
|
|
7
7
|
# The greatest jekyll plugin in the world
|
8
8
|
module JekyllRecker
|
9
9
|
autoload :Configuration, 'jekyll_recker/configuration.rb'
|
10
|
-
autoload :Error, 'jekyll_recker/error.rb'
|
11
10
|
autoload :Mixins, 'jekyll_recker/mixins.rb'
|
12
11
|
autoload :Shell, 'jekyll_recker/shell.rb'
|
13
12
|
autoload :Social, 'jekyll_recker/social.rb'
|
@@ -1,7 +1,50 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'mini_magick'
|
4
|
+
require 'fastimage'
|
5
|
+
|
3
6
|
module JekyllRecker
|
4
7
|
module Generators
|
8
|
+
# Image Resize Generator
|
9
|
+
class ImageResize < Jekyll::Generator
|
10
|
+
include Mixins::Logging
|
11
|
+
|
12
|
+
def generate(site)
|
13
|
+
@site = site
|
14
|
+
logger.info 'checking images'
|
15
|
+
resizeable_images.each do |f, d|
|
16
|
+
logger.info "resizing #{f} to fit #{d}"
|
17
|
+
image = MiniMagick::Image.new(f)
|
18
|
+
image.resize d
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def image?(file)
|
23
|
+
['.jpg', 'jpeg', '.png', '.svg'].include? File.extname(file)
|
24
|
+
end
|
25
|
+
|
26
|
+
def too_big?(width, height)
|
27
|
+
width > 800 || height > 800
|
28
|
+
end
|
29
|
+
|
30
|
+
def images
|
31
|
+
@site.static_files.collect(&:path).select { |f| image?(f) }
|
32
|
+
end
|
33
|
+
|
34
|
+
def resizeable_images
|
35
|
+
with_sizes = images.map { |f| [f, FastImage.size(f)].flatten }
|
36
|
+
with_sizes.select! { |f| too_big?(f[1], f[2]) }
|
37
|
+
with_sizes.map do |f, w, h|
|
38
|
+
dimensions = if w > h
|
39
|
+
'800x600'
|
40
|
+
else
|
41
|
+
'600x800'
|
42
|
+
end
|
43
|
+
[f, dimensions]
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
5
48
|
# Stats Module
|
6
49
|
#
|
7
50
|
# Functions for stats generators.
|
data/lib/jekyll_recker/shell.rb
CHANGED
@@ -5,9 +5,6 @@ require 'open3'
|
|
5
5
|
module JekyllRecker
|
6
6
|
# Shell
|
7
7
|
module Shell
|
8
|
-
# ShellCommandFailed
|
9
|
-
class ShellCommandFailed < JekyllRecker::Error; end
|
10
|
-
|
11
8
|
def self.run(cmd)
|
12
9
|
out, err, status = Open3.capture3(cmd)
|
13
10
|
return out if status.success?
|
@@ -22,7 +19,7 @@ module JekyllRecker
|
|
22
19
|
#{err}
|
23
20
|
ERROR
|
24
21
|
|
25
|
-
raise
|
22
|
+
raise msg
|
26
23
|
end
|
27
24
|
end
|
28
25
|
end
|
data/lib/jekyll_recker/social.rb
CHANGED
@@ -47,10 +47,10 @@ module JekyllRecker
|
|
47
47
|
def post_body
|
48
48
|
url = File.join Configuration.jekyll['url'], latest.url
|
49
49
|
<<~BODY
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
50
|
+
#{latest.data['date'].strftime('%A, %B %-d %Y')}
|
51
|
+
#{latest.data['title']}
|
52
|
+
#{url}
|
53
|
+
BODY
|
54
54
|
end
|
55
55
|
|
56
56
|
def latest
|
@@ -79,7 +79,7 @@ module JekyllRecker
|
|
79
79
|
workspaces.each do |key, data|
|
80
80
|
webhook = ENV["SLACK_#{key.upcase}_WEBHOOK"] || extract_from_config(data)
|
81
81
|
if webhook.nil?
|
82
|
-
raise
|
82
|
+
raise "cannot find slack webhook for #{key} workspace!"
|
83
83
|
end
|
84
84
|
|
85
85
|
@creds[key] = webhook
|
@@ -123,7 +123,7 @@ module JekyllRecker
|
|
123
123
|
class Twitter < Share
|
124
124
|
def configure!
|
125
125
|
creds = extract_from_env || extract_from_config
|
126
|
-
raise
|
126
|
+
raise 'cannot find twitter credentials!' if creds.nil?
|
127
127
|
|
128
128
|
@client = ::Twitter::REST::Client.new do |settings|
|
129
129
|
settings.consumer_key = creds['consumer_api_key']
|
@@ -163,11 +163,11 @@ module JekyllRecker
|
|
163
163
|
end
|
164
164
|
|
165
165
|
def cred_fieldnames
|
166
|
-
[
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
166
|
+
%w[
|
167
|
+
access_token_secret
|
168
|
+
access_token
|
169
|
+
consumer_api_key
|
170
|
+
consumer_api_secret
|
171
171
|
]
|
172
172
|
end
|
173
173
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-recker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Recker
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-07-
|
11
|
+
date: 2020-07-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bump
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: fastimage
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: jekyll
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,6 +122,20 @@ dependencies:
|
|
108
122
|
- - "~>"
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '3.8'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: mini_magick
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
111
139
|
- !ruby/object:Gem::Dependency
|
112
140
|
name: slack-notifier
|
113
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -157,7 +185,6 @@ files:
|
|
157
185
|
- lib/jekyll-recker.rb
|
158
186
|
- lib/jekyll_recker/commands.rb
|
159
187
|
- lib/jekyll_recker/configuration.rb
|
160
|
-
- lib/jekyll_recker/error.rb
|
161
188
|
- lib/jekyll_recker/filters.rb
|
162
189
|
- lib/jekyll_recker/generators.rb
|
163
190
|
- lib/jekyll_recker/mixins.rb
|