sir-trevor-rails 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +58 -62
  3. data/README.md +12 -73
  4. data/app/views/sir-trevor/blocks/_list_block.html.erb +3 -0
  5. data/app/views/sir-trevor/blocks/_quote_block.html.erb +3 -3
  6. data/app/views/sir-trevor/blocks/_text_block.html.erb +2 -2
  7. data/app/views/sir-trevor/blocks/_tweet_block.html.erb +4 -4
  8. data/app/views/sir-trevor/blocks/_video_block.html.erb +5 -5
  9. data/config/initializers/validators.rb +4 -2
  10. data/lib/generators/sir_trevor/block/templates/_block.html.erb +2 -2
  11. data/lib/sir-trevor-rails.rb +7 -3
  12. data/lib/sir-trevor/helpers/form_builder.rb +2 -2
  13. data/lib/sir-trevor/helpers/form_helper.rb +12 -6
  14. data/lib/sir-trevor/helpers/view_helper.rb +41 -40
  15. data/lib/sir-trevor/version.rb +1 -1
  16. data/sir-trevor-rails.gemspec +6 -2
  17. metadata +35 -34
  18. data/Rakefile +0 -10
  19. data/app/assets/images/sir-trevor/icons/block_editor_blockquote.png +0 -0
  20. data/app/assets/images/sir-trevor/icons/block_editor_embed.png +0 -0
  21. data/app/assets/images/sir-trevor/icons/block_editor_image.png +0 -0
  22. data/app/assets/images/sir-trevor/icons/block_editor_list.png +0 -0
  23. data/app/assets/images/sir-trevor/icons/block_editor_text.png +0 -0
  24. data/app/assets/images/sir-trevor/icons/block_editor_tweet.png +0 -0
  25. data/app/assets/images/sir-trevor/icons/block_editor_video.png +0 -0
  26. data/app/assets/images/sir-trevor/icons/close.gif +0 -0
  27. data/app/assets/images/sir-trevor/icons/handle.gif +0 -0
  28. data/app/assets/images/sir-trevor/icons/new_image.png +0 -0
  29. data/app/assets/images/sir-trevor/icons/new_tweet.png +0 -0
  30. data/app/assets/images/sir-trevor/icons/new_video.png +0 -0
  31. data/app/assets/images/sir-trevor/icons/quote.png +0 -0
  32. data/app/assets/images/sir-trevor/placeholders/placeholder.jpg +0 -0
  33. data/app/assets/images/sir-trevor/placeholders/post_placeholder.jpg +0 -0
  34. data/app/assets/images/sir-trevor/placeholders/thumbnail_placeholder.jpg +0 -0
  35. data/app/assets/javascript/sir-trevor.js +0 -2
  36. data/app/assets/javascript/sir-trevor/libs/underscore.js +0 -32
  37. data/app/assets/javascript/sir-trevor/sir-trevor.js +0 -2349
  38. data/app/assets/stylesheets/sir-trevor.css +0 -4
  39. data/app/assets/stylesheets/sir-trevor/icons.css.erb +0 -47
  40. data/app/assets/stylesheets/sir-trevor/sir-trevor.css +0 -439
  41. data/app/views/sir-trevor/blocks/_gallery_block.html.erb +0 -6
  42. data/app/views/sir-trevor/blocks/_ul_block.html.erb +0 -3
  43. data/lib/generators/sir_trevor/block/block_generator.rb +0 -37
  44. data/lib/generators/sir_trevor/block/templates/_block.css.erb +0 -7
  45. data/lib/generators/sir_trevor/block/templates/_block.js +0 -122
  46. data/lib/generators/sir_trevor/block/templates/_block.png +0 -0
@@ -1,4 +0,0 @@
1
- /*
2
- *= require ./sir-trevor/sir-trevor
3
- *= require ./sir-trevor/icons
4
- */
@@ -1,47 +0,0 @@
1
- /* All icons */
2
-
3
- .image-block.dropzone p,
4
- .gallery-block.dropzone p {
5
- background-image: url(<%= asset_path 'sir-trevor/icons/new_image.png' %>);
6
- }
7
-
8
- .tweet-block.dropzone p {
9
- background-image: url(<%= asset_path 'sir-trevor/icons/new_tweet.png' %>);
10
- }
11
-
12
- .video-block.dropzone p {
13
- background-image: url(<%= asset_path 'sir-trevor/icons/new_video.png' %>);
14
- }
15
-
16
- .sir-trevor-remove-block {
17
- background-image: url(<%= asset_path 'sir-trevor/icons/close.gif' %>);
18
- }
19
-
20
- .sir-trevor-drag-handle {
21
- background-image: url(<%= asset_path 'sir-trevor/icons/handle.gif' %>);
22
- }
23
-
24
- .sir-trevor-button.new-quote {
25
- background-image: url(<%= asset_path 'sir-trevor/icons/block_editor_blockquote.png' %>);
26
- }
27
-
28
- .sir-trevor-button.new-image,
29
- .sir-trevor-button.new-gallery {
30
- background-image: url(<%= asset_path 'sir-trevor/icons/block_editor_image.png' %>);
31
- }
32
-
33
- .sir-trevor-button.new-text {
34
- background-image: url(<%= asset_path 'sir-trevor/icons/block_editor_text.png' %>);
35
- }
36
-
37
- .sir-trevor-button.new-list {
38
- background-image: url(<%= asset_path 'sir-trevor/icons/block_editor_list.png' %>);
39
- }
40
-
41
- .sir-trevor-button.new-tweet {
42
- background-image: url(<%= asset_path 'sir-trevor/icons/block_editor_tweet.png' %>);
43
- }
44
-
45
- .sir-trevor-button.new-video {
46
- background-image: url(<%= asset_path 'sir-trevor/icons/block_editor_video.png' %>);
47
- }
@@ -1,439 +0,0 @@
1
- /* Basic Sir Trevor styles */
2
- body { margin: 0; font-size: 1em; line-height: 1.4; }
3
-
4
- .sir-trevor {
5
- min-width: 600px;
6
- padding: 0;
7
- z-index: 1;
8
- }
9
-
10
- .sir-trevor-blocks {
11
- padding: 16px 0 44px 0;
12
- position: relative;
13
- }
14
-
15
- .sir-trevor { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
16
-
17
- .sir-trevor {
18
- font-family: "Helvetica Neue", 'Arial', sans-serif;
19
- color: #222;
20
- }
21
-
22
- .sir-trevor * {
23
- -webkit-box-sizing: border-box;
24
- -moz-box-sizing: border-box;
25
- -ms-box-sizing: border-box;
26
- box-sizing: border-box;
27
- }
28
-
29
- .sir-trevor p,
30
- .sir-trevor h1,
31
- .sir-trevor h2,
32
- .sir-trevor h3,
33
- .sir-trevor h4 {
34
- margin: 0 0 10px 0;
35
- }
36
-
37
- /* Formatting control bar */
38
-
39
- .sir-trevor-formatting-control {
40
- background: #E9E9E9;
41
- border: 1px solid #DADADA;
42
- padding: 8px;
43
- margin: 0;
44
- width: 100%;
45
- position: relative;
46
- z-index: 12;
47
- margin-bottom: 35px;
48
- }
49
-
50
- .sir-trevor-formatting-control.fixed {
51
- position: fixed;
52
- top: 0;
53
- }
54
-
55
- .sir-trevor-format-button {
56
- padding: 2px 4px;
57
- min-width: 30px;
58
- border-radius: 4px;
59
- color: white;
60
- border: 1px solid #9A9A9A;
61
- background: #B2B2B2;
62
- cursor: pointer;
63
- display: inline-block;
64
- text-align: center;
65
- font-size: 0.875em;
66
- font-family: Arial;
67
- margin-right: 10px;
68
- }
69
-
70
- .sir-trevor-format-button:hover {
71
- background: #606060;
72
- border: 1px solid #606060;
73
- }
74
-
75
- /* Marker */
76
-
77
- .sir-trevor-marker {
78
- display: block;
79
- cursor: pointer;
80
- background: #F5F297;
81
- border: 1px dotted #DAC962;
82
- height: 46px;
83
- text-align: center;
84
- color: #9B8816;
85
- position: absolute;
86
- width: 100%;
87
- margin-top: -35px;
88
- z-index: 11;
89
- font-size: 11px;
90
- }
91
-
92
- .sir-trevor-marker p,
93
- .sir-trevor-buttons {
94
- display: inline-block;
95
- }
96
-
97
- .sir-trevor-marker p {
98
- font-weight: bold;
99
- position: relative;
100
- top: -10px;
101
- margin: 0 20px 0 0;
102
- }
103
-
104
- .sir-trevor-marker.drop-zone p { top: 15px; }
105
-
106
- .sir-trevor-button {
107
- display: inline-block;
108
- border-left: 1px dotted #DAC962;
109
- height: 45px;
110
- padding: 25px 13px 5px;
111
- color: #AF9B24;
112
- background-repeat: no-repeat;
113
- background-position: center 7px;
114
- text-decoration: none;
115
- }
116
-
117
- .sir-trevor-button:last-child { border-right: 1px dotted #DAC962; }
118
-
119
- .sir-trevor-button.new-quote {
120
- background-image: url(images/sir-trevor/icons/block_editor_blockquote.png);
121
- }
122
-
123
- .sir-trevor-button.new-image,
124
- .sir-trevor-button.new-gallery {
125
- background-image: url(images/sir-trevor/icons/block_editor_image.png);
126
- }
127
-
128
- .sir-trevor-button.new-text {
129
- background-image: url(images/sir-trevor/icons/block_editor_text.png);
130
- }
131
-
132
- .sir-trevor-button.new-list {
133
- background-image: url(images/sir-trevor/icons/block_editor_list.png);
134
- }
135
-
136
- .sir-trevor-button.new-tweet {
137
- background-image: url(images/sir-trevor/icons/block_editor_tweet.png);
138
- }
139
-
140
- .sir-trevor-button.new-video {
141
- background-image: url(images/sir-trevor/icons/block_editor_video.png);
142
- }
143
-
144
- /* Blocks */
145
-
146
- .sir-trevor-block {
147
- position: relative;
148
- margin: 0px 0 23px 0;
149
- font-size: 14px;
150
- overflow: hidden;
151
- }
152
-
153
- .sir-trevor-editor-block {
154
- padding: 15px 20px;
155
- border-top: 1px solid transparent;
156
- border-bottom: 1px solid transparent;
157
- }
158
-
159
- .sir-trevor-editor-block [contenteditable=true] {
160
- margin: 0 20px;
161
- min-height: 75px;
162
- }
163
-
164
- .sir-trevor-editor-block [contenteditable=true]:focus {
165
- outline: none;
166
- }
167
-
168
- .sir-trevor-remove-block {
169
- width: 14px; height: 14px;
170
- border: 1px solid #B3B3B3;
171
- position: absolute;
172
- top: 10px; right : 8px;
173
- cursor: pointer;
174
- display: none;
175
- background: #fff url(images/sir-trevor/icons/close.gif) no-repeat center center;
176
- }
177
-
178
- .sir-trevor-drag-handle {
179
- width: 14px;
180
- height: 100%;
181
- cursor: move;
182
- position: absolute;
183
- border-radius: 4px 0 0 4px;
184
- left: 0;
185
- top: 0;
186
- display: none;
187
- background: #606060 url(images/sir-trevor/icons/handle.gif) repeat-y 2px 2px;
188
- }
189
-
190
- /*** BLOCK STATES ***/
191
-
192
- /* Block Active State */
193
-
194
- .active .sir-trevor-editor-block,
195
- .focussed .sir-trevor-editor-block {
196
- border-top: 1px solid #e9e9e9;
197
- border-bottom: 1px solid #e9e9e9;
198
- }
199
-
200
- .active .sir-trevor-remove-block,
201
- .active .sir-trevor-drag-handle,
202
- .focussed .sir-trevor-remove-block,
203
- .focussed .sir-trevor-drag-handle {
204
- display: block;
205
- }
206
-
207
- /* Block Error State */
208
-
209
- .sir-trevor-block-with-errors {
210
- background: #CFEEFA;
211
- }
212
-
213
- .sir-trevor-block-with-errors .sir-trevor-editor-block {
214
- border-top: 1px solid #7FD7F7;
215
- border-bottom: 1px solid #7FD7F7;
216
- }
217
-
218
- /* Block Dragging State */
219
-
220
- .sir-trevor-block.dragging {
221
- opacity: 0.5;
222
- background: #fff;
223
- }
224
-
225
- /* Block Loading State */
226
-
227
- .sir-trevor-block.loading {
228
- opacity: 0.6;
229
- }
230
-
231
- .sir-trevor-block.loading .spinner {
232
- width: 32px;
233
- height: 32px;
234
- top: 50%; left: 50%;
235
- position: absolute!important;
236
- }
237
-
238
- /* Dropzone Blocks */
239
-
240
- .sir-trevor-block .dropzone {
241
- background-color: #E9E9E9;
242
- border: 1px dotted #B3B3B3;
243
- padding: 20px;
244
- text-align: center;
245
- margin: 10px auto;
246
- max-width: 550px;
247
- }
248
-
249
- .sir-trevor-block .dropzone p {
250
- display: inline-block;
251
- font-size: 24px;
252
- border: 1px dotted #B3B3B3;
253
- color: #282828;
254
- padding: 15px 60px 15px 100px;
255
- }
256
-
257
- .sir-trevor-block .dropzone.drag-enter {
258
- background: #F5F297;
259
- border-color: #DAC962;
260
- }
261
-
262
- .sir-trevor-block .dropzone.drag-enter p {
263
- color: #9B8816;
264
- }
265
-
266
- .sir-trevor-block .dropzone input[type="file"] {
267
- position: absolute;
268
- z-index: 50;
269
- opacity: 0;
270
- cursor: pointer;
271
- left: 0;
272
- width: 100%;
273
- text-align: center;
274
- }
275
-
276
- .sir-trevor-block .dropzone button {
277
- background: #5F5F5F;
278
- border-radius: 4px;
279
- border: none;
280
- font-family: Arial;
281
- padding: 4px 16px;
282
- color: white;
283
- cursor: pointer;
284
- position: relative;
285
- z-index: 10;
286
- }
287
-
288
- .sir-trevor .sir-trevor-block .dropzone label { width: 50%; display: inline; font-weight: normal; color: #666; }
289
- .sir-trevor .sir-trevor-block .dropzone input[type=text] { width: 50%; display: inline-block; margin: 0 0 0 10px; }
290
-
291
- /* Block Specific Styles */
292
-
293
- .sir-trevor-editor-block.quote-block {
294
- padding: 15px 60px;
295
- }
296
-
297
- .sir-trevor-editor-block.quote-block [contenteditable=true] { font-size: 1.2em; }
298
-
299
- .sir-trevor-editor-block.quote-block:before {
300
- content: '"';
301
- font-size: 48px;
302
- font-family: serif;
303
- position: absolute;
304
- top: 5px; left: 50px;
305
- color: #ccc;
306
- display: block;
307
- }
308
-
309
- .sir-trevor-editor-block.quote-block .input {
310
- margin: 15px 0 0 20px;
311
- }
312
-
313
- /*
314
- Image block
315
- */
316
-
317
- .image-block.dropzone p,
318
- .gallery-block.dropzone p {
319
- padding-left: 94px;
320
- background: url(images/sir-trevor/icons/new_image.png) no-repeat 15px 8px;
321
- }
322
-
323
- /* Video */
324
-
325
- .video-block.dropzone p {
326
- padding-left: 240px;
327
- padding-right: 45px;
328
- background: url(images/sir-trevor/icons/new_video.png) no-repeat 15px 8px;
329
- }
330
-
331
- /* Tweet */
332
-
333
- .tweet-block.dropzone p {
334
- padding-left: 94px;
335
- background: url(images/sir-trevor/icons/new_tweet.png) no-repeat 15px 8px;
336
- }
337
-
338
- .tweet-block .tweet {
339
- padding: 24px;
340
- overflow: hidden;
341
- }
342
-
343
- .tweet-block .tweet-avatar {
344
- float: left;
345
- margin: 3px 15px 20px 0;
346
- }
347
-
348
- .tweet-block .tweet .tweet-body {
349
- float: left;
350
- width: 450px;
351
- }
352
-
353
- .tweet-block .tweet .tweet-user {
354
- font-weight: bold;
355
- font-size: 1.125em;
356
- margin-bottom: 6px;
357
- line-height: 1.125em;
358
- }
359
-
360
- .tweet-block .tweet .tweet-text {
361
- margin-bottom: 4px;
362
- }
363
-
364
- .tweet-block .tweet time {
365
- color: #7f7f7f;
366
- font-size: 0.75em;
367
- }
368
-
369
- .drag-enter.tweet-block.dropzone p,
370
- .drag-enter.image-block.dropzone p,
371
- .drag-enter.gallery-block.dropzone p {
372
- background-position: 15px -192px;
373
- }
374
-
375
- .drag-enter.video-block.dropzone p {
376
- background-position: 15px -243px;
377
- }
378
-
379
- /* Generic Form / Input Styles */
380
-
381
- .sir-trevor-block label {
382
- margin-bottom: 12px;
383
- display: block;
384
- font-weight: bold;
385
- }
386
-
387
- .sir-trevor-block input[type=text] {
388
- font-size: 100%;
389
- font-family: arial, sans-serif;
390
- border: 1px solid #E9E9E9;
391
- padding: 8px;
392
- width: 100%;
393
- display: block;
394
- }
395
-
396
- .sir-trevor-block input[type=text]:focus { outline: 0; }
397
-
398
- /* Error States */
399
- .sir-trevor-block input[type=text].sir-trevor-error {
400
- border-color: #7FD7F7;
401
- }
402
-
403
- /* Extended inputs */
404
-
405
- .sir-trevor-block .extended_input { position: relative; }
406
-
407
- .sir-trevor-block .extended_input .count {
408
- position: absolute;
409
- display: none;
410
- right: -5px; bottom: -3px;
411
- font-size: 11px;
412
- color: #BDBDBD;
413
- font-style: italic;
414
- z-index: 15;
415
- padding: 2px;
416
- }
417
-
418
- .sir-trevor-block .extended_input .count em { font-weight: bold; }
419
-
420
- .sir-trevor-block.active .extended_input .count,
421
- .sir-trevor-block.focussed .extended_input .count { display: block; }
422
-
423
-
424
- /* Generic fade-in ready function */
425
-
426
- .sir-trevor-block,
427
- .sir-trevor-marker,
428
- .sir-trevor-formatting-control {
429
- opacity: 0;
430
- -webkit-transition: opacity 0.2s ease-in-out;
431
- -moz-transition: opacity 0.2s ease-in-out;
432
- -ms-transition: opacity 0.2s ease-in-out;
433
- -o-transition: opacity 0.2s ease-in-out;
434
- transition: opacity 0.2s ease-in-out;
435
- }
436
-
437
- .sir-trevor-item-ready {
438
- opacity: 1;
439
- }