jekyll-github-metadata 2.4.0 → 2.5.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
  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