jekyll-gitlab-metadata 0.8.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 198ab0f4d17975ba66b79e053066ca48744a1d95ff7cf65e0e75cdb22e2585d8
4
+ data.tar.gz: cd57e11177bb7f40e596d35b24956dca2e966338bfcbde31382e7e36649157c2
5
+ SHA512:
6
+ metadata.gz: f6e856e584841d44a7f4ef539fd6ed9f4ad8a02e18b7d489ca093e19b4858957ae528e7fe4de9a9e6b95222aabf55c8ad94cc65af299a7d326001ed57c49da93
7
+ data.tar.gz: 204700596449d3d4c8eb1452e45d4766c0b2bf083744efa4510ba8e5037c677858e7c7edb12149221b009b1e1307e0b761f9723463a60e4ad28b7b0a4b4a1912
@@ -0,0 +1,8 @@
1
+ require_relative 'jekyll-gitlab-metadata/metadata_drop'
2
+
3
+ github_interop = ['true', 'yes'].include?((ENV['GITLAB_PAGES_GITHUB_INTEROP'] || 'true').downcase)
4
+
5
+ Jekyll::Hooks.register :site, :after_init do |site|
6
+ site.config['gitlab'] = Jekyll::GitlabMetadata::MetadataDrop.new
7
+ site.config['github'] = site.config['gitlab'] if github_interop
8
+ end
@@ -0,0 +1,181 @@
1
+ require 'uri'
2
+
3
+ require 'jekyll'
4
+
5
+ module Jekyll
6
+ module GitlabMetadata
7
+ class MetadataDrop < Jekyll::Drops::Drop
8
+ def initialize
9
+ super(nil)
10
+
11
+ if ENV['CI_REPOSITORY_URL']
12
+ clone_uri = URI(ENV['CI_REPOSITORY_URL'])
13
+ clone_uri.password = nil
14
+ clone_uri.user = nil
15
+
16
+ @clone_url = clone_uri.to_s.freeze
17
+ else
18
+ @clone_url = ''
19
+ end
20
+ end
21
+
22
+ def environment
23
+ Jekyll.env
24
+ end
25
+
26
+ def pages_env
27
+ environment
28
+ end
29
+
30
+ def hostname
31
+ ENV['GITLAB_HOST'] || 'gitlab.com'
32
+ end
33
+
34
+ def pages_hostname
35
+ ENV['GITLAB_PAGES_HOST'] || 'gitlab.io'
36
+ end
37
+
38
+ def api_url
39
+ "https://#{hostname}/api/v4"
40
+ end
41
+
42
+ def help_url
43
+ "https://#{hostname}/help"
44
+ end
45
+
46
+ def public_repositories
47
+ raise NotImplementedError
48
+ end
49
+
50
+ def organization_members
51
+ raise NotImplementedError
52
+ end
53
+
54
+ def project_title
55
+ ENV['CI_PROJECT_NAME'] || ''
56
+ end
57
+
58
+ def project_tagline
59
+ '' # raise NotImplementedError
60
+ end
61
+
62
+ def owner_name
63
+ ENV['CI_PROJECT_NAMESPACE'] || ''
64
+ end
65
+
66
+ def owner_url
67
+ "https://#{hostname}/#{owner_name}"
68
+ end
69
+
70
+ def owner_gravatar_url
71
+ raise NotImplementedError
72
+ end
73
+
74
+ def repository_url
75
+ ENV['CI_PROJECT_URL'] || ''
76
+ end
77
+
78
+ def repository_nwo
79
+ ENV['CI_PROJECT_PATH'] || ''
80
+ end
81
+
82
+ def repository_name
83
+ repository_nwo.split('/').last
84
+ end
85
+
86
+ def zip_url
87
+ "#{typeless_archive_url}.zip"
88
+ end
89
+
90
+ def tar_url
91
+ "#{typeless_archive_url}.tar.gz"
92
+ end
93
+
94
+ def clone_url
95
+ @clone_url
96
+ end
97
+
98
+ def releases_url
99
+ "#{repository_url}/tags"
100
+ end
101
+
102
+ def issues_url
103
+ "#{repository_url}/issues"
104
+ end
105
+
106
+ def wiki_url
107
+ "#{repository_url}/wiki"
108
+ end
109
+
110
+ def language
111
+ raise NotImplementedError
112
+ end
113
+
114
+ def is_user_page
115
+ repository_name == "#{pages_hostname}/#{owner_name}"
116
+ end
117
+
118
+ def is_project_page
119
+ !is_user_page
120
+ end
121
+
122
+ def show_downloads
123
+ ['true', 'yes'].include?((ENV['GITLAB_PAGES_SHOW_DOWNLOADS'] || 'true').downcase)
124
+ end
125
+
126
+ def url
127
+ "#{pages_protocol}://#{owner_name}.#{pages_hostname}#{baseurl}"
128
+ end
129
+
130
+ def baseurl
131
+ "/#{repository_name}"
132
+ end
133
+
134
+ def contributors
135
+ raise NotImplementedError
136
+ end
137
+
138
+ def releases
139
+ raise NotImplementedError
140
+ end
141
+
142
+ def latest_release
143
+ raise NotImplementedError
144
+ end
145
+
146
+ def private
147
+ ENV['CI_PROJECT_VISIBILITY'] == 'private'
148
+ end
149
+
150
+ def license
151
+ raise NotImplementedError
152
+ end
153
+
154
+ def source
155
+ raise NotImplementedError
156
+ end
157
+
158
+ def versions
159
+ raise NotImplementedError
160
+ end
161
+
162
+ def build_revision
163
+ ENV['CI_COMMIT_SHA'] || ''
164
+ end
165
+
166
+ private
167
+
168
+ def fallback_data
169
+ {}
170
+ end
171
+
172
+ def typeless_archive_url
173
+ "#{repository_url}/-/archive/#{build_revision}/#{repository_name}-#{build_revision}"
174
+ end
175
+
176
+ def pages_protocol
177
+ ENV['GITLAB_PAGES_PROTOCOL'] || 'https'
178
+ end
179
+ end
180
+ end
181
+ end
@@ -0,0 +1,5 @@
1
+ module Jekyll
2
+ module GitlabMetadata
3
+ VERSION = '0.8.0'.freeze
4
+ end
5
+ end
metadata ADDED
@@ -0,0 +1,76 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jekyll-gitlab-metadata
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.8.0
5
+ platform: ruby
6
+ authors:
7
+ - Benjamin Dobell
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-06-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: jekyll
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.6'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '3.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.16'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.16'
41
+ description: Jekyll plugin for injecting the site.gitlab namespace when built with
42
+ GitLab CI
43
+ email:
44
+ - contact@glassechidna.com.au
45
+ executables: []
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - lib/jekyll-gitlab-metadata.rb
50
+ - lib/jekyll-gitlab-metadata/metadata_drop.rb
51
+ - lib/jekyll-gitlab-metadata/version.rb
52
+ homepage: https://gitlab.com/glassechidna/jekyll-gitlab-metadata
53
+ licenses:
54
+ - MIT
55
+ metadata: {}
56
+ post_install_message:
57
+ rdoc_options: []
58
+ require_paths:
59
+ - lib
60
+ required_ruby_version: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: '0'
65
+ required_rubygems_version: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ requirements: []
71
+ rubyforge_project:
72
+ rubygems_version: 2.7.3
73
+ signing_key:
74
+ specification_version: 4
75
+ summary: Jekyll plugin for injecting site.gitlab
76
+ test_files: []