jektify 0.1.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
[![Gem Version](https://badge.fury.io/rb/jektify.svg)](https://badge.fury.io/rb/jektify)
|
4
|
+
[![Build Status](https://travis-ci.org/jektify/jektify.svg?branch=master)](https://travis-ci.org/jektify/jektify)
|
5
|
+
[![Dependency Status](https://beta.gemnasium.com/badges/github.com/jektify/jektify.svg)](https://beta.gemnasium.com/projects/github.com/jektify/jektify)
|
6
|
+
[![security](https://hakiri.io/github/jektify/jektify/master.svg)](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
|
- - ">="
|