jekyll-recker 1.11.0 → 1.12.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: 15d0b79e8f6f9370433856ad0d89a1ae7996d0900644739fa915bd5f155e60c9
4
- data.tar.gz: 630418f988d9e17ac451be9932aa6e3f881cb71a37570b7d4e70bd3f1b629477
3
+ metadata.gz: f0acecf9f429bcd83a0cbe8204e046bee16c5a30de1e458b4080db7502e3a831
4
+ data.tar.gz: 2b579e98cd7b81c71f063652a45b791708825b58d6ba83d2146ab2f321b0ce2e
5
5
  SHA512:
6
- metadata.gz: 141f627ae47682e8cd42320cd522693e33f01970f8f229c7394f26d66e1a13284ac1f73f8ac90fc4361093dccef209698a89ea168be299b9fae264efe6106523
7
- data.tar.gz: 9563f420e21f8a343c409521b06065c5d36f8aad3f503303511e913ec37b1d15ee476819bcffa1ccf4a6c8781b6c1da8d52b474c25dbc007a68e3d27395412aa
6
+ metadata.gz: a8b792c90336432c126993937c45dafcb88b1741bfbe2f0eafb32f8c6cc7607d402c442a782409b69a52664cbffe886cf8be39efff0890c15a2f96d84c5f83a9
7
+ data.tar.gz: 14da6696ecf19dc25ea9d02a7ef1904c7e975f8137f0a41ee333da524ff1d242391673a2d6c31d81a77a0ce11d45aed03677b7173e24dae6a91716255f146689
@@ -6,7 +6,6 @@ require 'jekyll'
6
6
  #
7
7
  # The greatest jekyll plugin in the world
8
8
  module JekyllRecker
9
- autoload :Configuration, 'jekyll_recker/configuration.rb'
10
9
  autoload :Mixins, 'jekyll_recker/mixins.rb'
11
10
  autoload :Shell, 'jekyll_recker/shell.rb'
12
11
  autoload :Social, 'jekyll_recker/social.rb'
@@ -17,8 +17,11 @@ module JekyllRecker
17
17
  end
18
18
 
19
19
  def self.action(args, options)
20
- JekyllRecker::Social.action(args, options)
21
- rescue Error => e
20
+ site = Jekyll::Site.new(configuration_from_options(options))
21
+ site.reset
22
+ site.read
23
+ Social.action(site, args, options)
24
+ rescue StandardError => e
22
25
  logger.error e.message
23
26
  exit 1
24
27
  end
@@ -5,11 +5,12 @@ require 'twitter'
5
5
 
6
6
  module JekyllRecker
7
7
  module Social
8
- def self.action(args, options)
8
+ def self.action(site, args, options)
9
9
  args += %w[slack twitter] if args.empty?
10
- Slack.share(dry: options['dry']) if args.include?('slack')
11
- Twitter.share(dry: options['dry']) if args.include?('twitter')
10
+ Slack.share(site, dry: options['dry']) if args.include?('slack')
11
+ Twitter.share(site, dry: options['dry']) if args.include?('twitter')
12
12
  end
13
+
13
14
  # Backend
14
15
  #
15
16
  # Backend base class for social sharing backends.
@@ -18,8 +19,8 @@ module JekyllRecker
18
19
  include Mixins::Introspection
19
20
  include Mixins::Logging
20
21
 
21
- def self.share(dry: false)
22
- backend = new(dry: dry)
22
+ def self.share(site, dry: false)
23
+ backend = new(site, dry: dry)
23
24
  logger.info "#{backend.name} - building configuration"
24
25
  backend.configure!
25
26
 
@@ -27,7 +28,8 @@ module JekyllRecker
27
28
  backend.post!
28
29
  end
29
30
 
30
- def initialize(dry: false)
31
+ def initialize(site, dry: false)
32
+ @site = site
31
33
  @dry = dry
32
34
  end
33
35
 
@@ -36,7 +38,7 @@ module JekyllRecker
36
38
  end
37
39
 
38
40
  def config
39
- @config ||= JekyllRecker::Configuration.recker.fetch(config_key)
41
+ @site.config.fetch('recker', {}).fetch(config_key, {})
40
42
  end
41
43
 
42
44
  def config_key
@@ -45,7 +47,7 @@ module JekyllRecker
45
47
  alias name config_key
46
48
 
47
49
  def post_body
48
- url = File.join Configuration.jekyll['url'], latest.url
50
+ url = File.join @site.config['url'], latest.url
49
51
  <<~BODY
50
52
  #{latest.data['date'].strftime('%A, %B %-d %Y')}
51
53
  #{latest.data['title']}
@@ -54,7 +56,7 @@ module JekyllRecker
54
56
  end
55
57
 
56
58
  def latest
57
- @latest ||= Configuration.latest_post
59
+ @latest ||= @site.posts.docs.last
58
60
  end
59
61
 
60
62
  def latest_title
@@ -154,7 +156,7 @@ module JekyllRecker
154
156
 
155
157
  def extract_from_config
156
158
  values = cred_fieldnames.map do |k|
157
- Shell.run(Configuration.twitter["#{k}_cmd"]).strip
159
+ Shell.run(twitter_config["#{k}_cmd"]).strip
158
160
  end
159
161
 
160
162
  return nil if values.any? { |v| v.nil? || v.empty? }
@@ -162,6 +164,10 @@ module JekyllRecker
162
164
  Hash[cred_fieldnames.zip(values)]
163
165
  end
164
166
 
167
+ def twitter_config
168
+ @site.config.fetch('recker', {}).fetch('twitter', {})
169
+ end
170
+
165
171
  def cred_fieldnames
166
172
  %w[
167
173
  access_token_secret
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module JekyllRecker
4
- VERSION = '1.11.0'
4
+ VERSION = '1.12.0'
5
5
  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.11.0
4
+ version: 1.12.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-13 00:00:00.000000000 Z
11
+ date: 2020-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bump
@@ -184,7 +184,6 @@ files:
184
184
  - _layouts/post.html
185
185
  - lib/jekyll-recker.rb
186
186
  - lib/jekyll_recker/commands.rb
187
- - lib/jekyll_recker/configuration.rb
188
187
  - lib/jekyll_recker/filters.rb
189
188
  - lib/jekyll_recker/generators.rb
190
189
  - lib/jekyll_recker/mixins.rb
@@ -1,37 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module JekyllRecker
4
- # Configuration
5
- module Configuration
6
- def self.jekyll
7
- @jekyll ||= Jekyll.configuration
8
- end
9
-
10
- def self.recker
11
- jekyll.fetch('recker', {})
12
- end
13
-
14
- def self.facebook
15
- recker.fetch('facebook', {})
16
- end
17
-
18
- def self.twitter
19
- recker.fetch('twitter', {})
20
- end
21
-
22
- def self.slack
23
- recker.fetch('slack', {})
24
- end
25
-
26
- def self.site
27
- @site = Jekyll::Site.new(jekyll)
28
- @site.reset
29
- @site.read
30
- @site
31
- end
32
-
33
- def self.latest_post
34
- @latest_post ||= site.posts.docs.last
35
- end
36
- end
37
- end