jekyll-gitlab-metadata 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|