jekyll-github-metadata 2.4.0 → 2.5.0

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
  SHA1:
3
- metadata.gz: 7347cc8b75350a9f119bb515764484beadbf3b58
4
- data.tar.gz: 356deee3da8394780051ac14bb82dbc5bf49a779
3
+ metadata.gz: 503fb1e44f153839ed5415091c54cc808624b611
4
+ data.tar.gz: 8bfbc5fd294cbd2149471a24f50ea930dd2e3e9e
5
5
  SHA512:
6
- metadata.gz: 06d307897672e83283576796321325ceeb3f7ce524205bc11974c01c7b8422bc7d346640a765c3a1f4f2c0b8ea38f162784581c1a4b6a95576cc8e05664bd0ea
7
- data.tar.gz: 39484711ab95934eb2de95fde1408e9c79ab7b83ead4ded42d4016910cf3d80ad9eb674cfec4243eec092f5c3fc6b7392ade498a879e35677c00d9bc6ad27b6b
6
+ metadata.gz: 8938ee3c7ae483b1d7a7add1741ac06a965e1bc9345b4fe2e0f22928d98a0a429b55d05f229cb556937bfb51524bf594446c607a85e0158798111b7eb6ef35bd
7
+ data.tar.gz: 4c5503733a2c443acec81975235989d9b1bf1b924f25e198989a3415d6597cf3075bccdfb7697d1627390f8b58066eaf2be7cdc1d7c76a523f7c0554661cf173
@@ -14,6 +14,7 @@ module Jekyll
14
14
  pages
15
15
  contributors
16
16
  releases
17
+ latest_release
17
18
  list_repos
18
19
  organization_public_members
19
20
  ))
@@ -29,12 +30,20 @@ module Jekyll
29
30
  false
30
31
  end
31
32
 
33
+ def default_octokit_options
34
+ {
35
+ :api_endpoint => Jekyll::GitHubMetadata::Pages.api_url,
36
+ :web_endpoint => Jekyll::GitHubMetadata::Pages.github_url,
37
+ :auto_paginate => true,
38
+ }
39
+ end
40
+
32
41
  def build_octokit_client(options = nil)
33
42
  options ||= {}
34
43
  unless options.key? :access_token
35
44
  options.merge! pluck_auth_method
36
45
  end
37
- Octokit::Client.new({ :auto_paginate => true }.merge(options))
46
+ Octokit::Client.new(default_octokit_options.merge(options))
38
47
  end
39
48
 
40
49
  def accepts_client_method?(method_name)
@@ -63,6 +63,7 @@ module Jekyll
63
63
  def_delegator :repository, :tar_url, :tar_url
64
64
  def_delegator :repository, :repo_clone_url, :clone_url
65
65
  def_delegator :repository, :releases_url, :releases_url
66
+ def_delegator :repository, :latest_release_url, :latest_release_url
66
67
  def_delegator :repository, :issues_url, :issues_url
67
68
  def_delegator :repository, :wiki_url, :wiki_url
68
69
  def_delegator :repository, :language, :language
@@ -73,6 +74,7 @@ module Jekyll
73
74
  def_delegator :repository, :baseurl, :baseurl
74
75
  def_delegator :repository, :contributors, :contributors
75
76
  def_delegator :repository, :releases, :releases
77
+ def_delegator :repository, :latest_release, :latest_release
76
78
 
77
79
  private
78
80
  attr_reader :site
@@ -64,6 +64,10 @@ module Jekyll
64
64
  "#{repository_url}/releases"
65
65
  end
66
66
 
67
+ def latest_release_url
68
+ latest_release["url"]
69
+ end
70
+
67
71
  def issues_url
68
72
  "#{repository_url}/issues" if repo_info["has_issues"]
69
73
  end
@@ -98,6 +102,10 @@ module Jekyll
98
102
  memoize_value :@releases, Value.new(proc { |c| c.releases(nwo) })
99
103
  end
100
104
 
105
+ def latest_release
106
+ memoize_value :@latest_release, Value.new(proc { |c| c.latest_release(nwo) })
107
+ end
108
+
101
109
  def git_ref
102
110
  if repo_pages_info["source"]
103
111
  repo_pages_info["source"]["branch"]
@@ -15,7 +15,10 @@ module Jekyll
15
15
 
16
16
  # This is the good stuff.
17
17
  site.config["github"] = github_namespace
18
+
19
+ return unless should_add_fallbacks?
18
20
  add_url_and_baseurl_fallbacks!
21
+ add_title_and_description_fallbacks!
19
22
  end
20
23
 
21
24
  private
@@ -37,13 +40,27 @@ module Jekyll
37
40
 
38
41
  # Set `site.url` and `site.baseurl` if unset.
39
42
  def add_url_and_baseurl_fallbacks!
40
- return unless Jekyll.env == "production" || Pages.page_build?
43
+ site.config["url"] ||= repository.url_without_path
44
+ site.config["baseurl"] = repository.baseurl if should_set_baseurl?
45
+ end
41
46
 
42
- repo = drop.send(:repository)
43
- site.config["url"] ||= repo.url_without_path
44
- if site.config["baseurl"].to_s.empty? && !["", "/"].include?(repo.baseurl)
45
- site.config["baseurl"] = repo.baseurl
46
- end
47
+ # Set the baseurl only if it is `nil` or `/`
48
+ # Baseurls should never be "/". See http://bit.ly/2s1Srid
49
+ def should_set_baseurl?
50
+ site.config["baseurl"].nil? || site.config["baseurl"] == "/"
51
+ end
52
+
53
+ def add_title_and_description_fallbacks!
54
+ site.config["title"] ||= repository.name
55
+ site.config["description"] ||= repository.tagline
56
+ end
57
+
58
+ def should_add_fallbacks?
59
+ Jekyll.env == "production" || Pages.page_build?
60
+ end
61
+
62
+ def repository
63
+ drop.send(:repository)
47
64
  end
48
65
  end
49
66
  end
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  module GitHubMetadata
3
- VERSION = "2.4.0".freeze
3
+ VERSION = "2.5.0".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-github-metadata
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0
4
+ version: 2.5.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: 2017-03-31 00:00:00.000000000 Z
11
+ date: 2017-07-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: octokit