ralber 0.0.1

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.
Files changed (69) hide show
  1. checksums.yaml +7 -0
  2. data/bin/ralber.rb +46 -0
  3. data/lib/ralber/album.rb +215 -0
  4. data/lib/ralber/commands/create_command.rb +39 -0
  5. data/lib/ralber/commands/publish_command.rb +72 -0
  6. data/lib/ralber/commands/update_command.rb +31 -0
  7. data/lib/ralber/image.rb +155 -0
  8. data/lib/ralber/observable.rb +17 -0
  9. data/lib/ralber/publisher.rb +167 -0
  10. data/lib/ralber/template.rb +56 -0
  11. data/templates/default/css/pure/pure-min.css +11 -0
  12. data/templates/default/css/styles.css +165 -0
  13. data/templates/default/detail.html.erb +41 -0
  14. data/templates/default/fonts/FiraSans-Light.eot +0 -0
  15. data/templates/default/fonts/FiraSans-Light.otf +0 -0
  16. data/templates/default/fonts/FiraSans-Light.ttf +0 -0
  17. data/templates/default/fonts/FiraSans-Light.woff +0 -0
  18. data/templates/default/fonts/FiraSans-LightItalic.eot +0 -0
  19. data/templates/default/fonts/FiraSans-LightItalic.otf +0 -0
  20. data/templates/default/fonts/FiraSans-LightItalic.ttf +0 -0
  21. data/templates/default/fonts/FiraSans-LightItalic.woff +0 -0
  22. data/templates/default/fonts/font-awesome-4.2.0/css/font-awesome.min.css +4 -0
  23. data/templates/default/fonts/font-awesome-4.2.0/fonts/FontAwesome.otf +0 -0
  24. data/templates/default/fonts/font-awesome-4.2.0/fonts/fontawesome-webfont.eot +0 -0
  25. data/templates/default/fonts/font-awesome-4.2.0/fonts/fontawesome-webfont.svg +520 -0
  26. data/templates/default/fonts/font-awesome-4.2.0/fonts/fontawesome-webfont.ttf +0 -0
  27. data/templates/default/fonts/font-awesome-4.2.0/fonts/fontawesome-webfont.woff +0 -0
  28. data/templates/default/index.html.erb +61 -0
  29. data/templates/default/template.json +25 -0
  30. data/templates/fancybox-dark/css/pure/pure-min.css +11 -0
  31. data/templates/fancybox-dark/css/styles.css +165 -0
  32. data/templates/fancybox-dark/detail.html.erb +41 -0
  33. data/templates/fancybox-dark/fancybox/CHANGELOG.md +125 -0
  34. data/templates/fancybox-dark/fancybox/README.md +217 -0
  35. data/templates/fancybox-dark/fancybox/lib/jquery-1.10.1.min.js +6 -0
  36. data/templates/fancybox-dark/fancybox/lib/jquery-1.9.0.min.js +4 -0
  37. data/templates/fancybox-dark/fancybox/lib/jquery.mousewheel-3.0.6.pack.js +13 -0
  38. data/templates/fancybox-dark/fancybox/source/blank.gif +0 -0
  39. data/templates/fancybox-dark/fancybox/source/fancybox_loading.gif +0 -0
  40. data/templates/fancybox-dark/fancybox/source/fancybox_loading@2x.gif +0 -0
  41. data/templates/fancybox-dark/fancybox/source/fancybox_overlay.png +0 -0
  42. data/templates/fancybox-dark/fancybox/source/fancybox_sprite.png +0 -0
  43. data/templates/fancybox-dark/fancybox/source/fancybox_sprite@2x.png +0 -0
  44. data/templates/fancybox-dark/fancybox/source/helpers/fancybox_buttons.png +0 -0
  45. data/templates/fancybox-dark/fancybox/source/helpers/jquery.fancybox-buttons.css +97 -0
  46. data/templates/fancybox-dark/fancybox/source/helpers/jquery.fancybox-buttons.js +122 -0
  47. data/templates/fancybox-dark/fancybox/source/helpers/jquery.fancybox-media.js +199 -0
  48. data/templates/fancybox-dark/fancybox/source/helpers/jquery.fancybox-thumbs.css +55 -0
  49. data/templates/fancybox-dark/fancybox/source/helpers/jquery.fancybox-thumbs.js +162 -0
  50. data/templates/fancybox-dark/fancybox/source/jquery.fancybox.css +274 -0
  51. data/templates/fancybox-dark/fancybox/source/jquery.fancybox.js +2020 -0
  52. data/templates/fancybox-dark/fancybox/source/jquery.fancybox.pack.js +46 -0
  53. data/templates/fancybox-dark/fonts/FiraSans-Light.eot +0 -0
  54. data/templates/fancybox-dark/fonts/FiraSans-Light.otf +0 -0
  55. data/templates/fancybox-dark/fonts/FiraSans-Light.ttf +0 -0
  56. data/templates/fancybox-dark/fonts/FiraSans-Light.woff +0 -0
  57. data/templates/fancybox-dark/fonts/FiraSans-LightItalic.eot +0 -0
  58. data/templates/fancybox-dark/fonts/FiraSans-LightItalic.otf +0 -0
  59. data/templates/fancybox-dark/fonts/FiraSans-LightItalic.ttf +0 -0
  60. data/templates/fancybox-dark/fonts/FiraSans-LightItalic.woff +0 -0
  61. data/templates/fancybox-dark/fonts/font-awesome-4.2.0/css/font-awesome.min.css +4 -0
  62. data/templates/fancybox-dark/fonts/font-awesome-4.2.0/fonts/FontAwesome.otf +0 -0
  63. data/templates/fancybox-dark/fonts/font-awesome-4.2.0/fonts/fontawesome-webfont.eot +0 -0
  64. data/templates/fancybox-dark/fonts/font-awesome-4.2.0/fonts/fontawesome-webfont.svg +520 -0
  65. data/templates/fancybox-dark/fonts/font-awesome-4.2.0/fonts/fontawesome-webfont.ttf +0 -0
  66. data/templates/fancybox-dark/fonts/font-awesome-4.2.0/fonts/fontawesome-webfont.woff +0 -0
  67. data/templates/fancybox-dark/index.html.erb +79 -0
  68. data/templates/fancybox-dark/template.json +20 -0
  69. metadata +167 -0
@@ -0,0 +1,61 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <link rel="stylesheet" href="css/pure/pure-min.css">
5
+ <link rel="stylesheet" href="css/styles.css">
6
+ <link rel="stylesheet" href="fonts/font-awesome-4.2.0/css/font-awesome.min.css">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1">
8
+ <meta charset="utf-8">
9
+ <title><%= album.title %></title>
10
+ </head>
11
+ <body class="indexpage">
12
+ <h1 class="title"><%= album.title %></h1>
13
+ <h2 class="subtitle"><%= album.subtitle %></h2>
14
+ <p><%= album.description %></p>
15
+
16
+ <div class="indextable">
17
+ <div class="nav">
18
+ <div class="pure-g">
19
+ <div class="pure-u-1-3 pageinfo"></div>
20
+ <div class="pure-u-1-3 pageinfo">
21
+ <% if page_nr > 1 %><a href="<%= index_page(page_nr - 1) %>"><i class="fa fa-chevron-left"></i></a><% end %>
22
+
23
+ Page <%= "#{page_nr}" %> / <%= pages %>
24
+
25
+ <% if page_nr < pages %><a href="<%= index_page(page_nr +1) %>"><i class="fa fa-chevron-right"></i></a><% end %>
26
+ </div>
27
+
28
+ <div class="pure-u-1-3 imageinfo"><%= album.images.length %> images</div>
29
+ </div>
30
+ </div>
31
+
32
+ <div class="pure-g">
33
+ <% images.each_with_index do |img,index| %>
34
+ <% if index % 4 == 0 && index > 1 %>
35
+ </div>
36
+
37
+ <div class="pure-g">
38
+ <% end %>
39
+ <div class="pure-u-1-4">
40
+ <%
41
+ info = image_info(img,'thumb')
42
+ detailinfo = image_info(img,'detail')
43
+ %>
44
+ <div class="index">
45
+ <a href="<%= detail_page(album.image_index(img)) %>">
46
+ <div>
47
+ <img class="pure-img" src="<%= info['rel_path'] %>" alt="<%= img.title %>" title="<%= img.description %>"/>
48
+ </div>
49
+ <div class="caption"><%= img.title %></div>
50
+ </a>
51
+ </div>
52
+ </div>
53
+ <% end %>
54
+ </div>
55
+ </div>
56
+
57
+ <footer>
58
+ <%= album.copyright %> <%= album.author %> - created with <a href="https://github.com/bylexus/ralber">ralber</a>
59
+ </footer>
60
+ </body>
61
+ </html>
@@ -0,0 +1,25 @@
1
+ {
2
+ "image_dir": "images",
3
+ "images": {
4
+ "thumb": {
5
+ "dimension": "200x150",
6
+ "format":"jpeg"
7
+ },
8
+ "detail": {
9
+ "dimension": "1024x768",
10
+ "format":"png"
11
+ },
12
+ "original": {
13
+ }
14
+ },
15
+
16
+ "index": {
17
+ "pagesize":20,
18
+ "filename_template": "index<%= page_nr if page_nr > 1 %>.html"
19
+ },
20
+
21
+ "detail": {
22
+ "filename_template":"detail_<%= index %>.html"
23
+
24
+ }
25
+ }
@@ -0,0 +1,11 @@
1
+ /*!
2
+ Pure v0.5.0
3
+ Copyright 2014 Yahoo! Inc. All rights reserved.
4
+ Licensed under the BSD License.
5
+ https://github.com/yui/pure/blob/master/LICENSE.md
6
+ */
7
+ /*!
8
+ normalize.css v1.1.3 | MIT License | git.io/normalize
9
+ Copyright (c) Nicolas Gallagher and Jonathan Neal
10
+ */
11
+ /*! normalize.css v1.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}html,button,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:1em 40px}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}p,pre{margin:1em 0}code,kbd,pre,samp{font-family:monospace,serif;_font-family:'courier new',monospace;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:before,q:after{content:'';content:none}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ul,nav ol{list-style:none;list-style-image:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;*margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}[hidden]{display:none!important}.pure-img{max-width:100%;height:auto;display:block}.pure-g{letter-spacing:-.31em;*letter-spacing:normal;*word-spacing:-.43em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-flex;-webkit-flex-flow:row wrap;display:-ms-flexbox;-ms-flex-flow:row wrap}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class *="pure-u"]{font-family:sans-serif}.pure-u-1,.pure-u-1-1,.pure-u-1-2,.pure-u-1-3,.pure-u-2-3,.pure-u-1-4,.pure-u-3-4,.pure-u-1-5,.pure-u-2-5,.pure-u-3-5,.pure-u-4-5,.pure-u-5-5,.pure-u-1-6,.pure-u-5-6,.pure-u-1-8,.pure-u-3-8,.pure-u-5-8,.pure-u-7-8,.pure-u-1-12,.pure-u-5-12,.pure-u-7-12,.pure-u-11-12,.pure-u-1-24,.pure-u-2-24,.pure-u-3-24,.pure-u-4-24,.pure-u-5-24,.pure-u-6-24,.pure-u-7-24,.pure-u-8-24,.pure-u-9-24,.pure-u-10-24,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%;*width:4.1357%}.pure-u-1-12,.pure-u-2-24{width:8.3333%;*width:8.3023%}.pure-u-1-8,.pure-u-3-24{width:12.5%;*width:12.469%}.pure-u-1-6,.pure-u-4-24{width:16.6667%;*width:16.6357%}.pure-u-1-5{width:20%;*width:19.969%}.pure-u-5-24{width:20.8333%;*width:20.8023%}.pure-u-1-4,.pure-u-6-24{width:25%;*width:24.969%}.pure-u-7-24{width:29.1667%;*width:29.1357%}.pure-u-1-3,.pure-u-8-24{width:33.3333%;*width:33.3023%}.pure-u-3-8,.pure-u-9-24{width:37.5%;*width:37.469%}.pure-u-2-5{width:40%;*width:39.969%}.pure-u-5-12,.pure-u-10-24{width:41.6667%;*width:41.6357%}.pure-u-11-24{width:45.8333%;*width:45.8023%}.pure-u-1-2,.pure-u-12-24{width:50%;*width:49.969%}.pure-u-13-24{width:54.1667%;*width:54.1357%}.pure-u-7-12,.pure-u-14-24{width:58.3333%;*width:58.3023%}.pure-u-3-5{width:60%;*width:59.969%}.pure-u-5-8,.pure-u-15-24{width:62.5%;*width:62.469%}.pure-u-2-3,.pure-u-16-24{width:66.6667%;*width:66.6357%}.pure-u-17-24{width:70.8333%;*width:70.8023%}.pure-u-3-4,.pure-u-18-24{width:75%;*width:74.969%}.pure-u-19-24{width:79.1667%;*width:79.1357%}.pure-u-4-5{width:80%;*width:79.969%}.pure-u-5-6,.pure-u-20-24{width:83.3333%;*width:83.3023%}.pure-u-7-8,.pure-u-21-24{width:87.5%;*width:87.469%}.pure-u-11-12,.pure-u-22-24{width:91.6667%;*width:91.6357%}.pure-u-23-24{width:95.8333%;*width:95.8023%}.pure-u-1,.pure-u-1-1,.pure-u-5-5,.pure-u-24-24{width:100%}.pure-button{display:inline-block;*display:inline;zoom:1;line-height:normal;white-space:nowrap;vertical-align:baseline;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button{font-family:inherit;font-size:100%;*font-size:90%;*overflow:visible;padding:.5em 1em;color:#444;color:rgba(0,0,0,.8);*color:#444;border:1px solid #999;border:0 rgba(0,0,0,0);background-color:#E6E6E6;text-decoration:none;border-radius:2px}.pure-button-hover,.pure-button:hover,.pure-button:focus{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#1a000000', GradientType=0);background-image:-webkit-gradient(linear,0 0,0 100%,from(transparent),color-stop(40%,rgba(0,0,0,.05)),to(rgba(0,0,0,.1)));background-image:-webkit-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));background-image:-moz-linear-gradient(top,rgba(0,0,0,.05) 0,rgba(0,0,0,.1));background-image:-o-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));background-image:linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1))}.pure-button:focus{outline:0}.pure-button-active,.pure-button:active{box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset}.pure-button[disabled],.pure-button-disabled,.pure-button-disabled:hover,.pure-button-disabled:focus,.pure-button-disabled:active{border:0;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);filter:alpha(opacity=40);-khtml-opacity:.4;-moz-opacity:.4;opacity:.4;cursor:not-allowed;box-shadow:none}.pure-button-hidden{display:none}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{background-color:#0078e7;color:#fff}.pure-form input[type=text],.pure-form input[type=password],.pure-form input[type=email],.pure-form input[type=url],.pure-form input[type=date],.pure-form input[type=month],.pure-form input[type=time],.pure-form input[type=datetime],.pure-form input[type=datetime-local],.pure-form input[type=week],.pure-form input[type=number],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=color],.pure-form select,.pure-form textarea{padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-form input:not([type]){padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-form input[type=color]{padding:.2em .5em}.pure-form input[type=text]:focus,.pure-form input[type=password]:focus,.pure-form input[type=email]:focus,.pure-form input[type=url]:focus,.pure-form input[type=date]:focus,.pure-form input[type=month]:focus,.pure-form input[type=time]:focus,.pure-form input[type=datetime]:focus,.pure-form input[type=datetime-local]:focus,.pure-form input[type=week]:focus,.pure-form input[type=number]:focus,.pure-form input[type=search]:focus,.pure-form input[type=tel]:focus,.pure-form input[type=color]:focus,.pure-form select:focus,.pure-form textarea:focus{outline:0;outline:thin dotted \9;border-color:#129FEA}.pure-form input:not([type]):focus{outline:0;outline:thin dotted \9;border-color:#129FEA}.pure-form input[type=file]:focus,.pure-form input[type=radio]:focus,.pure-form input[type=checkbox]:focus{outline:thin dotted #333;outline:1px auto #129FEA}.pure-form .pure-checkbox,.pure-form .pure-radio{margin:.5em 0;display:block}.pure-form input[type=text][disabled],.pure-form input[type=password][disabled],.pure-form input[type=email][disabled],.pure-form input[type=url][disabled],.pure-form input[type=date][disabled],.pure-form input[type=month][disabled],.pure-form input[type=time][disabled],.pure-form input[type=datetime][disabled],.pure-form input[type=datetime-local][disabled],.pure-form input[type=week][disabled],.pure-form input[type=number][disabled],.pure-form input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form input[type=color][disabled],.pure-form select[disabled],.pure-form textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input:not([type])[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input[readonly],.pure-form select[readonly],.pure-form textarea[readonly]{background:#eee;color:#777;border-color:#ccc}.pure-form input:focus:invalid,.pure-form textarea:focus:invalid,.pure-form select:focus:invalid{color:#b94a48;border-color:#ee5f5b}.pure-form input:focus:invalid:focus,.pure-form textarea:focus:invalid:focus,.pure-form select:focus:invalid:focus{border-color:#e9322d}.pure-form input[type=file]:focus:invalid:focus,.pure-form input[type=radio]:focus:invalid:focus,.pure-form input[type=checkbox]:focus:invalid:focus{outline-color:#e9322d}.pure-form select{border:1px solid #ccc;background-color:#fff}.pure-form select[multiple]{height:auto}.pure-form label{margin:.5em 0 .2em}.pure-form fieldset{margin:0;padding:.35em 0 .75em;border:0}.pure-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}.pure-form-stacked input[type=text],.pure-form-stacked input[type=password],.pure-form-stacked input[type=email],.pure-form-stacked input[type=url],.pure-form-stacked input[type=date],.pure-form-stacked input[type=month],.pure-form-stacked input[type=time],.pure-form-stacked input[type=datetime],.pure-form-stacked input[type=datetime-local],.pure-form-stacked input[type=week],.pure-form-stacked input[type=number],.pure-form-stacked input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked input[type=color],.pure-form-stacked select,.pure-form-stacked label,.pure-form-stacked textarea{display:block;margin:.25em 0}.pure-form-stacked input:not([type]){display:block;margin:.25em 0}.pure-form-aligned input,.pure-form-aligned textarea,.pure-form-aligned select,.pure-form-aligned .pure-help-inline,.pure-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.pure-form-aligned textarea{vertical-align:top}.pure-form-aligned .pure-control-group{margin-bottom:.5em}.pure-form-aligned .pure-control-group label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0 1em 0 0}.pure-form-aligned .pure-controls{margin:1.5em 0 0 10em}.pure-form input.pure-input-rounded,.pure-form .pure-input-rounded{border-radius:2em;padding:.5em 1em}.pure-form .pure-group fieldset{margin-bottom:10px}.pure-form .pure-group input{display:block;padding:10px;margin:0;border-radius:0;position:relative;top:-1px}.pure-form .pure-group input:focus{z-index:2}.pure-form .pure-group input:first-child{top:1px;border-radius:4px 4px 0 0}.pure-form .pure-group input:last-child{top:-2px;border-radius:0 0 4px 4px}.pure-form .pure-group button{margin:.35em 0}.pure-form .pure-input-1{width:100%}.pure-form .pure-input-2-3{width:66%}.pure-form .pure-input-1-2{width:50%}.pure-form .pure-input-1-3{width:33%}.pure-form .pure-input-1-4{width:25%}.pure-form .pure-help-inline,.pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:.875em}.pure-form-message{display:block;color:#666;font-size:.875em}@media only screen and (max-width :480px){.pure-form button[type=submit]{margin:.7em 0 0}.pure-form input:not([type]),.pure-form input[type=text],.pure-form input[type=password],.pure-form input[type=email],.pure-form input[type=url],.pure-form input[type=date],.pure-form input[type=month],.pure-form input[type=time],.pure-form input[type=datetime],.pure-form input[type=datetime-local],.pure-form input[type=week],.pure-form input[type=number],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=color],.pure-form label{margin-bottom:.3em;display:block}.pure-group input:not([type]),.pure-group input[type=text],.pure-group input[type=password],.pure-group input[type=email],.pure-group input[type=url],.pure-group input[type=date],.pure-group input[type=month],.pure-group input[type=time],.pure-group input[type=datetime],.pure-group input[type=datetime-local],.pure-group input[type=week],.pure-group input[type=number],.pure-group input[type=search],.pure-group input[type=tel],.pure-group input[type=color]{margin-bottom:0}.pure-form-aligned .pure-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.pure-form-aligned .pure-controls{margin:1.5em 0 0}.pure-form .pure-help-inline,.pure-form-message-inline,.pure-form-message{display:block;font-size:.75em;padding:.2em 0 .8em}}.pure-menu ul{position:absolute;visibility:hidden}.pure-menu.pure-menu-open{visibility:visible;z-index:2;width:100%}.pure-menu ul{left:-10000px;list-style:none;margin:0;padding:0;top:-10000px;z-index:1}.pure-menu>ul{position:relative}.pure-menu-open>ul{left:0;top:0;visibility:visible}.pure-menu-open>ul:focus{outline:0}.pure-menu li{position:relative}.pure-menu a,.pure-menu .pure-menu-heading{display:block;color:inherit;line-height:1.5em;padding:5px 20px;text-decoration:none;white-space:nowrap}.pure-menu.pure-menu-horizontal>.pure-menu-heading{display:inline-block;*display:inline;zoom:1;margin:0;vertical-align:middle}.pure-menu.pure-menu-horizontal>ul{display:inline-block;*display:inline;zoom:1;vertical-align:middle}.pure-menu li a{padding:5px 20px}.pure-menu-can-have-children>.pure-menu-label:after{content:'\25B8';float:right;font-family:'Lucida Grande','Lucida Sans Unicode','DejaVu Sans',sans-serif;margin-right:-20px;margin-top:-1px}.pure-menu-can-have-children>.pure-menu-label{padding-right:30px}.pure-menu-separator{background-color:#dfdfdf;display:block;height:1px;font-size:0;margin:7px 2px;overflow:hidden}.pure-menu-hidden{display:none}.pure-menu-fixed{position:fixed;top:0;left:0;width:100%}.pure-menu-horizontal li{display:inline-block;*display:inline;zoom:1;vertical-align:middle}.pure-menu-horizontal li li{display:block}.pure-menu-horizontal>.pure-menu-children>.pure-menu-can-have-children>.pure-menu-label:after{content:"\25BE"}.pure-menu-horizontal>.pure-menu-children>.pure-menu-can-have-children>.pure-menu-label{padding-right:30px}.pure-menu-horizontal li.pure-menu-separator{height:50%;width:1px;margin:0 7px}.pure-menu-horizontal li li.pure-menu-separator{height:1px;width:auto;margin:7px 2px}.pure-menu.pure-menu-open,.pure-menu.pure-menu-horizontal li .pure-menu-children{background:#fff;border:1px solid #b7b7b7}.pure-menu.pure-menu-horizontal,.pure-menu.pure-menu-horizontal .pure-menu-heading{border:0}.pure-menu a{border:1px solid transparent;border-left:0;border-right:0}.pure-menu a,.pure-menu .pure-menu-can-have-children>li:after{color:#777}.pure-menu .pure-menu-can-have-children>li:hover:after{color:#fff}.pure-menu .pure-menu-open{background:#dedede}.pure-menu li a:hover,.pure-menu li a:focus{background:#eee}.pure-menu li.pure-menu-disabled a:hover,.pure-menu li.pure-menu-disabled a:focus{background:#fff;color:#bfbfbf}.pure-menu .pure-menu-disabled>a{background-image:none;border-color:transparent;cursor:default}.pure-menu .pure-menu-disabled>a,.pure-menu .pure-menu-can-have-children.pure-menu-disabled>a:after{color:#bfbfbf}.pure-menu .pure-menu-heading{color:#565d64;text-transform:uppercase;font-size:90%;margin-top:.5em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#dfdfdf}.pure-menu .pure-menu-selected a{color:#000}.pure-menu.pure-menu-open.pure-menu-fixed{border:0;border-bottom:1px solid #b7b7b7}.pure-paginator{letter-spacing:-.31em;*letter-spacing:normal;*word-spacing:-.43em;text-rendering:optimizespeed;list-style:none;margin:0;padding:0}.opera-only :-o-prefocus,.pure-paginator{word-spacing:-.43em}.pure-paginator li{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-paginator .pure-button{border-radius:0;padding:.8em 1.4em;vertical-align:top;height:1.1em}.pure-paginator .pure-button:focus,.pure-paginator .pure-button:active{outline-style:none}.pure-paginator .prev,.pure-paginator .next{color:#C0C1C3;text-shadow:0 -1px 0 rgba(0,0,0,.45)}.pure-paginator .prev{border-radius:2px 0 0 2px}.pure-paginator .next{border-radius:0 2px 2px 0}@media (max-width:480px){.pure-menu-horizontal{width:100%}.pure-menu-children li{display:block;border-bottom:1px solid #000}}.pure-table{border-collapse:collapse;border-spacing:0;empty-cells:show;border:1px solid #cbcbcb}.pure-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.pure-table td,.pure-table th{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:.5em 1em}.pure-table td:first-child,.pure-table th:first-child{border-left-width:0}.pure-table thead{background:#e0e0e0;color:#000;text-align:left;vertical-align:bottom}.pure-table td{background-color:transparent}.pure-table-odd td{background-color:#f2f2f2}.pure-table-striped tr:nth-child(2n-1) td{background-color:#f2f2f2}.pure-table-bordered td{border-bottom:1px solid #cbcbcb}.pure-table-bordered tbody>tr:last-child td,.pure-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.pure-table-horizontal td,.pure-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #cbcbcb}.pure-table-horizontal tbody>tr:last-child td{border-bottom-width:0}
@@ -0,0 +1,165 @@
1
+ @font-face{
2
+ font-family: 'Fira Sans';
3
+ src: url('../fonts/FiraSans-Light.eot');
4
+ src: local('Fira Sans Light'),
5
+ url('../fonts/FiraSans-Light.eot') format('embedded-opentype'),
6
+ url('../fonts/FiraSans-Light.woff') format('woff'),
7
+ url('../fonts/FiraSans-Light.ttf') format('truetype');
8
+ font-weight: 300;
9
+ font-style: normal;
10
+ }
11
+
12
+ @font-face{
13
+ font-family: 'Fira Sans';
14
+ src: url('../fonts/FiraSans-LightItalic.eot');
15
+ src: local('Fira Sans Light Italic'),
16
+ url('../fonts/FiraSans-LightItalic.eot') format('embedded-opentype'),
17
+ url('../fonts/FiraSans-LightItalic.woff') format('woff'),
18
+ url('../fonts/FiraSans-LightItalic.ttf') format('truetype');
19
+ font-weight: 300;
20
+ font-style: italic;
21
+ }
22
+
23
+ html,body {
24
+ background-color: #1d1e1a;
25
+ color: #eee;
26
+ text-align: center;
27
+ font-family: "Fira Sans";
28
+ margin-top: 2rem;
29
+ }
30
+
31
+ a{
32
+ color: #aaa;
33
+ }
34
+
35
+ .indexpage .title {
36
+ font-weight: normal;
37
+ font-size: 3rem;
38
+ margin-top: 0.5em;
39
+ margin-bottom: 0.2em;
40
+ margin-left: 10%;
41
+ margin-right: 10%;
42
+ border-bottom: 1px solid #eee;
43
+ }
44
+
45
+ .indexpage .subtitle {
46
+ font-weight: normal;
47
+ font-size: 1.5rem;
48
+ margin-top: 0.5em;
49
+ margin-bottom: 1em;
50
+ }
51
+
52
+ .indextable {
53
+ max-width: 1024px;
54
+ margin: auto;
55
+ }
56
+
57
+ .index {
58
+ max-width: 250px;
59
+ text-align: center;
60
+ }
61
+
62
+ .index a {
63
+ border: 1px solid transparent;
64
+ display: block;
65
+ padding: 5px;
66
+ margin: 5px;
67
+ color: #eee;
68
+ text-decoration: none;
69
+ }
70
+
71
+ .index a:hover {
72
+ border: 1px solid white;
73
+ background-color: #333;
74
+ }
75
+
76
+ .index img {
77
+ border: 8px solid white;
78
+ margin: auto;
79
+ }
80
+
81
+ .index .caption {
82
+ font-size: 0.8rem;
83
+ color: #888;
84
+ margin-top: 0.3rem;
85
+ }
86
+
87
+ .indexpage .nav {
88
+ margin-left: 0.5rem;
89
+ margin-right: 0.5rem;
90
+ margin-bottom: 0.2rem;
91
+ margin-top: 3rem;
92
+ font-size: 1rem;
93
+ border-bottom: 1pt solid #888;
94
+ }
95
+ .indexpage .nav .paginator {
96
+ text-align: left;
97
+ }
98
+
99
+ .indexpage .nav a {
100
+ color: #2d8125;
101
+ font-size: 1.5rem;
102
+ }
103
+ .indexpage .nav a:hover {
104
+ color: #41bc35;
105
+ }
106
+
107
+ .indexpage .nav .imageinfo {
108
+ text-align: right;
109
+ }
110
+
111
+ .detailpage .container {
112
+ max-width: 1024px;
113
+ margin: auto;
114
+ }
115
+
116
+ .detailpage .nav {
117
+ text-align: left;
118
+ }
119
+
120
+ .detailpage .nav .album-title a {
121
+ font-weight: bold;
122
+ color: #888;
123
+ text-decoration: none;
124
+ font-size: 1rem;
125
+ }
126
+
127
+ .detailpage .nav .paginator a {
128
+ color: #2d8125;
129
+ font-size: 1.5rem;
130
+ }
131
+ .detailpage .nav .paginator a:hover {
132
+ color: #41bc35;
133
+ }
134
+
135
+ .detailpage .title {
136
+ font-weight: normal;
137
+ font-size: 3rem;
138
+ margin-top: 0.5em;
139
+ margin-bottom: 0.2em;
140
+ margin-left: 10%;
141
+ margin-right: 10%;
142
+ }
143
+
144
+ .detailpage .subtitle {
145
+ font-weight: normal;
146
+ font-size: 1rem;
147
+ margin-top: 0.5em;
148
+ margin-bottom: 1em;
149
+ }
150
+
151
+ .detailpage .image img {
152
+ border: 10px solid white;
153
+ margin: auto;
154
+ }
155
+
156
+ footer {
157
+ margin-top: 2rem;
158
+ color: #555;
159
+ border-top: 1px solid #555;
160
+ font-size: 0.8rem;
161
+ }
162
+
163
+ footer a {
164
+ color: #aaa;
165
+ }
@@ -0,0 +1,41 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <link rel="stylesheet" href="css/pure/pure-min.css">
5
+ <link rel="stylesheet" href="css/styles.css">
6
+ <link rel="stylesheet" href="fonts/font-awesome-4.2.0/css/font-awesome.min.css">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1">
8
+ <meta charset="utf-8">
9
+ <title><%= image.title %> - <%= album.title %></title>
10
+ </head>
11
+ <body class="detailpage">
12
+ <div class="container">
13
+ <div class="nav">
14
+ <div class="album-title"><a href="index.html"><%= album.title %></a></div>
15
+ <div class="paginator">
16
+ <% if index > 0%><a href="<%= detail_page(index-1) %>"><i class="fa fa-chevron-left"></i></a><% end %>
17
+ <a href="<%= index_page(page_nr) %>"><i class="fa fa-chevron-up"></i></a>
18
+ <% if index < images.length-1 %><a href="<%= detail_page(index+1) %>"><i class="fa fa-chevron-right"></i></a><% end %>
19
+ </div>
20
+ </div>
21
+ <h1 class="title"><%= image.title %></h1>
22
+
23
+ <%
24
+ detailinfo = image_info(image,'detail')
25
+ originalinfo = image_info(image,'original')
26
+ %>
27
+ <div>
28
+ <div class="image">
29
+ <a href="<%= originalinfo['rel_path'] %>">
30
+ <img class="pure-img" src="<%= detailinfo['rel_path'] %>" alt="<%= detailinfo['filename'] %>" title="<%= image.description %>"/>
31
+ </a>
32
+ </div>
33
+ <div class="subtitle"><%= image.description %></div>
34
+ </div>
35
+ </div>
36
+
37
+ <footer>
38
+ <%= album.copyright %> <%= album.author %> - created with <a href="https://github.com/bylexus/ralber">ralber</a>
39
+ </footer>
40
+ </body>
41
+ </html>
@@ -0,0 +1,125 @@
1
+ fancyBox - Changelog
2
+ =========
3
+
4
+ ### Version 2.1.5 - June 14, 2013
5
+ * Fixed #493 - Broken slideshow
6
+ * Fixed #556 - Parent option
7
+ * Retina graphics (#564) and retina display support (#420)
8
+ * Improved "lock" feature
9
+
10
+ ### Version 2.1.4 - January 10, 2013
11
+ * Update to be compatible with jQuery v1.9
12
+ * Small changes that should fix usability issues for certain users
13
+
14
+ ### Version 2.1.3 - October 23, 2012
15
+
16
+ * Fixed #426 - Broken IE7
17
+ * Fixed #423 - Background flickering on iOS
18
+ * Fixed #418 - Automatically Grow/Shrink and Center
19
+ * Updated the script to work with jQuery 1.6
20
+ * Media helper supports YouTube video series
21
+
22
+ ### Version 2.1.2 - October 15, 2012
23
+
24
+ * Fixed #414 - Don't allow nextClick if there is only one item
25
+ * Fixed #397 - Button helper 'Menu' not visible in IE7
26
+ * Overlay can be opened/closed manually:
27
+ * $.fancybox.helpers.overlay.open();
28
+ * $.fancybox.helpers.overlay.open({closeClick : false});
29
+ * $.fancybox.helpers.overlay.close();
30
+ * Optimized for Internet Explorer 10 (Windows 8)
31
+
32
+ ### Version 2.1.1 - October 01, 2012
33
+
34
+ * Fixed #357 - Converting values like 'auto' in getScalar()
35
+ * Fixed #358 - Updated overlay background image
36
+ * New "fancybox-href" and "fancybox-title" HTML5 data-attributes (#317)
37
+ * Improved helpers:
38
+ * - now they can have a property 'defaults' that contains default settings
39
+ * - updated vimeo and youtube parsers for media helper
40
+ * Content locking now can be turned off
41
+
42
+ ### Version 2.1.0 - August 20, 2012
43
+
44
+ * Fixed #103 - DOM element re-injection after closing
45
+ * Fixed #188 - navigation keys inside editable content
46
+ * New animation directions (see https://github.com/fancyapps/fancyBox/issues/233#issuecomment-5512453)
47
+ * New option "iframe" - it is now possible to separate scrolling for iframe and wrapping element; choose to preload
48
+ * New option "swf" - brings back functionality from fancyBox v1
49
+ * Improved media helper - better support for vimeo and youtube; links are now configurable
50
+ * Rewritten overlay helper:
51
+ * - new option "showEarly" - toggles if should be open before of after content is loaded
52
+ * - Facebook-style (https://github.com/fancyapps/fancyBox/issues/24) and therefore uses image for background
53
+ * Option "padding" accepts array (e.g., padding: [15, 50, 10, 5])
54
+ * One of dimensions (width or height) can now be set to "auto" (option "autoSize" needs to be "false")
55
+ * Updated callbacks:
56
+ * - "beforeClose" is now called only once
57
+ * - "afterLoad" receives current and previous object as arguments
58
+ * Method "$.fancybox.update();" recalculates content width/height
59
+ * Updated to work with jQuery v1.8
60
+
61
+ ### Version 2.0.6 - April 16, 2012
62
+
63
+ * Fixed #188 - keystrokes in contenteditable
64
+ * Fixed #171 - non-images should not be preloaded
65
+ * Fixed #158 - 'closeClick: true' breaks gallery navigation
66
+ * New "media" helper - detects and displays various media types
67
+ * New option "groupAttr" - name of group selector attribute, default is "data-fancybox-group"
68
+ * New feature - selector expressions in URLs, see #170
69
+ * Improved 'overlay' helper to use "position: fixed"
70
+ * Improved autoSize, fixed wrong height in some cases
71
+ * Improved centering and iframe scrolling for iOS
72
+ * Updated markup, new element '.fancybox-skin' is now used for styling
73
+
74
+ ### Version 2.0.5 - February 21, 2012
75
+
76
+ * Fixed #155 - easing for prev/next animations
77
+ * Fixed #153 - overriding "keys" options
78
+ * Fixed #147 - IE7 problem with #hash links
79
+ * Fixed #130 - changing dynamically data-fancybox-group
80
+ * Fixed #126 - obey minWidth/minHeight
81
+ * Fixed #118 - placement of loading icon and navigation arrows
82
+ * Fixed #101 - "index" option not working
83
+ * Fixed #94 - "orig" option not working
84
+ * Fixed #80 - does not work on IE6
85
+ * Fixed #72 - can't set overlay opacity to 0
86
+ * Fixed #63 - properly set gallery index
87
+ * New option "autoCenter" - toggles centering on window resize or scroll, disabled for mobile devices by default
88
+ * New option "autoResize" - toggles responsivity, disabled for mobile devices by default
89
+ * New option "preload" - number of images to preload
90
+ * New feature to target mobile/desktop browsers using CSS, see #108
91
+ * Changed ajax option defaults to "{ dataType: 'html', headers: { 'X-fancyBox': true } }", see #150 and #128
92
+ * Updated loading icon for IE7, IE8
93
+ * Calculates height of the iframe if 'autoSize' is set to 'true' and the iframe is on the same domain as the main page
94
+
95
+ ### Version 2.0.4 - December 12, 2011
96
+
97
+ * Fixed #47 - fix overriding properties
98
+ * New option "position" to thumbnail and button helpers
99
+
100
+
101
+ ### Version 2.0.3 - November 29, 2011
102
+
103
+ * Fixed #29 - broken elastic transitions
104
+
105
+
106
+ ### Version 2.0.2 - November 28, 2011
107
+
108
+ * Fixed slideshow
109
+ * Fixed scrollbars issue when displayed a very tall image
110
+ * New option "nextClick" - navigate to next gallery item when user clicks the content
111
+ * New option "modal" - to disable navigation and closing
112
+ * Add 'metadata' plugin support
113
+ * Add ability to create groups using 'data-fancybox-group' attribute
114
+ * Updated manual usage to match earlier releases
115
+
116
+
117
+ ### Version 2.0.1 - November 23, 2011
118
+
119
+ * Fixed keyboard events inside form elements
120
+ * Fixed manual usage
121
+
122
+
123
+ ### Version 2.0.0 - November 21, 2011
124
+
125
+ First release - completely rewritten, many new features and updated graphics.