jekyll-github-metadata 2.12.0 → 2.14.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-github-metadata/client.rb +10 -1
- data/lib/jekyll-github-metadata/edit-link-tag.rb +27 -6
- data/lib/jekyll-github-metadata/metadata_drop.rb +8 -1
- data/lib/jekyll-github-metadata/owner.rb +1 -0
- data/lib/jekyll-github-metadata/repository.rb +17 -1
- data/lib/jekyll-github-metadata/sanitizer.rb +4 -2
- data/lib/jekyll-github-metadata/site_github_munger.rb +7 -1
- data/lib/jekyll-github-metadata/version.rb +1 -1
- metadata +18 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0aa9b80b06e98d57d4a18a9952b633e26bdd18743300b2a060fdf49ab9fd76a5
|
4
|
+
data.tar.gz: 750dc7e1fd1da0527ffe369bc6abd3b12170900ae3a7db30e041b35712ebe163
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3768bf00efd6d4455c739cc84fe0e553c5569eb2548f1608845dd3cf8ca203bb83d47be001987152acd64d63962587c8d4748fa4bae9006b5a2a98963210c092
|
7
|
+
data.tar.gz: 62bfca12e088100b09b0343391cf2750778415062a9b2ef1da7cc4390ef56fa8b13ac60347bc37a891d504738ac6bce6a160b5ba5f680bd09bb792ce5dbe92bf
|
@@ -68,6 +68,15 @@ module Jekyll
|
|
68
68
|
end
|
69
69
|
end
|
70
70
|
|
71
|
+
# NOTE: Faraday's error classes has been promoted to under Faraday module from v1.0.0.
|
72
|
+
# This patch aims to prevent on locking specific version of Faraday.
|
73
|
+
FARADAY_FAILED_CONNECTION =
|
74
|
+
begin
|
75
|
+
Faraday::Error::ConnectionFailed
|
76
|
+
rescue NameError
|
77
|
+
Faraday::ConnectionFailed
|
78
|
+
end
|
79
|
+
|
71
80
|
def save_from_errors(default = false)
|
72
81
|
unless internet_connected?
|
73
82
|
GitHubMetadata.log :warn, "No internet connection. GitHub metadata may be missing or incorrect."
|
@@ -77,7 +86,7 @@ module Jekyll
|
|
77
86
|
yield @client
|
78
87
|
rescue Octokit::Unauthorized
|
79
88
|
raise BadCredentialsError, "The GitHub API credentials you provided aren't valid."
|
80
|
-
rescue
|
89
|
+
rescue FARADAY_FAILED_CONNECTION, Octokit::TooManyRequests => e
|
81
90
|
GitHubMetadata.log :warn, e.message
|
82
91
|
default
|
83
92
|
rescue Octokit::NotFound
|
@@ -69,19 +69,40 @@ module Jekyll
|
|
69
69
|
end
|
70
70
|
|
71
71
|
def parts
|
72
|
-
|
72
|
+
memoize_conditionally { [repository_url, "edit/", branch, source_path, page_path] }
|
73
73
|
end
|
74
74
|
|
75
75
|
def parts_normalized
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
76
|
+
memoize_conditionally do
|
77
|
+
parts.map.with_index do |part, index|
|
78
|
+
part = remove_leading_slash(part.to_s)
|
79
|
+
part = ensure_trailing_slash(part) unless index == parts.length - 1
|
80
|
+
ensure_not_just_a_slash(part)
|
81
|
+
end
|
80
82
|
end
|
81
83
|
end
|
82
84
|
|
83
85
|
def page
|
84
|
-
|
86
|
+
memoize_conditionally { context.registers[:page] }
|
87
|
+
end
|
88
|
+
|
89
|
+
# Utility function for compatibility with Jekyll 4.0
|
90
|
+
def memoize_conditionally
|
91
|
+
if renderer_cached?
|
92
|
+
yield
|
93
|
+
else
|
94
|
+
dispatcher = "@#{caller_locations(1..1).first.label}".to_sym
|
95
|
+
if instance_variable_defined?(dispatcher)
|
96
|
+
instance_variable_get(dispatcher)
|
97
|
+
else
|
98
|
+
instance_variable_set(dispatcher, yield)
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
# Utility function to detect Jekyll 4.0
|
104
|
+
def renderer_cached?
|
105
|
+
@renderer_cached ||= context.registers[:site].liquid_renderer.respond_to?(:cache)
|
85
106
|
end
|
86
107
|
|
87
108
|
def site
|
@@ -14,7 +14,7 @@ module Jekyll
|
|
14
14
|
alias_method :invoke_drop, :[]
|
15
15
|
def key?(key)
|
16
16
|
return false if key.nil?
|
17
|
-
return true if self.class.mutable? &&
|
17
|
+
return true if self.class.mutable? && mutations.key?(key)
|
18
18
|
|
19
19
|
respond_to?(key) || fallback_data.key?(key)
|
20
20
|
end
|
@@ -48,6 +48,7 @@ module Jekyll
|
|
48
48
|
def_delegator :repository, :tagline, :project_tagline
|
49
49
|
def_delegator :repository, :owner_metadata, :owner
|
50
50
|
def_delegator :repository, :owner, :owner_name
|
51
|
+
def_delegator :repository, :owner_display_name, :owner_display_name
|
51
52
|
def_delegator :repository, :owner_url, :owner_url
|
52
53
|
def_delegator :repository, :owner_gravatar_url, :owner_gravatar_url
|
53
54
|
def_delegator :repository, :repository_url, :repository_url
|
@@ -69,6 +70,8 @@ module Jekyll
|
|
69
70
|
def_delegator :repository, :releases, :releases
|
70
71
|
def_delegator :repository, :latest_release, :latest_release
|
71
72
|
def_delegator :repository, :private?, :private
|
73
|
+
def_delegator :repository, :archived?, :archived
|
74
|
+
def_delegator :repository, :disabled?, :disabled
|
72
75
|
def_delegator :repository, :license, :license
|
73
76
|
def_delegator :repository, :source, :source
|
74
77
|
|
@@ -95,6 +98,10 @@ module Jekyll
|
|
95
98
|
def fallback_data
|
96
99
|
@fallback_data ||= {}
|
97
100
|
end
|
101
|
+
|
102
|
+
def mutations
|
103
|
+
@mutations ||= {}
|
104
|
+
end
|
98
105
|
end
|
99
106
|
end
|
100
107
|
end
|
@@ -26,6 +26,8 @@ module Jekyll
|
|
26
26
|
def_hash_delegator :repo_info, :description, :tagline
|
27
27
|
def_hash_delegator :repo_info, :has_downloads, :show_downloads?
|
28
28
|
def_hash_delegator :repo_info, :private, :private?
|
29
|
+
def_hash_delegator :repo_info, :archived, :archived?
|
30
|
+
def_hash_delegator :repo_info, :disabled, :disabled?
|
29
31
|
def_hash_delegator :latest_release, :url, :latest_release_url
|
30
32
|
def_hash_delegator :source, :branch, :git_ref
|
31
33
|
|
@@ -62,6 +64,10 @@ module Jekyll
|
|
62
64
|
end
|
63
65
|
end
|
64
66
|
|
67
|
+
def owner_display_name
|
68
|
+
owner_metadata.name
|
69
|
+
end
|
70
|
+
|
65
71
|
def owner_metadata
|
66
72
|
@owner_metadata ||= Jekyll::GitHubMetadata::Owner.new(owner)
|
67
73
|
end
|
@@ -107,7 +113,17 @@ module Jekyll
|
|
107
113
|
end
|
108
114
|
|
109
115
|
def owner_public_repositories
|
110
|
-
|
116
|
+
options = {
|
117
|
+
:type => "public",
|
118
|
+
:accept => "application/vnd.github.mercy-preview+json",
|
119
|
+
}
|
120
|
+
memoize_value :@owner_public_repositories, Value.new("owner_public_repositories", proc do |c|
|
121
|
+
c.list_repos(owner, options).map do |r|
|
122
|
+
r[:releases] = Value.new("owner_public_repositories_releases", proc { c.releases(r[:full_name]) })
|
123
|
+
r[:contributors] = Value.new("owner_public_repositories_contributors", proc { c.contributors(r[:full_name]) })
|
124
|
+
r
|
125
|
+
end
|
126
|
+
end)
|
111
127
|
end
|
112
128
|
|
113
129
|
def organization_public_members
|
@@ -16,7 +16,7 @@ module Jekyll
|
|
16
16
|
# resource - an Object
|
17
17
|
#
|
18
18
|
# Returns the sanitized resource.
|
19
|
-
# rubocop:disable Metrics/CyclomaticComplexity
|
19
|
+
# rubocop:disable Metrics/CyclomaticComplexity, Metrics/MethodLength
|
20
20
|
def sanitize(resource)
|
21
21
|
case resource
|
22
22
|
when Array
|
@@ -31,6 +31,8 @@ module Jekyll
|
|
31
31
|
nil
|
32
32
|
when String
|
33
33
|
resource
|
34
|
+
when Value
|
35
|
+
resource.render
|
34
36
|
else
|
35
37
|
if resource.respond_to?(:to_hash)
|
36
38
|
sanitize_resource(resource)
|
@@ -39,7 +41,7 @@ module Jekyll
|
|
39
41
|
end
|
40
42
|
end
|
41
43
|
end
|
42
|
-
# rubocop:enable Metrics/CyclomaticComplexity
|
44
|
+
# rubocop:enable Metrics/CyclomaticComplexity, Metrics/MethodLength
|
43
45
|
|
44
46
|
# Sanitize the Sawyer Resource or Hash
|
45
47
|
# Note: the object must respond to :to_hash for this to work.
|
@@ -55,7 +55,13 @@ module Jekyll
|
|
55
55
|
msg << "Jekyll GitHub Metadata will not set site.title to the repository's name."
|
56
56
|
Jekyll::GitHubMetadata.log :warn, msg
|
57
57
|
else
|
58
|
-
site.config["title"] ||= Value.new("title", proc { |
|
58
|
+
site.config["title"] ||= Value.new("title", proc { |_context, repository|
|
59
|
+
if repository.project_page?
|
60
|
+
repository.name
|
61
|
+
else
|
62
|
+
repository.owner_display_name || repository.owner
|
63
|
+
end
|
64
|
+
})
|
59
65
|
end
|
60
66
|
site.config["description"] ||= Value.new("description", proc { |_c, r| r.tagline })
|
61
67
|
end
|
metadata
CHANGED
@@ -1,29 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-github-metadata
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Parker Moore
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-05-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '3.4'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '5.0'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '3.4'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '5.0'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: octokit
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -104,30 +110,30 @@ dependencies:
|
|
104
110
|
name: rspec
|
105
111
|
requirement: !ruby/object:Gem::Requirement
|
106
112
|
requirements:
|
107
|
-
- - "
|
113
|
+
- - "~>"
|
108
114
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
115
|
+
version: 3.11.0
|
110
116
|
type: :development
|
111
117
|
prerelease: false
|
112
118
|
version_requirements: !ruby/object:Gem::Requirement
|
113
119
|
requirements:
|
114
|
-
- - "
|
120
|
+
- - "~>"
|
115
121
|
- !ruby/object:Gem::Version
|
116
|
-
version:
|
122
|
+
version: 3.11.0
|
117
123
|
- !ruby/object:Gem::Dependency
|
118
124
|
name: rubocop-jekyll
|
119
125
|
requirement: !ruby/object:Gem::Requirement
|
120
126
|
requirements:
|
121
127
|
- - "~>"
|
122
128
|
- !ruby/object:Gem::Version
|
123
|
-
version: 0.
|
129
|
+
version: 0.12.0
|
124
130
|
type: :development
|
125
131
|
prerelease: false
|
126
132
|
version_requirements: !ruby/object:Gem::Requirement
|
127
133
|
requirements:
|
128
134
|
- - "~>"
|
129
135
|
- !ruby/object:Gem::Version
|
130
|
-
version: 0.
|
136
|
+
version: 0.12.0
|
131
137
|
description:
|
132
138
|
email:
|
133
139
|
- parkrmoore@gmail.com
|
@@ -148,7 +154,7 @@ files:
|
|
148
154
|
- lib/jekyll-github-metadata/site_github_munger.rb
|
149
155
|
- lib/jekyll-github-metadata/value.rb
|
150
156
|
- lib/jekyll-github-metadata/version.rb
|
151
|
-
homepage: https://github.com/
|
157
|
+
homepage: https://github.com/jekyll/github-metadata
|
152
158
|
licenses:
|
153
159
|
- MIT
|
154
160
|
metadata: {}
|
@@ -167,7 +173,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
167
173
|
- !ruby/object:Gem::Version
|
168
174
|
version: '0'
|
169
175
|
requirements: []
|
170
|
-
rubygems_version: 3.
|
176
|
+
rubygems_version: 3.1.6
|
171
177
|
signing_key:
|
172
178
|
specification_version: 4
|
173
179
|
summary: The site.github namespace
|