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 +7 -0
- data/lib/jekyll-gitlab-metadata.rb +8 -0
- data/lib/jekyll-gitlab-metadata/metadata_drop.rb +181 -0
- data/lib/jekyll-gitlab-metadata/version.rb +5 -0
- metadata +76 -0
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
|
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: []
|