jekyll-github-metadata 2.12.0 → 2.14.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 +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
|