gallerize-cli 0.1.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/.gitignore +5 -0
- data/Gemfile +7 -0
- data/Gemfile.lock +37 -0
- data/README.md +67 -0
- data/bin/gallerize +4 -0
- data/config/global.yml.example +9 -0
- data/css/blank.gif +0 -0
- data/css/fancybox_loading.gif +0 -0
- data/css/fancybox_loading@2x.gif +0 -0
- data/css/fancybox_overlay.png +0 -0
- data/css/fancybox_sprite.png +0 -0
- data/css/fancybox_sprite@2x.png +0 -0
- data/css/jquery.fancybox.css +274 -0
- data/css/styles.css +76 -0
- data/gallerize.gemspec +26 -0
- data/js/imagesloaded.js +7 -0
- data/js/jquery-1.10.1.min.js +6 -0
- data/js/jquery.fancybox.js +2020 -0
- data/js/jquery.masonry.js +9 -0
- data/lib/gallerize.rb +255 -0
- metadata +135 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d0c212866a4f3493309e66fd954ac93d6d245ac7
|
4
|
+
data.tar.gz: 5b1ec2040ddb00416fbdcb09e071bf18e857f826
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: eb41a7114252c066f1d36bbe0749e9d3046e9b4638c7da2376dbe36a83e2940562c68d673bfe01a51d6811442c69b1a3cf4d01e6133e9d4b63e9ab51ac11ee2d
|
7
|
+
data.tar.gz: e571a7300f173ec5826340df70c86d119cd96c7824923b9545aca8a90bbaff4203d5d1ab17241a1a04c0c6431f4ed1330d4261c29e1f6f7f16b6aca4b8d24544
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
GEM
|
2
|
+
remote: https://rubygems.org/
|
3
|
+
specs:
|
4
|
+
activesupport (4.1.1)
|
5
|
+
i18n (~> 0.6, >= 0.6.9)
|
6
|
+
json (~> 1.7, >= 1.7.7)
|
7
|
+
minitest (~> 5.1)
|
8
|
+
thread_safe (~> 0.1)
|
9
|
+
tzinfo (~> 1.1)
|
10
|
+
coderay (1.1.0)
|
11
|
+
exifr (1.1.3)
|
12
|
+
i18n (0.6.9)
|
13
|
+
json (1.8.1)
|
14
|
+
method_source (0.8.2)
|
15
|
+
mini_magick (3.7.0)
|
16
|
+
subexec (~> 0.2.1)
|
17
|
+
minitest (5.3.5)
|
18
|
+
parallel (1.0.0)
|
19
|
+
pry (0.10.0)
|
20
|
+
coderay (~> 1.1.0)
|
21
|
+
method_source (~> 0.8.1)
|
22
|
+
slop (~> 3.4)
|
23
|
+
slop (3.5.0)
|
24
|
+
subexec (0.2.3)
|
25
|
+
thread_safe (0.3.4)
|
26
|
+
tzinfo (1.2.1)
|
27
|
+
thread_safe (~> 0.1)
|
28
|
+
|
29
|
+
PLATFORMS
|
30
|
+
ruby
|
31
|
+
|
32
|
+
DEPENDENCIES
|
33
|
+
activesupport
|
34
|
+
exifr
|
35
|
+
mini_magick
|
36
|
+
parallel
|
37
|
+
pry
|
data/README.md
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
### Overview
|
2
|
+
|
3
|
+
Generate a static gallery from a folder of images.
|
4
|
+
|
5
|
+
**Highlights**
|
6
|
+
|
7
|
+
* responsive layout
|
8
|
+
* thumbnails and fullsize are generated automatically
|
9
|
+
* does not alter existing directory
|
10
|
+
|
11
|
+
|
12
|
+
### Example
|
13
|
+
|
14
|
+
http://examples.hilscher.ca/static-gallery-generator/
|
15
|
+
|
16
|
+
|
17
|
+
### Usage
|
18
|
+
|
19
|
+
```
|
20
|
+
$ cd folder-with-pictures
|
21
|
+
$ gallerize
|
22
|
+
```
|
23
|
+
|
24
|
+
|
25
|
+
### Installation
|
26
|
+
|
27
|
+
* Clone or download the repo
|
28
|
+
|
29
|
+
```
|
30
|
+
git clone https://github.com/blakehilscher/static-gallery-generator.git
|
31
|
+
```
|
32
|
+
|
33
|
+
* Install depedencies
|
34
|
+
|
35
|
+
```
|
36
|
+
cd static-gallery-generator
|
37
|
+
bundle install
|
38
|
+
```
|
39
|
+
|
40
|
+
* Link bin/gallerize into your PATH
|
41
|
+
|
42
|
+
```
|
43
|
+
ln -sf "$(pwd)/bin/gallerize" $HOME/bin/gallerize
|
44
|
+
```
|
45
|
+
|
46
|
+
|
47
|
+
### Configuration
|
48
|
+
|
49
|
+
* configure in config/global.yml
|
50
|
+
|
51
|
+
| Name | Required? | Example Value | Description |
|
52
|
+
| ------------- |:-------------:| -----------------:| -------------------------------------------------------------:|
|
53
|
+
| per_page | required | 100 | How many photos per page? |
|
54
|
+
| image_types | required | jpg,JPG,png,PNG | The image formats to process |
|
55
|
+
| workers | required | 4 | The number of processes to use when doing CPU intensive work |
|
56
|
+
| image_width | required | 1200 | The fullsize image width |
|
57
|
+
| image_height | required | 800 | The fullsize image height |
|
58
|
+
| thumb_width | required | 1200 | The thumbnail image width |
|
59
|
+
| thumb_height | required | 800 | The thumbnail image height |
|
60
|
+
| output_name | optional | gallery | Directory name where the gallery will be created |
|
61
|
+
| tracking | optional | UA-0000000-2 | Enable google analytics by entering a tracking code |
|
62
|
+
|
63
|
+
|
64
|
+
### Future
|
65
|
+
|
66
|
+
* extract the html from generate.rb and put it into source/template.haml
|
67
|
+
* add scss precompile: source/styles.scss
|
data/bin/gallerize
ADDED
data/css/blank.gif
ADDED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,274 @@
|
|
1
|
+
/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
|
2
|
+
.fancybox-wrap,
|
3
|
+
.fancybox-skin,
|
4
|
+
.fancybox-outer,
|
5
|
+
.fancybox-inner,
|
6
|
+
.fancybox-image,
|
7
|
+
.fancybox-wrap iframe,
|
8
|
+
.fancybox-wrap object,
|
9
|
+
.fancybox-nav,
|
10
|
+
.fancybox-nav span,
|
11
|
+
.fancybox-tmp
|
12
|
+
{
|
13
|
+
padding: 0;
|
14
|
+
margin: 0;
|
15
|
+
border: 0;
|
16
|
+
outline: none;
|
17
|
+
vertical-align: top;
|
18
|
+
}
|
19
|
+
|
20
|
+
.fancybox-wrap {
|
21
|
+
position: absolute;
|
22
|
+
top: 0;
|
23
|
+
left: 0;
|
24
|
+
z-index: 8020;
|
25
|
+
}
|
26
|
+
|
27
|
+
.fancybox-skin {
|
28
|
+
position: relative;
|
29
|
+
background: #f9f9f9;
|
30
|
+
color: #444;
|
31
|
+
text-shadow: none;
|
32
|
+
-webkit-border-radius: 4px;
|
33
|
+
-moz-border-radius: 4px;
|
34
|
+
border-radius: 4px;
|
35
|
+
}
|
36
|
+
|
37
|
+
.fancybox-opened {
|
38
|
+
z-index: 8030;
|
39
|
+
}
|
40
|
+
|
41
|
+
.fancybox-opened .fancybox-skin {
|
42
|
+
-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
|
43
|
+
-moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
|
44
|
+
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
|
45
|
+
}
|
46
|
+
|
47
|
+
.fancybox-outer, .fancybox-inner {
|
48
|
+
position: relative;
|
49
|
+
}
|
50
|
+
|
51
|
+
.fancybox-inner {
|
52
|
+
overflow: hidden;
|
53
|
+
}
|
54
|
+
|
55
|
+
.fancybox-type-iframe .fancybox-inner {
|
56
|
+
-webkit-overflow-scrolling: touch;
|
57
|
+
}
|
58
|
+
|
59
|
+
.fancybox-error {
|
60
|
+
color: #444;
|
61
|
+
font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
|
62
|
+
margin: 0;
|
63
|
+
padding: 15px;
|
64
|
+
white-space: nowrap;
|
65
|
+
}
|
66
|
+
|
67
|
+
.fancybox-image, .fancybox-iframe {
|
68
|
+
display: block;
|
69
|
+
width: 100%;
|
70
|
+
height: 100%;
|
71
|
+
}
|
72
|
+
|
73
|
+
.fancybox-image {
|
74
|
+
max-width: 100%;
|
75
|
+
max-height: 100%;
|
76
|
+
}
|
77
|
+
|
78
|
+
#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
|
79
|
+
background-image: url('fancybox_sprite.png');
|
80
|
+
}
|
81
|
+
|
82
|
+
#fancybox-loading {
|
83
|
+
position: fixed;
|
84
|
+
top: 50%;
|
85
|
+
left: 50%;
|
86
|
+
margin-top: -22px;
|
87
|
+
margin-left: -22px;
|
88
|
+
background-position: 0 -108px;
|
89
|
+
opacity: 0.8;
|
90
|
+
cursor: pointer;
|
91
|
+
z-index: 8060;
|
92
|
+
}
|
93
|
+
|
94
|
+
#fancybox-loading div {
|
95
|
+
width: 44px;
|
96
|
+
height: 44px;
|
97
|
+
background: url('fancybox_loading.gif') center center no-repeat;
|
98
|
+
}
|
99
|
+
|
100
|
+
.fancybox-close {
|
101
|
+
position: absolute;
|
102
|
+
top: -18px;
|
103
|
+
right: -18px;
|
104
|
+
width: 36px;
|
105
|
+
height: 36px;
|
106
|
+
cursor: pointer;
|
107
|
+
z-index: 8040;
|
108
|
+
}
|
109
|
+
|
110
|
+
.fancybox-nav {
|
111
|
+
position: absolute;
|
112
|
+
top: 0;
|
113
|
+
width: 40%;
|
114
|
+
height: 100%;
|
115
|
+
cursor: pointer;
|
116
|
+
text-decoration: none;
|
117
|
+
background: transparent url('blank.gif'); /* helps IE */
|
118
|
+
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
119
|
+
z-index: 8040;
|
120
|
+
}
|
121
|
+
|
122
|
+
.fancybox-prev {
|
123
|
+
left: 0;
|
124
|
+
}
|
125
|
+
|
126
|
+
.fancybox-next {
|
127
|
+
right: 0;
|
128
|
+
}
|
129
|
+
|
130
|
+
.fancybox-nav span {
|
131
|
+
position: absolute;
|
132
|
+
top: 50%;
|
133
|
+
width: 36px;
|
134
|
+
height: 34px;
|
135
|
+
margin-top: -18px;
|
136
|
+
cursor: pointer;
|
137
|
+
z-index: 8040;
|
138
|
+
visibility: hidden;
|
139
|
+
}
|
140
|
+
|
141
|
+
.fancybox-prev span {
|
142
|
+
left: 10px;
|
143
|
+
background-position: 0 -36px;
|
144
|
+
}
|
145
|
+
|
146
|
+
.fancybox-next span {
|
147
|
+
right: 10px;
|
148
|
+
background-position: 0 -72px;
|
149
|
+
}
|
150
|
+
|
151
|
+
.fancybox-nav:hover span {
|
152
|
+
visibility: visible;
|
153
|
+
}
|
154
|
+
|
155
|
+
.fancybox-tmp {
|
156
|
+
position: absolute;
|
157
|
+
top: -99999px;
|
158
|
+
left: -99999px;
|
159
|
+
visibility: hidden;
|
160
|
+
max-width: 99999px;
|
161
|
+
max-height: 99999px;
|
162
|
+
overflow: visible !important;
|
163
|
+
}
|
164
|
+
|
165
|
+
/* Overlay helper */
|
166
|
+
|
167
|
+
.fancybox-lock {
|
168
|
+
overflow: hidden !important;
|
169
|
+
width: auto;
|
170
|
+
}
|
171
|
+
|
172
|
+
.fancybox-lock body {
|
173
|
+
overflow: hidden !important;
|
174
|
+
}
|
175
|
+
|
176
|
+
.fancybox-lock-test {
|
177
|
+
overflow-y: hidden !important;
|
178
|
+
}
|
179
|
+
|
180
|
+
.fancybox-overlay {
|
181
|
+
position: absolute;
|
182
|
+
top: 0;
|
183
|
+
left: 0;
|
184
|
+
overflow: hidden;
|
185
|
+
display: none;
|
186
|
+
z-index: 8010;
|
187
|
+
background: url('fancybox_overlay.png');
|
188
|
+
}
|
189
|
+
|
190
|
+
.fancybox-overlay-fixed {
|
191
|
+
position: fixed;
|
192
|
+
bottom: 0;
|
193
|
+
right: 0;
|
194
|
+
}
|
195
|
+
|
196
|
+
.fancybox-lock .fancybox-overlay {
|
197
|
+
overflow: auto;
|
198
|
+
overflow-y: scroll;
|
199
|
+
}
|
200
|
+
|
201
|
+
/* Title helper */
|
202
|
+
|
203
|
+
.fancybox-title {
|
204
|
+
visibility: hidden;
|
205
|
+
font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
|
206
|
+
position: relative;
|
207
|
+
text-shadow: none;
|
208
|
+
z-index: 8050;
|
209
|
+
}
|
210
|
+
|
211
|
+
.fancybox-opened .fancybox-title {
|
212
|
+
visibility: visible;
|
213
|
+
}
|
214
|
+
|
215
|
+
.fancybox-title-float-wrap {
|
216
|
+
position: absolute;
|
217
|
+
bottom: 0;
|
218
|
+
right: 50%;
|
219
|
+
margin-bottom: -35px;
|
220
|
+
z-index: 8050;
|
221
|
+
text-align: center;
|
222
|
+
}
|
223
|
+
|
224
|
+
.fancybox-title-float-wrap .child {
|
225
|
+
display: inline-block;
|
226
|
+
margin-right: -100%;
|
227
|
+
padding: 2px 20px;
|
228
|
+
background: transparent; /* Fallback for web browsers that doesn't support RGBa */
|
229
|
+
background: rgba(0, 0, 0, 0.8);
|
230
|
+
-webkit-border-radius: 15px;
|
231
|
+
-moz-border-radius: 15px;
|
232
|
+
border-radius: 15px;
|
233
|
+
text-shadow: 0 1px 2px #222;
|
234
|
+
color: #FFF;
|
235
|
+
font-weight: bold;
|
236
|
+
line-height: 24px;
|
237
|
+
white-space: nowrap;
|
238
|
+
}
|
239
|
+
|
240
|
+
.fancybox-title-outside-wrap {
|
241
|
+
position: relative;
|
242
|
+
margin-top: 10px;
|
243
|
+
color: #fff;
|
244
|
+
}
|
245
|
+
|
246
|
+
.fancybox-title-inside-wrap {
|
247
|
+
padding-top: 10px;
|
248
|
+
}
|
249
|
+
|
250
|
+
.fancybox-title-over-wrap {
|
251
|
+
position: absolute;
|
252
|
+
bottom: 0;
|
253
|
+
left: 0;
|
254
|
+
color: #fff;
|
255
|
+
padding: 10px;
|
256
|
+
background: #000;
|
257
|
+
background: rgba(0, 0, 0, .8);
|
258
|
+
}
|
259
|
+
|
260
|
+
/*Retina graphics!*/
|
261
|
+
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
|
262
|
+
only screen and (min--moz-device-pixel-ratio: 1.5),
|
263
|
+
only screen and (min-device-pixel-ratio: 1.5){
|
264
|
+
|
265
|
+
#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
|
266
|
+
background-image: url('fancybox_sprite@2x.png');
|
267
|
+
background-size: 44px 152px; /*The size of the normal image, half the size of the hi-res image*/
|
268
|
+
}
|
269
|
+
|
270
|
+
#fancybox-loading div {
|
271
|
+
background-image: url('fancybox_loading@2x.gif');
|
272
|
+
background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/
|
273
|
+
}
|
274
|
+
}
|
data/css/styles.css
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
body{
|
2
|
+
font-family: arial;
|
3
|
+
}
|
4
|
+
.images{
|
5
|
+
overflow: hidden;
|
6
|
+
display:none;
|
7
|
+
}
|
8
|
+
.inner-image{
|
9
|
+
margin: 5px;
|
10
|
+
overflow:hidden;
|
11
|
+
background-color: #f2f2f2;
|
12
|
+
}
|
13
|
+
.image img{
|
14
|
+
width: 100%;
|
15
|
+
}
|
16
|
+
.navigation{
|
17
|
+
overflow: auto;
|
18
|
+
margin-top: 5px;
|
19
|
+
margin-bottom: 10px;
|
20
|
+
margin-left: 5px;
|
21
|
+
}
|
22
|
+
.navigation .active,
|
23
|
+
.navigation a:hover{
|
24
|
+
background-color: #901414;
|
25
|
+
color: #fff;
|
26
|
+
}
|
27
|
+
.navigation a{
|
28
|
+
float: left;
|
29
|
+
display: inline-block;
|
30
|
+
text-decoration: none;
|
31
|
+
padding: 7px 10px 5px;
|
32
|
+
|
33
|
+
background: #ddd;
|
34
|
+
margin-right: 2px;
|
35
|
+
margin-bottom: 2px;
|
36
|
+
|
37
|
+
color: #901414;
|
38
|
+
font-weight: bold;
|
39
|
+
}
|
40
|
+
.page-title{
|
41
|
+
margin: 20px 5px 5px 5px;
|
42
|
+
color: #901414;
|
43
|
+
}
|
44
|
+
|
45
|
+
@media (min-width: 0px) and (max-width: 500px) {
|
46
|
+
.image{
|
47
|
+
width: 100%;
|
48
|
+
}
|
49
|
+
}
|
50
|
+
@media (min-width: 501px) and (max-width: 1000px) {
|
51
|
+
.image{
|
52
|
+
width: 50%;
|
53
|
+
}
|
54
|
+
}
|
55
|
+
@media (min-width: 1001px) and (max-width: 1600px) {
|
56
|
+
.image{
|
57
|
+
width: 25%;
|
58
|
+
}
|
59
|
+
}
|
60
|
+
@media (min-width: 1601px) and (max-width: 2000px) {
|
61
|
+
.image{
|
62
|
+
width: 20%;
|
63
|
+
}
|
64
|
+
}
|
65
|
+
|
66
|
+
@media (min-width: 2001px) and (max-width: 2800px) {
|
67
|
+
.image{
|
68
|
+
width: 15%;
|
69
|
+
}
|
70
|
+
}
|
71
|
+
|
72
|
+
@media (min-width: 2801px) {
|
73
|
+
.image{
|
74
|
+
width: 10%;
|
75
|
+
}
|
76
|
+
}
|