jektify 0.1.0 → 1.0.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 +4 -4
- data/.gitignore +17 -0
- data/.travis.yml +15 -2
- data/CHANGELOG.md +11 -0
- data/Gemfile +6 -0
- data/README.md +75 -6
- data/assets/vendor/jektify/imgs/spotify_logo.png +0 -0
- data/assets/vendor/jektify/js/jektify.min.js +1 -0
- data/assets/vendor/jektify/sass/_jektify.scss +372 -0
- data/bin/console +4 -4
- data/bin/travis +59 -0
- data/jektify.gemspec +9 -3
- data/lib/jektify.rb +5 -8
- data/lib/jektify/engine.rb +62 -0
- data/lib/jektify/main.rb +126 -0
- data/lib/jektify/render.rb +76 -0
- data/lib/jektify/version.rb +12 -1
- metadata +54 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 75d7b08a8f3fc580d26fb0cd28ede03f20f52d26
|
4
|
+
data.tar.gz: 65fe44488e33d62c74b80d77da1d8371c2b061ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fe11ebf8535d2b484d4bf1d6c71d78d787efd4005f1a842c8dbcb5e38750edeffaac93eed5adba30aa9d300c84941f240b94c5ca4b14dca8023d803996e8115c
|
7
|
+
data.tar.gz: f8d59bb17cdca5510ebe0a560429ebc7fb9da7f7a8c35d2583f04596343ac268ec160901ffcf0b5a97bbf223075c4193ceff6381039574225b1b94a8b636d75a
|
data/.gitignore
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
/.bundle/
|
2
|
+
/node_modules/
|
3
|
+
**/*/node_modules
|
2
4
|
/.yardoc
|
3
5
|
/_yardoc/
|
4
6
|
/coverage/
|
@@ -6,3 +8,18 @@
|
|
6
8
|
/pkg/
|
7
9
|
/spec/reports/
|
8
10
|
/tmp/
|
11
|
+
/gems/
|
12
|
+
/_gems/
|
13
|
+
**/*/_gems
|
14
|
+
/vendor/
|
15
|
+
/_vendor/
|
16
|
+
**/*/_vendor/
|
17
|
+
**/*/_site
|
18
|
+
/temp/
|
19
|
+
/.temp/
|
20
|
+
/.sass-cache/
|
21
|
+
**/*/.sass-cache
|
22
|
+
/test/travis/project
|
23
|
+
/package-lock.json
|
24
|
+
/Gemfile.lock
|
25
|
+
**/*/Gemfile.lock
|
data/.travis.yml
CHANGED
@@ -1,5 +1,18 @@
|
|
1
|
-
sudo:
|
1
|
+
sudo: required
|
2
|
+
dist: precise
|
2
3
|
language: ruby
|
3
4
|
rvm:
|
4
5
|
- 2.4.2
|
5
|
-
before_install:
|
6
|
+
before_install:
|
7
|
+
- gem update --system
|
8
|
+
- gem install bundler
|
9
|
+
install:
|
10
|
+
- bundle install
|
11
|
+
script:
|
12
|
+
- bin/setup
|
13
|
+
- bin/travis
|
14
|
+
branches:
|
15
|
+
only:
|
16
|
+
- master
|
17
|
+
notifications:
|
18
|
+
email: false
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
# Change Log
|
2
|
+
|
3
|
+
All notable changes to this project will be documented in this file.
|
4
|
+
This project adheres to [Semantic Versioning](http://semver.org/).
|
5
|
+
|
6
|
+
## [1.0.0] - 2018-01-06
|
7
|
+
### Adding
|
8
|
+
- Adding NodeJS feature to minify Javascript file from Jektify.
|
9
|
+
The files were "gulpfile.babel.js" and "package.json".
|
10
|
+
- Spotify user redirect link.
|
11
|
+
- New added behavior options.
|
data/Gemfile
CHANGED
@@ -4,3 +4,9 @@ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
|
|
4
4
|
|
5
5
|
# Specify your gem's dependencies in jektify.gemspec
|
6
6
|
gemspec
|
7
|
+
|
8
|
+
gem "pry", "~> 0.11", "~> 0.11.3"
|
9
|
+
gem "bigdecimal", "~> 1.3", "~> 1.3.0"
|
10
|
+
gem "json", "~> 2.1", "~> 2.1.0"
|
11
|
+
gem "sass", "~> 3.5", "~> 3.5.5"
|
12
|
+
gem "jekyll", "~> 3.7", "~> 3.7.2"
|
data/README.md
CHANGED
@@ -1,8 +1,17 @@
|
|
1
1
|
# Jektify
|
2
2
|
|
3
|
-
|
3
|
+
[](https://badge.fury.io/rb/jektify)
|
4
|
+
[](https://travis-ci.org/jektify/jektify)
|
5
|
+
[](https://beta.gemnasium.com/projects/github.com/jektify/jektify)
|
6
|
+
[](https://hakiri.io/github/jektify/jektify/master)
|
7
|
+
|
8
|
+
|
9
|
+
[Jektify](https://github.com/jektify/jektify) is beautiful and Customizable, much more appealing than a simple "iframe"!
|
10
|
+
|
11
|
+
[Jektify](https://github.com/jektify/jektify) is a jewel using to enter a theme for track entry, playlist, albums and artists of [Spotify](https://www.spotify.com), in [Jekyll](https://jekyllrb.com) templates.
|
12
|
+
|
13
|
+
Besides inserting music is fully responsive, adjusting as your page layout, even on mobile devices.
|
4
14
|
|
5
|
-
TODO: Delete this and the text above, and describe your gem
|
6
15
|
|
7
16
|
## Installation
|
8
17
|
|
@@ -22,17 +31,73 @@ Or install it yourself as:
|
|
22
31
|
|
23
32
|
## Usage
|
24
33
|
|
25
|
-
|
34
|
+
To use, you need [Jekyll](https://jekyllrb.com) installed, since [Jektify](https://github.com/jektify/jektify) is a gem for the same. You can have more information about Jektify on our [homepage](https://jektify.github.io), where you'll be detailing step by step how to use Jektyll together.
|
35
|
+
|
36
|
+
## Documentation
|
37
|
+
|
38
|
+
See: [https://jektify.github.io](https://jektify.github.io)
|
26
39
|
|
27
40
|
## Development
|
28
41
|
|
42
|
+
It all starts with:
|
43
|
+
|
44
|
+
```shell
|
45
|
+
$ git clone https://github.com/jektify/jektify.git
|
46
|
+
$ cd jektify
|
47
|
+
```
|
48
|
+
|
29
49
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
30
50
|
|
31
|
-
|
51
|
+
*Code*
|
52
|
+
|
53
|
+
The [Jektify](https://github.com/jektify/jektify) code is stored in the folder "`lib`". Every time you change the version, it has to be changed in the file "`lib/jektify/version.rb`" respecting the version hierarchy.
|
54
|
+
|
55
|
+
*JavaScript*
|
56
|
+
|
57
|
+
[Jektify](https://github.com/jektify/jektify) uses javascript, where it is located in the folder "`src/dev/js/jektify.js`". All Javascript code must be written to it, regardless of whether it uses ES6 or not. Gem will use it in the folder "`assets/vendor/jektify/js`", and you need to minify it with [Gulp](https://gulpjs.com/) to play it there. To do this, run on the terminal in the root directory of Jektify:
|
58
|
+
|
59
|
+
```shell
|
60
|
+
$ gulp
|
61
|
+
```
|
62
|
+
|
63
|
+
The `cdn` folder should contain the original and mined jektify javascript file. It will have a folder structure with the name of each version of [Jektify](https://github.com/jektify/jektify). The service that makes CDN available is [RawGit](https://rawgit.com/).
|
64
|
+
|
65
|
+
*Sass*
|
66
|
+
|
67
|
+
The layout of [Jektify](https://github.com/jektify/jektify) is being attributed by the file "`assets/vendor/jektify/sass/_jektify.scss`", in this file you should write everything stylesheets [Jektify](https://github.com/jektify/jektify) using the methodology [BEM](getbem.com).
|
68
|
+
|
69
|
+
*Pack*
|
70
|
+
|
71
|
+
Now, you can generate the gem of Jektify with the `bundle exec rake build` command, it will be bundled in the directory "`pkg`". To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
72
|
+
|
73
|
+
*Webpage*
|
74
|
+
|
75
|
+
The development of the [Jektify](https://github.com/jektify/jektify) page is in the folder "`src/dev/page`", it is a Jekyll template. To develop, you need to update the [Jektify](https://github.com/jektify/jektify) version in the `Gemfile` file according to the version of the gem in development of [Jektify](https://github.com/jektify/jektify).
|
76
|
+
|
77
|
+
```yaml
|
78
|
+
group :jekyll_plugins do
|
79
|
+
gem "jektify", "~> [VERSION_DEVELOPMENT]"
|
80
|
+
end
|
81
|
+
```
|
82
|
+
|
83
|
+
After that execute:
|
84
|
+
|
85
|
+
```shell
|
86
|
+
$ bundle install
|
87
|
+
$ ./serve
|
88
|
+
```
|
89
|
+
|
90
|
+
If Jektify adds new features and options, you should configure the file "` _config.yml`" in the Jektify block.
|
91
|
+
|
92
|
+
*Travis*
|
93
|
+
|
94
|
+
The [Jektify](https://github.com/jektify/jektify) uses [Travis](travis-ci.org) to do the gem tests, you should configure the Ruby version in `.travis.yml` (hidden) if necessary.
|
95
|
+
|
96
|
+
The "`bin/travis`" file will be the file that [Travis](travis-ci.org) will use to perform the script tests, in this file you must change the Jektify version in the variable "`APP__VERSION`" to the version that the Jekyll test project will use [Jektify](https://github.com/jektify/jektify).
|
32
97
|
|
33
98
|
## Contributing
|
34
99
|
|
35
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
100
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/jektify/jektify. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
36
101
|
|
37
102
|
## License
|
38
103
|
|
@@ -40,4 +105,8 @@ The gem is available as open source under the terms of the [MIT License](https:/
|
|
40
105
|
|
41
106
|
## Code of Conduct
|
42
107
|
|
43
|
-
Everyone interacting in the Jektify project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/
|
108
|
+
Everyone interacting in the Jektify project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/jektify/jektify/blob/master/CODE_OF_CONDUCT.md).
|
109
|
+
|
110
|
+
## Credits
|
111
|
+
|
112
|
+
William C. Canin
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";$(document).ready(function(){$(".jektify__button").click(function(){$(this).parent().next().slideToggle(),$(this).removeClass("jektify__button--closed"),$(this).toggleClass("jektify__button--open")})});
|
@@ -0,0 +1,372 @@
|
|
1
|
+
@charset "UTF-8";
|
2
|
+
|
3
|
+
/* Jektify
|
4
|
+
========================================================*/
|
5
|
+
|
6
|
+
/* Import fonts by Google Fonts - https://fonts.google.com/ */
|
7
|
+
@import url('https://fonts.googleapis.com/css?family=Lato:300,400,700');
|
8
|
+
|
9
|
+
|
10
|
+
/* Jektify Style
|
11
|
+
----------------------------------------------------------
|
12
|
+
|
13
|
+
.jektify */
|
14
|
+
|
15
|
+
.jektify{
|
16
|
+
|
17
|
+
/* Jektify Variables */
|
18
|
+
$jektify__background-color--dark: #282828;
|
19
|
+
$jektify__background-color--white: #FFF;
|
20
|
+
$jektify__font-family--primary: 'Lato', sans-serif;
|
21
|
+
|
22
|
+
*{
|
23
|
+
box-sizing: border-box;
|
24
|
+
-webkit-box-sizing: border-box;
|
25
|
+
-moz-box-sizing: border-box;
|
26
|
+
}
|
27
|
+
|
28
|
+
font-family: $jektify__font-family--primary;
|
29
|
+
border-radius: 0px;
|
30
|
+
overflow: hidden;
|
31
|
+
max-width: 980px;
|
32
|
+
margin: 30px auto;
|
33
|
+
-webkit-box-shadow: 0 8px 6px -6px black;
|
34
|
+
-moz-box-shadow: 0 8px 6px -6px black;
|
35
|
+
box-shadow: 0 10px 56px -6px black;
|
36
|
+
-webkit-transition: all 0.5s ease;
|
37
|
+
-moz-transition: all 0.5s ease;
|
38
|
+
-o-transition: all 0.5s ease;
|
39
|
+
transition: all 0.5s ease;
|
40
|
+
|
41
|
+
&:hover{
|
42
|
+
-webkit-box-shadow: none;
|
43
|
+
-moz-box-shadow: none;
|
44
|
+
box-shadow: none;
|
45
|
+
}
|
46
|
+
|
47
|
+
/* .jektify--dark */
|
48
|
+
&--dark{
|
49
|
+
background-color: $jektify__background-color--dark;
|
50
|
+
border: 1px solid #131313;
|
51
|
+
&:hover{
|
52
|
+
opacity: 0.99;
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
/* .jektify--white */
|
57
|
+
&--white{
|
58
|
+
background-color: $jektify__background-color--white;
|
59
|
+
border: 1px solid #adadad;
|
60
|
+
}
|
61
|
+
|
62
|
+
|
63
|
+
/* .jektify__header */
|
64
|
+
&__header{
|
65
|
+
padding: 20px;
|
66
|
+
position: relative;
|
67
|
+
font-family: 'Lato', sans-serif;
|
68
|
+
border-bottom: solid 1px transparent;
|
69
|
+
|
70
|
+
-webkit-touch-callout: none;
|
71
|
+
-webkit-user-select: none;
|
72
|
+
-khtml-user-select: none;
|
73
|
+
-moz-user-select: none;
|
74
|
+
-ms-user-select: none;
|
75
|
+
user-select: none;
|
76
|
+
line-height: 2.2rem !important;
|
77
|
+
|
78
|
+
/* .jektify__header--dark */
|
79
|
+
&--dark{
|
80
|
+
background-color: $jektify__background-color--dark;
|
81
|
+
}
|
82
|
+
|
83
|
+
/* .jektify__header--white */
|
84
|
+
&--white{
|
85
|
+
background-color: $jektify__background-color--white;
|
86
|
+
}
|
87
|
+
|
88
|
+
}
|
89
|
+
|
90
|
+
|
91
|
+
/* .jektify__brand */
|
92
|
+
&__brand{
|
93
|
+
text-decoration: none;
|
94
|
+
margin-right: 17px;
|
95
|
+
padding-bottom: 4px;
|
96
|
+
cursor: pointer;
|
97
|
+
font-size: 0.81em;
|
98
|
+
font-weight: 300;
|
99
|
+
letter-spacing: 0.15em;
|
100
|
+
-webkit-transition: all .45s;
|
101
|
+
-o-transition: all .45s;
|
102
|
+
transition: all .45s;
|
103
|
+
|
104
|
+
&:hover{
|
105
|
+
text-decoration: none;
|
106
|
+
opacity: 0.87;
|
107
|
+
}
|
108
|
+
|
109
|
+
/* .jektify__brand--dark */
|
110
|
+
&--dark{
|
111
|
+
border-bottom: 1px solid #1ed760;
|
112
|
+
background-color: $jektify__background-color--dark;
|
113
|
+
color: #1ed760;
|
114
|
+
&:hover{
|
115
|
+
color: #fff;
|
116
|
+
border-bottom: 1px solid #fff;
|
117
|
+
}
|
118
|
+
}
|
119
|
+
|
120
|
+
|
121
|
+
/* .jektify__brand--white */
|
122
|
+
&--white{
|
123
|
+
background-color: $jektify__background-color--white;
|
124
|
+
font-weight: 600;
|
125
|
+
color: #282828;
|
126
|
+
border-bottom: 1px solid #282828;
|
127
|
+
&:hover{
|
128
|
+
color: #1ed760;
|
129
|
+
border-bottom: 1px solid #1ed760;
|
130
|
+
}
|
131
|
+
}
|
132
|
+
|
133
|
+
}
|
134
|
+
|
135
|
+
/* .jektify__year */
|
136
|
+
&__year{
|
137
|
+
font-style: normal;
|
138
|
+
font-size: 0.81em;
|
139
|
+
font-family: inherit;
|
140
|
+
font-weight: 300;
|
141
|
+
|
142
|
+
/* .jektify__year--dark */
|
143
|
+
&--dark{
|
144
|
+
background-color: $jektify__background-color--dark;
|
145
|
+
color: #fff;
|
146
|
+
}
|
147
|
+
|
148
|
+
/* .jektify__year--white */
|
149
|
+
&--white{
|
150
|
+
background-color: $jektify__background-color--white;
|
151
|
+
font-weight: 600;
|
152
|
+
color: #282828;
|
153
|
+
}
|
154
|
+
|
155
|
+
}
|
156
|
+
|
157
|
+
/* .jektify__button */
|
158
|
+
&__button{
|
159
|
+
font-size: 2.5em;
|
160
|
+
float: right;
|
161
|
+
-webkit-transition: all .45s;
|
162
|
+
-o-transition: all .45s;
|
163
|
+
transition: all .45s;
|
164
|
+
right: 20px;
|
165
|
+
cursor: pointer;
|
166
|
+
font-weight: 300;
|
167
|
+
|
168
|
+
&:hover{
|
169
|
+
opacity: 0.87;
|
170
|
+
}
|
171
|
+
|
172
|
+
/* .jektify__button--dark */
|
173
|
+
&--dark{
|
174
|
+
color: #1ed760;
|
175
|
+
&:hover{
|
176
|
+
color: #fff;
|
177
|
+
}
|
178
|
+
}
|
179
|
+
|
180
|
+
/* .jektify__button--white */
|
181
|
+
&--white{
|
182
|
+
color: #282828;
|
183
|
+
&:hover{
|
184
|
+
color: #1ed760;
|
185
|
+
}
|
186
|
+
}
|
187
|
+
|
188
|
+
/* .jektify__button--open */
|
189
|
+
&--open{
|
190
|
+
transform: rotate(315deg);
|
191
|
+
}
|
192
|
+
|
193
|
+
/* .jektify__button--closed */
|
194
|
+
&--closed{
|
195
|
+
transform: rotate(0deg);
|
196
|
+
}
|
197
|
+
}
|
198
|
+
|
199
|
+
/* .jektify__title */
|
200
|
+
&__title{
|
201
|
+
font-family: inherit;
|
202
|
+
letter-spacing: 0.17em;
|
203
|
+
text-align: center;
|
204
|
+
font-size: 1.9em;
|
205
|
+
|
206
|
+
/* .jektify__title--dark */
|
207
|
+
&--dark{
|
208
|
+
background-color: $jektify__background-color--dark;
|
209
|
+
color: #fff;
|
210
|
+
}
|
211
|
+
|
212
|
+
/* .jektify__title--white */
|
213
|
+
&--white{
|
214
|
+
background-color: $jektify__background-color--white;
|
215
|
+
}
|
216
|
+
|
217
|
+
}
|
218
|
+
|
219
|
+
/* .jektify__body */
|
220
|
+
&__body{
|
221
|
+
padding: 0px;
|
222
|
+
-webkit-margin-start: 0px;
|
223
|
+
-moz-margin-start: 0px;
|
224
|
+
border-top: solid 1px rgba(0, 0, 0, 0.3);
|
225
|
+
|
226
|
+
/* .jektify__body--dark */
|
227
|
+
&--dark{ }
|
228
|
+
|
229
|
+
/* .jektify__body--white */
|
230
|
+
&--white{ }
|
231
|
+
}
|
232
|
+
|
233
|
+
/* .jektify__user */
|
234
|
+
&__user{
|
235
|
+
display: -webkit-box;
|
236
|
+
display: -ms-flexbox;
|
237
|
+
display: flex;
|
238
|
+
-ms-flex-wrap: wrap;
|
239
|
+
flex-wrap: wrap;
|
240
|
+
margin-right: -15px;
|
241
|
+
margin-left: -15px;
|
242
|
+
-webkit-box-pack: end !important;
|
243
|
+
-ms-flex-pack: end !important;
|
244
|
+
justify-content: flex-end !important;
|
245
|
+
line-height: 2.2rem !important;
|
246
|
+
margin: 20px 0px 20px 0px;
|
247
|
+
|
248
|
+
/* .jektify__user--dark */
|
249
|
+
&--dark{ }
|
250
|
+
|
251
|
+
/* .jektify__user--white */
|
252
|
+
&--white{
|
253
|
+
color: #282828;
|
254
|
+
}
|
255
|
+
|
256
|
+
/* .jektify__user-link */
|
257
|
+
&-link{
|
258
|
+
border-bottom: 1px solid transparent;
|
259
|
+
margin-left: 40px;
|
260
|
+
height: 20px;
|
261
|
+
background-image: url(https://raw.githubusercontent.com/jektify/jektify/master/assets/vendor/jektify/imgs/spotify_logo.png);
|
262
|
+
background-repeat: no-repeat;
|
263
|
+
background-size: 20px;
|
264
|
+
margin-right: 20px;
|
265
|
+
|
266
|
+
&:hover{
|
267
|
+
text-decoration: none;
|
268
|
+
}
|
269
|
+
/* .jektify__user-link--dark */
|
270
|
+
&--dark{ }
|
271
|
+
|
272
|
+
/* .jektify__user-link--white */
|
273
|
+
&--white{ }
|
274
|
+
}
|
275
|
+
|
276
|
+
/* .jektify__user-text */
|
277
|
+
&-text{
|
278
|
+
font-size: 0.8em;
|
279
|
+
letter-spacing: 0.1em;
|
280
|
+
border-bottom: 1px solid transparent;
|
281
|
+
-webkit-transition: all .45s;
|
282
|
+
-o-transition: all .45s;
|
283
|
+
transition: all .45s;
|
284
|
+
margin-left: 30px;
|
285
|
+
margin-top: -12px;
|
286
|
+
float: left;
|
287
|
+
|
288
|
+
&:hover{
|
289
|
+
opacity: 0.87;
|
290
|
+
}
|
291
|
+
|
292
|
+
/* .jektify__user-text--dark */
|
293
|
+
&--dark{
|
294
|
+
border-bottom: 1px solid #1ed760;
|
295
|
+
color: #1ed760;
|
296
|
+
|
297
|
+
}
|
298
|
+
|
299
|
+
/* .jektify__user-text--white */
|
300
|
+
&--white{
|
301
|
+
border-bottom: 1px solid #282828;
|
302
|
+
color: #282828;
|
303
|
+
&:hover{
|
304
|
+
color: #1ed760;
|
305
|
+
border-bottom: 1px solid #1ed760;
|
306
|
+
}
|
307
|
+
}
|
308
|
+
}
|
309
|
+
}
|
310
|
+
|
311
|
+
/* .jektify__description */
|
312
|
+
&__description{
|
313
|
+
font-family: inherit;
|
314
|
+
letter-spacing: 0.14em;
|
315
|
+
line-height: 1.9em;
|
316
|
+
font-weight: 300;
|
317
|
+
padding: 0px 15px;
|
318
|
+
text-align: center;
|
319
|
+
font-size: 1.1em;
|
320
|
+
|
321
|
+
/* .jektify__content--dark */
|
322
|
+
&--dark{
|
323
|
+
background-color: $jektify__background-color--dark;
|
324
|
+
color: #fff;
|
325
|
+
}
|
326
|
+
|
327
|
+
/* .jektify__content--white */
|
328
|
+
&--white{
|
329
|
+
background-color: $jektify__background-color--white;
|
330
|
+
color: #282828;
|
331
|
+
}
|
332
|
+
|
333
|
+
}
|
334
|
+
|
335
|
+
/* .jektify__tracklist */
|
336
|
+
&__tracklist{
|
337
|
+
height: auto;
|
338
|
+
border-radius: 10px;
|
339
|
+
padding: 8px;
|
340
|
+
margin: 15px;
|
341
|
+
border: 1px solid lighten(#1ed760, 1);
|
342
|
+
|
343
|
+
/* .jektify__tracklist--dark */
|
344
|
+
&--dark{
|
345
|
+
background-color: $jektify__background-color--dark;
|
346
|
+
}
|
347
|
+
|
348
|
+
/* .jektify__tracklist--white */
|
349
|
+
&--white{
|
350
|
+
background-color: $jektify__background-color--white;
|
351
|
+
border: 1px solid lighten(#282828, 1);
|
352
|
+
}
|
353
|
+
|
354
|
+
}
|
355
|
+
|
356
|
+
/* .jektify__track */
|
357
|
+
&__track{
|
358
|
+
|
359
|
+
/* .jektify__track--dark */
|
360
|
+
&--dark{
|
361
|
+
background-color: $jektify__background-color--dark;
|
362
|
+
}
|
363
|
+
|
364
|
+
/* .jektify__track--white */
|
365
|
+
&--white{
|
366
|
+
background-color: $jektify__background-color--white;
|
367
|
+
}
|
368
|
+
|
369
|
+
}
|
370
|
+
|
371
|
+
|
372
|
+
} /* END - .jektify */
|
data/bin/console
CHANGED
@@ -7,8 +7,8 @@ require "jektify"
|
|
7
7
|
# with your gem easier. You can also use a different console, if you like.
|
8
8
|
|
9
9
|
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
-
|
11
|
-
|
10
|
+
require "pry"
|
11
|
+
Pry.start
|
12
12
|
|
13
|
-
require "irb"
|
14
|
-
IRB.start(__FILE__)
|
13
|
+
# require "irb"
|
14
|
+
# IRB.start(__FILE__)
|
data/bin/travis
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
GEM__ROOT=$PWD
|
4
|
+
JEKYL__PROJECT="project"
|
5
|
+
APP__NAME="jektify"
|
6
|
+
APP__VERSION="1.0.0"
|
7
|
+
|
8
|
+
function _clean(){
|
9
|
+
cd $GEM__ROOT
|
10
|
+
rm -rf "test/travis/$JEKYL__PROJECT"
|
11
|
+
}
|
12
|
+
|
13
|
+
# Generated Jektify gem
|
14
|
+
bundle exec rake build
|
15
|
+
echo "Jektify gem created!"
|
16
|
+
|
17
|
+
# Generated Jektify gem
|
18
|
+
bundle exec rake install
|
19
|
+
echo "${APP__NAME^^} gem installed!"
|
20
|
+
|
21
|
+
# Clean cache before created
|
22
|
+
_clean
|
23
|
+
|
24
|
+
# Created project Jekyll
|
25
|
+
mkdir -p test/travis
|
26
|
+
bundle exec jekyll new test/travis/$JEKYL__PROJECT; cd $_
|
27
|
+
|
28
|
+
# Add dependency in Gemfile for Jekyll project
|
29
|
+
cat << EOF >> Gemfile
|
30
|
+
|
31
|
+
gem "bigdecimal","~> 1.3"
|
32
|
+
gem "json","~> 2.1"
|
33
|
+
EOF
|
34
|
+
|
35
|
+
# Add Jektify in file Gemfile
|
36
|
+
sed -i "/ gem \"jekyll-feed\", \"~> 0.6\"/a \ \gem \"$APP__NAME\", \"~> $APP__VERSION\"" Gemfile
|
37
|
+
|
38
|
+
# Add plugin of Jektify in file _config.yml
|
39
|
+
sed -i "/- jekyll-feed/a\ \ - $APP__NAME" _config.yml
|
40
|
+
|
41
|
+
# Add config Jektify in file _config.yml
|
42
|
+
cat << EOF >> _config.yml
|
43
|
+
|
44
|
+
$APP__NAME:
|
45
|
+
enable: true
|
46
|
+
EOF
|
47
|
+
|
48
|
+
# Add liquid in markdown of Jektify
|
49
|
+
echo "{ % $APP__NAME spotify/track/62qsgMnY4wg8nE5qjyOdWO/dark % }" >> _posts/*-welcome-to-jekyll.markdown
|
50
|
+
|
51
|
+
# Re-Update Gemfile.lock for project Jekyll
|
52
|
+
bundle install
|
53
|
+
|
54
|
+
# Compiled project Jekyll with liquid of gem Jektify
|
55
|
+
bundle exec jekyll b
|
56
|
+
echo "${APP__NAME^^} $JEKYL__PROJECT compiled!"
|
57
|
+
|
58
|
+
# Clean cache
|
59
|
+
# _clean
|
data/jektify.gemspec
CHANGED
@@ -6,19 +6,25 @@ require "jektify/version"
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "jektify"
|
8
8
|
spec.version = Jektify::VERSION
|
9
|
-
spec.authors = ["William Canin"]
|
9
|
+
spec.authors = ["William C. Canin"]
|
10
10
|
spec.email = ["william.costa.canin@gmail.com"]
|
11
11
|
|
12
12
|
spec.summary = %q{Jekyll plugin to generate HTML code fragments to incorporate music from Spotify}
|
13
13
|
spec.homepage = "https://github.com/williamcanin/jektify"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
|
-
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|pkg)}) }
|
16
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|cdn|pkg|temp|src/dev|.babelrc|gulpfile.babel.js|package.json)}) }
|
17
17
|
spec.bindir = "exe"
|
18
18
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
+
spec.required_ruby_version = '>= 2.3.6'
|
22
|
+
|
23
|
+
spec.add_dependency "jekyll", "~> 3.7", "~> 3.7.0"
|
24
|
+
spec.add_dependency "sass", "~> 3.5", "~> 3.5.5"
|
25
|
+
|
21
26
|
spec.add_development_dependency "bundler", "~> 1.16"
|
22
|
-
spec.add_development_dependency "rake", "~>
|
27
|
+
spec.add_development_dependency "rake", "~> 12.3"
|
23
28
|
spec.add_development_dependency "minitest", "~> 5.0"
|
29
|
+
|
24
30
|
end
|
data/lib/jektify.rb
CHANGED
@@ -1,9 +1,6 @@
|
|
1
|
-
|
1
|
+
# Load partials
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
end
|
8
|
-
end
|
9
|
-
end
|
3
|
+
require "jektify/version"
|
4
|
+
require "jektify/engine"
|
5
|
+
require "jektify/render"
|
6
|
+
require "jektify/main"
|
@@ -0,0 +1,62 @@
|
|
1
|
+
module Jektify
|
2
|
+
class Engine
|
3
|
+
def gem_path
|
4
|
+
@gem_path ||= File.expand_path '../..', File.dirname(__FILE__)
|
5
|
+
end
|
6
|
+
|
7
|
+
def assets_path
|
8
|
+
File.join gem_path, 'assets'
|
9
|
+
end
|
10
|
+
|
11
|
+
def stylesheets_sass_path
|
12
|
+
File.join assets_path, 'vendor/jektify/sass'
|
13
|
+
end
|
14
|
+
|
15
|
+
def yml_config(yml)
|
16
|
+
YAML::load_file(File.join(yml))
|
17
|
+
end
|
18
|
+
|
19
|
+
def error_different_string(obj, opt_first, opt_secondy, msg)
|
20
|
+
raise RuntimeError, "#{msg}" if obj != opt_first && obj != opt_secondy
|
21
|
+
end
|
22
|
+
|
23
|
+
def error_different_true_false(obj, msg)
|
24
|
+
raise RuntimeError, "#{msg}" if obj != true && obj != false
|
25
|
+
end
|
26
|
+
|
27
|
+
def yml_verify(app_root_config)
|
28
|
+
raise RuntimeError, "[x] Error: Configuration Jektify not found in _config.yml. Aborted!" if app_root_config.nil?
|
29
|
+
end
|
30
|
+
|
31
|
+
def copy_sass_manual(app_root_config)
|
32
|
+
return false if app_root_config["sass"].nil? || app_root_config["sass"]["other"]["dir"].nil?
|
33
|
+
use_sass_jekyll = app_root_config["sass"]["jekyll"]
|
34
|
+
dir_copy = File.join app_root_config["sass"]["other"]["dir"], 'jektify'
|
35
|
+
if use_sass_jekyll == false
|
36
|
+
# if !File.directory?(dir_copy)
|
37
|
+
FileUtils::mkdir_p "#{dir_copy}" unless File.directory?(dir_copy)
|
38
|
+
# end
|
39
|
+
FileUtils.copy_entry stylesheets_sass_path, dir_copy
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
# DEPRECATED
|
44
|
+
# def parameter_user(input_split)
|
45
|
+
# input_split[0].strip
|
46
|
+
# end
|
47
|
+
|
48
|
+
def split_params(params)
|
49
|
+
params.split("/")
|
50
|
+
end
|
51
|
+
|
52
|
+
def configure_sass(utils)
|
53
|
+
require "sass"
|
54
|
+
# DEPRECATED Bootstrap
|
55
|
+
# require "bootstrap"
|
56
|
+
# Inspired by bootstrap-sass
|
57
|
+
::Sass.load_paths << utils.stylesheets_sass_path
|
58
|
+
::Sass::Script::Number.precision = [8, ::Sass::Script::Number.precision].max
|
59
|
+
end
|
60
|
+
|
61
|
+
end # class Engine
|
62
|
+
end # module Jektify
|
data/lib/jektify/main.rb
ADDED
@@ -0,0 +1,126 @@
|
|
1
|
+
# Required libs
|
2
|
+
require "jekyll"
|
3
|
+
require "yaml"
|
4
|
+
require "benchmark"
|
5
|
+
require "find"
|
6
|
+
require "fileutils"
|
7
|
+
require "open-uri"
|
8
|
+
|
9
|
+
|
10
|
+
module Jektify
|
11
|
+
|
12
|
+
# Instance class
|
13
|
+
ENGINE = Engine.new
|
14
|
+
RENDER = Render.new
|
15
|
+
|
16
|
+
# Variables global
|
17
|
+
APP_NAME = "jektify"
|
18
|
+
YML_LOAD = ENGINE.yml_config('_config.yml')
|
19
|
+
APP_ROOT_CONFIG = YML_LOAD["#{APP_NAME}"]
|
20
|
+
|
21
|
+
|
22
|
+
class Generator < Jekyll::Generator
|
23
|
+
|
24
|
+
def generate(site)
|
25
|
+
# Before, verify structure Jektify in _config.yml
|
26
|
+
ENGINE.yml_verify(APP_ROOT_CONFIG)
|
27
|
+
|
28
|
+
@site = site
|
29
|
+
|
30
|
+
# It will only generate the Javascript file for the user, if the 'Toggle' feature is enabled in the file "_config.yml".
|
31
|
+
@site.static_files.concat static_files if APP_ROOT_CONFIG["toggle"].nil? || APP_ROOT_CONFIG["toggle"]["enable"] == true
|
32
|
+
ENGINE.copy_sass_manual(APP_ROOT_CONFIG)
|
33
|
+
end
|
34
|
+
|
35
|
+
# This method searches for folders and files in the assets root directory.
|
36
|
+
# After searching all files stores in an array and then copying to
|
37
|
+
# the folder "_site".
|
38
|
+
def static_files
|
39
|
+
source = File.dirname(ENGINE.assets_path)
|
40
|
+
asset_files.map do |file|
|
41
|
+
dir = File.dirname(file)
|
42
|
+
file_name = File.basename(file)
|
43
|
+
Jekyll::StaticFile.new @site, source, dir, file_name
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# Get paths and fils directory 'assets'
|
48
|
+
def asset_files
|
49
|
+
asset_files = []
|
50
|
+
Find.find(ENGINE.assets_path).each do |path|
|
51
|
+
next if File.directory?(path)
|
52
|
+
next if path.include?(ENGINE.stylesheets_sass_path)
|
53
|
+
asset_files << path.sub(ENGINE.assets_path, 'assets')
|
54
|
+
end
|
55
|
+
asset_files
|
56
|
+
end
|
57
|
+
|
58
|
+
end # Generator
|
59
|
+
|
60
|
+
# class load SASS
|
61
|
+
class << self
|
62
|
+
|
63
|
+
def loadSass
|
64
|
+
ENGINE.configure_sass(ENGINE)
|
65
|
+
end
|
66
|
+
|
67
|
+
end # self
|
68
|
+
|
69
|
+
# Implement Jektify in Page
|
70
|
+
class Main < Liquid::Tag
|
71
|
+
|
72
|
+
def initialize(tag_name, input, tokens)
|
73
|
+
super
|
74
|
+
# Name tag in liquid
|
75
|
+
# @tag_name = tag_name # DEPRECATED
|
76
|
+
@input = input
|
77
|
+
end
|
78
|
+
|
79
|
+
def render(context)
|
80
|
+
# Sets the data splitter
|
81
|
+
input_split = ENGINE.split_params(@input)
|
82
|
+
|
83
|
+
# Determines the positions of each data with the divisor
|
84
|
+
spotify_user = input_split[0].strip
|
85
|
+
spotify_embed_category = input_split[1].strip
|
86
|
+
spotify_id = input_split[2].strip
|
87
|
+
spotify_embed_theme = input_split[3].strip
|
88
|
+
|
89
|
+
# Transpiler variable "theme"
|
90
|
+
spotify_embed_theme == "light" ? spotify_embed_theme = "white" : spotify_embed_theme = input_split[3].strip
|
91
|
+
|
92
|
+
# Checks a series of error values in the settings of Jektify in sctructure {% spotify [user]/[type]/[id]/[theme] %}
|
93
|
+
ENGINE.error_different_string(spotify_embed_theme, "dark", "white", "[x] Error: Parameter incorrect in {% spotify [user]/[type]/[id]/[theme] %}.")
|
94
|
+
|
95
|
+
# Customizing Url Spotify
|
96
|
+
# E.g: { % spotify [user]/[type]/[id]/[theme] % }
|
97
|
+
spotify_embed_url = "https://embed.spotify.com/?uri=spotify:#{spotify_embed_category}:#{spotify_id}&theme=#{spotify_embed_theme}"
|
98
|
+
spotify_embed_url = "https://embed.spotify.com/?uri=spotify:user:#{spotify_user}:#{spotify_embed_category}:#{spotify_id}&theme=#{spotify_embed_theme}" unless spotify_embed_category != "playlist"
|
99
|
+
|
100
|
+
|
101
|
+
# Checks a series of error values in the settings of Jektify in _config.yml
|
102
|
+
ENGINE.error_different_true_false(APP_ROOT_CONFIG["enable"], "[x] Error: The property 'spotify => enable' in file '_config.yml' does not exist or its value is incorrect. Use: [ true | false ]") unless APP_ROOT_CONFIG["enable"].nil?
|
103
|
+
|
104
|
+
|
105
|
+
ENGINE.error_different_true_false(APP_ROOT_CONFIG["open"], "[x] Error: The property 'spotify => open' in file '_config.yml' does not exist or its value is incorrect. Use: [ true | false ]") unless APP_ROOT_CONFIG["open"].nil?
|
106
|
+
|
107
|
+
ENGINE.error_different_true_false(APP_ROOT_CONFIG["title"]["enable"], "[x] Error: The property 'spotify => title => enable' in file '_config.yml' does not exist or its value is incorrect. Use: [ true | false ]") unless APP_ROOT_CONFIG["title"].nil?
|
108
|
+
|
109
|
+
ENGINE.error_different_true_false(APP_ROOT_CONFIG["description"]["enable"], "[x] Error: The property 'spotify => description => enable' in file '_config.yml' does not exist or its value is incorrect. Use: [ true | false ]") unless APP_ROOT_CONFIG["description"].nil?
|
110
|
+
|
111
|
+
ENGINE.error_different_true_false(APP_ROOT_CONFIG["toggle"]["enable"], "[x] Error: The property 'spotify => toggle => using' in file '_config.yml' does not exist or its value is incorrect. Use: [ true | false ]") unless APP_ROOT_CONFIG["toggle"].nil?
|
112
|
+
|
113
|
+
# If there are no errors starting the plugin
|
114
|
+
RENDER.rendering(APP_NAME, APP_ROOT_CONFIG, spotify_embed_category, spotify_embed_url, spotify_embed_theme)
|
115
|
+
|
116
|
+
end # def render
|
117
|
+
|
118
|
+
end # class Main
|
119
|
+
|
120
|
+
# Load files: (SASS)
|
121
|
+
Jektify.loadSass
|
122
|
+
|
123
|
+
# Register plugin (tag)
|
124
|
+
Liquid::Template.register_tag(APP_NAME, Jektify::Main)
|
125
|
+
|
126
|
+
end # module Jektify
|
@@ -0,0 +1,76 @@
|
|
1
|
+
module Jektify
|
2
|
+
|
3
|
+
class Render
|
4
|
+
|
5
|
+
$DATETIME = Time.new
|
6
|
+
|
7
|
+
def rendering(app_name, app_root_config, spotify_embed_category, spotify_embed_url, spotify_embed_theme)
|
8
|
+
|
9
|
+
# Checks the state of the description" property in the file "_config.yml"
|
10
|
+
# jektify__description = app_root_config["title"]["enable"] == false and app_root_config["description"]["enable"] == false ? jektify__description = "none" : jektify__description = "block"
|
11
|
+
|
12
|
+
# Checks the state of the "title => enable" property in the file "_config.yml"
|
13
|
+
jektify__title = app_root_config["title"]["enable"] == true ? jektify__title = "block" : jektify__title = "none"
|
14
|
+
|
15
|
+
# Checks the state of the "title => enable" property in the file "_config.yml"
|
16
|
+
jektify__description = app_root_config["description"]["enable"] == true ? jektify__description = "block" : jektify__description = "none"
|
17
|
+
|
18
|
+
# Sets the size of the box where the tracks will stay.
|
19
|
+
spotify_embed_category == "album" || spotify_embed_category == "playlist" || spotify_embed_category == "artist" ? box_height = 380 : box_height = 80
|
20
|
+
|
21
|
+
# Sets whether the Jektify box will start open or closed
|
22
|
+
open_track = app_root_config["open"] == true ? open_track = "block" : open_track = "none"
|
23
|
+
|
24
|
+
# If the option to open the box at startup is enabled, the toggle button will also undergo open and close actions.
|
25
|
+
jektify__button_action = app_root_config["open"] == true ? jektify__button_action = "jektify__button--open" : jektify__button_action = "jektify__button--closed"
|
26
|
+
|
27
|
+
# Checks whether the user will use the Toggle feature or not.
|
28
|
+
# If do not use it, JavaScript will not be generated for the user. Because it is he who does the Toggle feature.
|
29
|
+
# The block generating Javascript is in the "Generator" class in the "generate" method. Version 3.0.1
|
30
|
+
# NOTe: If the user uses the previous version of the "_config.yml" file, there will be no conflict.
|
31
|
+
jektify__toggle_button = "<span class=\"jektify__button jektify__button--#{spotify_embed_theme} jektify__button--custom #{jektify__button_action}\">+</span>" if app_root_config["toggle"].nil? || app_root_config["toggle"]["enable"] == true
|
32
|
+
|
33
|
+
open_track = "block" if !app_root_config["toggle"].nil? && app_root_config["toggle"]["enable"] == false
|
34
|
+
jektify__toggle_button = "" if !app_root_config["toggle"].nil? && app_root_config["toggle"]["enable"] == false
|
35
|
+
|
36
|
+
# This is a feature for adding a Spotify user link. Version 3.0.1
|
37
|
+
# NOTe: If the user uses the previous version of the "_config.yml" file, there will be no conflict.
|
38
|
+
if app_root_config["spotify"].nil?
|
39
|
+
jektify__spotify_user = ""
|
40
|
+
else
|
41
|
+
jektify__spotify_user = "<div class=\"jektify__user\"><a href=\"https://open.spotify.com/user/#{app_root_config["spotify"]["user"]}\" target=\"_blank\" class=\"jektify__user-link jektify__user-link--#{spotify_embed_theme} jektify__user-link--custom\" title=\"#{app_root_config["spotify"]["text"]}\"><span class=\"jektify__user-text jektify__user-text--#{spotify_embed_theme} jektify__user-text--custom\">#{app_root_config["spotify"]["text"]}</span></a></div>" if !app_root_config["spotify"]["user"].nil? && !app_root_config["spotify"]["text"].nil?
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
# Render template if enable == true
|
46
|
+
if app_root_config["enable"] == true
|
47
|
+
%(<dl class="jektify jektify--#{spotify_embed_theme} jektify--custom">
|
48
|
+
|
49
|
+
<dt class="jektify__header jektify__header--#{spotify_embed_theme} jektify__header--custom">
|
50
|
+
|
51
|
+
<a class="jektify__brand jektify__brand--#{spotify_embed_theme} jektify__brand--custom" href="https://#{app_name}.github.io" target="_blank">#{app_name}</a>
|
52
|
+
|
53
|
+
<i class="jektify__year jektify__year--#{spotify_embed_theme} jektify__year--custom">© #{$DATETIME.strftime("%Y")} </i>
|
54
|
+
#{jektify__toggle_button}
|
55
|
+
</dt>
|
56
|
+
|
57
|
+
<dd class="jektify__body jektify__body--#{spotify_embed_theme} jektify__body--custom" style="display: #{open_track}">
|
58
|
+
|
59
|
+
#{jektify__spotify_user}
|
60
|
+
|
61
|
+
<h1 class="jektify__title jektify__title--#{spotify_embed_theme} jektify__user--#{spotify_embed_theme} jektify__title--custom" style="display: #{jektify__title};">#{app_root_config["title"]["text"]}</h1>
|
62
|
+
|
63
|
+
<p class="jektify__description jektify__description--#{spotify_embed_theme} jektify__description--custom" style="display: #{jektify__description};">#{app_root_config["description"]["text"]}</p>
|
64
|
+
|
65
|
+
<div class="jektify__tracklist jektify__tracklist--#{spotify_embed_theme} jektify__tracklist--custom">
|
66
|
+
<iframe id="jektify__track" class="jektify__track jektify__track--#{spotify_embed_theme} jektify__track--custom" src="#{spotify_embed_url}" width="100%" height="#{box_height}" frameborder="0" allowtransparency="true"></iframe>
|
67
|
+
</div>
|
68
|
+
</dd>
|
69
|
+
</dl>)
|
70
|
+
end
|
71
|
+
|
72
|
+
end # def content
|
73
|
+
|
74
|
+
end # class Render
|
75
|
+
|
76
|
+
end # module Jektify
|
data/lib/jektify/version.rb
CHANGED
@@ -1,3 +1,14 @@
|
|
1
1
|
module Jektify
|
2
|
-
|
2
|
+
|
3
|
+
# Description
|
4
|
+
#
|
5
|
+
# MAJOR: It includes API changes and can break backward compatibility
|
6
|
+
# MINOR: It includes new features without breaking existing APIs
|
7
|
+
# PATCH: Fixes bugs and brings improvements in existing implementations
|
8
|
+
|
9
|
+
MAJOR = 1
|
10
|
+
MINOR = 0
|
11
|
+
PATCH = 0
|
12
|
+
VERSION = "#{MAJOR}.#{MINOR}.#{PATCH}"
|
13
|
+
|
3
14
|
end
|
metadata
CHANGED
@@ -1,15 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jektify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- William Canin
|
7
|
+
- William C. Canin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-02-02 00:00:00.000000000 Z
|
12
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.7'
|
20
|
+
- - "~>"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 3.7.0
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '3.7'
|
30
|
+
- - "~>"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 3.7.0
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: sass
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '3.5'
|
40
|
+
- - "~>"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 3.5.5
|
43
|
+
type: :runtime
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '3.5'
|
50
|
+
- - "~>"
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 3.5.5
|
13
53
|
- !ruby/object:Gem::Dependency
|
14
54
|
name: bundler
|
15
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -30,14 +70,14 @@ dependencies:
|
|
30
70
|
requirements:
|
31
71
|
- - "~>"
|
32
72
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
73
|
+
version: '12.3'
|
34
74
|
type: :development
|
35
75
|
prerelease: false
|
36
76
|
version_requirements: !ruby/object:Gem::Requirement
|
37
77
|
requirements:
|
38
78
|
- - "~>"
|
39
79
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
80
|
+
version: '12.3'
|
41
81
|
- !ruby/object:Gem::Dependency
|
42
82
|
name: minitest
|
43
83
|
requirement: !ruby/object:Gem::Requirement
|
@@ -61,15 +101,23 @@ extra_rdoc_files: []
|
|
61
101
|
files:
|
62
102
|
- ".gitignore"
|
63
103
|
- ".travis.yml"
|
104
|
+
- CHANGELOG.md
|
64
105
|
- CODE_OF_CONDUCT.md
|
65
106
|
- Gemfile
|
66
107
|
- LICENSE.txt
|
67
108
|
- README.md
|
68
109
|
- Rakefile
|
110
|
+
- assets/vendor/jektify/imgs/spotify_logo.png
|
111
|
+
- assets/vendor/jektify/js/jektify.min.js
|
112
|
+
- assets/vendor/jektify/sass/_jektify.scss
|
69
113
|
- bin/console
|
70
114
|
- bin/setup
|
115
|
+
- bin/travis
|
71
116
|
- jektify.gemspec
|
72
117
|
- lib/jektify.rb
|
118
|
+
- lib/jektify/engine.rb
|
119
|
+
- lib/jektify/main.rb
|
120
|
+
- lib/jektify/render.rb
|
73
121
|
- lib/jektify/version.rb
|
74
122
|
homepage: https://github.com/williamcanin/jektify
|
75
123
|
licenses:
|
@@ -83,7 +131,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
83
131
|
requirements:
|
84
132
|
- - ">="
|
85
133
|
- !ruby/object:Gem::Version
|
86
|
-
version:
|
134
|
+
version: 2.3.6
|
87
135
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
88
136
|
requirements:
|
89
137
|
- - ">="
|