nivo 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. data/.DS_Store +0 -0
  2. data/.gitignore +4 -0
  3. data/Gemfile +15 -0
  4. data/README.md +76 -0
  5. data/Rakefile +38 -0
  6. data/app/.DS_Store +0 -0
  7. data/app/controllers/.DS_Store +0 -0
  8. data/app/controllers/nivo/manage_slides_controller.rb +19 -0
  9. data/app/controllers/nivo/slides_controller.rb +55 -0
  10. data/app/models/.DS_Store +0 -0
  11. data/app/models/nivo/slide.rb +60 -0
  12. data/app/views/.DS_Store +0 -0
  13. data/app/views/nivo/_slideshow.html.haml +14 -0
  14. data/app/views/nivo/slides/_form.html.haml +27 -0
  15. data/app/views/nivo/slides/_search.html.haml +5 -0
  16. data/app/views/nivo/slides/edit.html.haml +5 -0
  17. data/app/views/nivo/slides/index.html.haml +26 -0
  18. data/app/views/nivo/slides/index.js.haml +2 -0
  19. data/app/views/nivo/slides/new.html.haml +6 -0
  20. data/app/views/nivo/slides/show.html.haml +19 -0
  21. data/config/.DS_Store +0 -0
  22. data/config/nivo_config.yml +34 -0
  23. data/config/routes.rb +15 -0
  24. data/lib/.DS_Store +0 -0
  25. data/lib/engine.rb +34 -0
  26. data/lib/nivo/config.rb +8 -0
  27. data/lib/nivo/helper.rb +14 -0
  28. data/lib/nivo/manage_slides.rb +17 -0
  29. data/lib/nivo/version.rb +3 -0
  30. data/lib/nivo.rb +13 -0
  31. data/lib/rails/.DS_Store +0 -0
  32. data/lib/rails/generators/.DS_Store +0 -0
  33. data/lib/rails/generators/nivo/.DS_Store +0 -0
  34. data/lib/rails/generators/nivo/controller_generator.rb +18 -0
  35. data/lib/rails/generators/nivo/install_generator.rb +49 -0
  36. data/lib/rails/generators/nivo/stylesheet_generator.rb +18 -0
  37. data/lib/rails/generators/nivo/templates/migration.rb +12 -0
  38. data/lib/rails/generators/nivo/templates/nivo_config.yml +29 -0
  39. data/lib/rails/generators/nivo/templates/schema.rb +15 -0
  40. data/lib/rails/generators/nivo/views_generator.rb +18 -0
  41. data/lib/rails/railties/tasks.rake +0 -0
  42. data/nivo.gemspec +28 -0
  43. data/public/.DS_Store +0 -0
  44. data/public/images/.DS_Store +0 -0
  45. data/public/images/arrows.png +0 -0
  46. data/public/images/bullets.png +0 -0
  47. data/public/images/loading.gif +0 -0
  48. data/public/javascripts/.DS_Store +0 -0
  49. data/public/javascripts/nivo-admin.js +10 -0
  50. data/public/javascripts/nivo-dragsort.js +288 -0
  51. data/public/javascripts/nivo-serialize.js +98 -0
  52. data/public/javascripts/nivo-settings.js +6 -0
  53. data/public/javascripts/nivo-slider.js +685 -0
  54. data/public/stylesheets/.DS_Store +0 -0
  55. data/public/stylesheets/.gitkeep +0 -0
  56. data/public/stylesheets/default.css +75 -0
  57. data/public/stylesheets/nivo-slider.css +89 -0
  58. data/test/.DS_Store +0 -0
  59. data/test/helper.rb +18 -0
  60. data/test/test_nivo.rb +10 -0
  61. metadata +157 -0
@@ -0,0 +1,29 @@
1
+ ---
2
+ slide_dimensions:
3
+ original: '500x500>'
4
+ slide: '300x300#'
5
+ thumb: '100x100>'
6
+
7
+ caption: false
8
+
9
+ nivo_options:
10
+ effect: 'random' # Specify sets like: 'fold,fade,sliceDown'
11
+ slices: 15 # For slice animations
12
+ boxCols: 8 # For box animations
13
+ boxRows: 4 # For box animations
14
+ animSpeed: 500 # Slide transition speed
15
+ pauseTime: 3000 # How long each slide will show
16
+ startSlide: 0 # Set starting Slide (0 index)
17
+ directionNav: true # Next & Prev navigation
18
+ directionNavHide: true # Only show on hover
19
+ controlNav: true # 1,2,3... navigation
20
+ controlNavThumbs: false # Use thumbnails for Control Nav
21
+ controlNavThumbsFromRel: false # Use image rel for thumbs
22
+ controlNavThumbsSearch: '.jpg' # Replace this with...
23
+ controlNavThumbsReplace: '_thumb.jpg' # ...this in thumb Image src
24
+ keyboardNav: true # Use left & right arrows
25
+ pauseOnHover: true # Stop animation while hovering
26
+ manualAdvance: false # Force manual transitions
27
+ captionOpacity: 0.8 # Universal caption opacity
28
+ prevText: 'Prev' # Prev directionNav text
29
+ nextText: 'Next' # Next directionNav text
@@ -0,0 +1,15 @@
1
+ ActiveRecord::Schema.define(:version => 0) do
2
+ create_table :slides, :force => true do |t|
3
+ t.string :caption
4
+ t.string :url
5
+ t.boolean :active
6
+ t.integer :position
7
+ t.integer :width
8
+ t.integer :height
9
+ t.string :image_file_name
10
+ t.string :image_content_type
11
+ t.integer :image_file_size
12
+ t.datetime :image_updated_at
13
+ t.timestamps
14
+ end
15
+ end
@@ -0,0 +1,18 @@
1
+ require 'rails/generators'
2
+ require 'rails/generators/migration'
3
+
4
+ module Nivo
5
+ module Generators
6
+ class ViewsGenerator < Rails::Generators::Base
7
+ source_root File.expand_path("../../../../../app/views", __FILE__)
8
+ desc "Copies all Nivo views to your application."
9
+
10
+ argument :scope, :required => false, :default => nil,
11
+ :desc => "The scope to copy views to"
12
+
13
+ def copy_views
14
+ directory "nivo", "app/views/#{scope || :nivo}"
15
+ end
16
+ end
17
+ end
18
+ end
File without changes
data/nivo.gemspec ADDED
@@ -0,0 +1,28 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "nivo/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "nivo"
7
+ s.version = Nivo::VERSION
8
+ s.authors = ["Ross Nelson"]
9
+ s.email = ["axcess1@me.com"]
10
+ s.homepage = ""
11
+ s.summary = %q{Easily add nivo slider and slide management to dust}
12
+ s.description = %q{Easily add nivo slider and slide management to dust}
13
+
14
+ s.rubyforge_project = "nivo"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ ##
22
+ # specify any dependencies here; for example:
23
+ #
24
+ s.add_development_dependency "shoulda"
25
+ s.add_runtime_dependency "jquery-rails"
26
+ s.add_runtime_dependency "paperclip"
27
+ s.add_runtime_dependency "haml"
28
+ end
data/public/.DS_Store ADDED
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,10 @@
1
+ $(document).ready(function() {
2
+ $('#slides').slidedragsort({});
3
+
4
+ $("#order_slides").click(function(){
5
+ mylist = $('#slides').serializeSlidelist();
6
+ $.post("/nivo/manage_slides.js", mylist);
7
+ return false;
8
+ });
9
+ });
10
+
@@ -0,0 +1,288 @@
1
+ // jQuery List DragSort v0.4
2
+ // Website: http://dragsort.codeplex.com/
3
+ // License: http://dragsort.codeplex.com/license
4
+
5
+ (function($) {
6
+
7
+ $.fn.slidedragsort = function(options) {
8
+ var opts = $.extend({}, $.fn.slidedragsort.defaults, options);
9
+ var lists = [];
10
+ var list = null, lastPos = null;
11
+ if (this.selector)
12
+ $("head").append("<style type='text/css'>" + (this.selector.split(",").join(" " + opts.dragSelector + ",") + " " + opts.dragSelector) + " { cursor: pointer; }</style>");
13
+
14
+ this.each(function(i, cont) {
15
+
16
+ if ($(cont).is("table") && $(cont).children().size() == 1 && $(cont).children().is("tbody"))
17
+ cont = $(cont).children().get(0);
18
+
19
+ var newList = {
20
+ draggedItem: null,
21
+ placeHolderItem: null,
22
+ pos: null,
23
+ offset: null,
24
+ offsetLimit: null,
25
+ scroll: null,
26
+ container: cont,
27
+
28
+ init: function() {
29
+ $(this.container).attr("data-listIdx", i).mousedown(this.grabItem).find(opts.dragSelector).css("cursor", "pointer");
30
+ $(this.container).children(opts.itemSelector).each(function(j) { $(this).attr("data-itemIdx", j); });
31
+ },
32
+
33
+ grabItem: function(e) {
34
+ if (e.which != 1 || $(e.target).is(opts.dragSelectorExclude))
35
+ return;
36
+
37
+ var elm = e.target;
38
+ while (!$(elm).is("[data-listIdx='" + $(this).attr("data-listIdx") + "'] " + opts.dragSelector)) {
39
+ if (elm == this) return;
40
+ elm = elm.parentNode;
41
+ }
42
+
43
+ if (list != null && list.draggedItem != null)
44
+ list.dropItem();
45
+
46
+ $(e.target).css("cursor", "move");
47
+
48
+ list = lists[$(this).attr("data-listIdx")];
49
+ list.draggedItem = $(elm).closest(opts.itemSelector);
50
+ var mt = parseInt(list.draggedItem.css("marginTop"));
51
+ var ml = parseInt(list.draggedItem.css("marginLeft"));
52
+ list.offset = list.draggedItem.offset();
53
+ list.offset.top = e.pageY - list.offset.top + (isNaN(mt) ? 0 : mt) - 1;
54
+ list.offset.left = e.pageX - list.offset.left + (isNaN(ml) ? 0 : ml) - 1;
55
+
56
+ if (!opts.dragBetween) {
57
+ var containerHeight = $(list.container).outerHeight() == 0 ? Math.max(1, Math.round(0.5 + $(list.container).children(opts.itemSelector).size() * list.draggedItem.outerWidth() / $(list.container).outerWidth())) * list.draggedItem.outerHeight() : $(list.container).outerHeight();
58
+ list.offsetLimit = $(list.container).offset();
59
+ list.offsetLimit.right = list.offsetLimit.left + $(list.container).outerWidth() - list.draggedItem.outerWidth();
60
+ list.offsetLimit.bottom = list.offsetLimit.top + containerHeight - list.draggedItem.outerHeight();
61
+ }
62
+
63
+ var h = list.draggedItem.height();
64
+ var w = list.draggedItem.width();
65
+ var orig = list.draggedItem.attr("style");
66
+ list.draggedItem.attr("data-origStyle", orig ? orig : "");
67
+ if (opts.itemSelector == "tr") {
68
+ list.draggedItem.children().each(function() { $(this).width($(this).width()); });
69
+ list.placeHolderItem = list.draggedItem.clone().attr("data-placeHolder", true);
70
+ list.draggedItem.after(list.placeHolderItem);
71
+ list.placeHolderItem.children().each(function() { $(this).css({ borderWidth:0, width: $(this).width() + 1, height: $(this).height() + 1 }).html("&nbsp;"); });
72
+ } else {
73
+ list.draggedItem.after(opts.placeHolderTemplate);
74
+ list.placeHolderItem = list.draggedItem.next().css({ height: h, width: w }).attr("data-placeHolder", true);
75
+ }
76
+ list.draggedItem.css({ position: "absolute", opacity: 0.8, "z-index": 999, height: h, width: w });
77
+
78
+ $(lists).each(function(i, l) { l.createDropTargets(); l.buildPositionTable(); });
79
+
80
+ list.scroll = { moveX: 0, moveY: 0, maxX: $(document).width() - $(window).width(), maxY: $(document).height() - $(window).height() };
81
+ list.scroll.scrollY = window.setInterval(function() {
82
+ if (opts.scrollContainer != window) {
83
+ $(opts.scrollContainer).scrollTop($(opts.scrollContainer).scrollTop() + list.scroll.moveY);
84
+ return;
85
+ }
86
+ var t = $(opts.scrollContainer).scrollTop();
87
+ if (list.scroll.moveY > 0 && t < list.scroll.maxY || list.scroll.moveY < 0 && t > 0) {
88
+ $(opts.scrollContainer).scrollTop(t + list.scroll.moveY);
89
+ list.draggedItem.css("top", list.draggedItem.offset().top + list.scroll.moveY + 1);
90
+ }
91
+ }, 10);
92
+ list.scroll.scrollX = window.setInterval(function() {
93
+ if (opts.scrollContainer != window) {
94
+ $(opts.scrollContainer).scrollLeft($(opts.scrollContainer).scrollLeft() + list.scroll.moveX);
95
+ return;
96
+ }
97
+ var l = $(opts.scrollContainer).scrollLeft();
98
+ if (list.scroll.moveX > 0 && l < list.scroll.maxX || list.scroll.moveX < 0 && l > 0) {
99
+ $(opts.scrollContainer).scrollLeft(l + list.scroll.moveX);
100
+ list.draggedItem.css("left", list.draggedItem.offset().left + list.scroll.moveX + 1);
101
+ }
102
+ }, 10);
103
+
104
+ list.setPos(e.pageX, e.pageY);
105
+ $(document).bind("selectstart", list.stopBubble); //stop ie text selection
106
+ $(document).bind("mousemove", list.swapItems);
107
+ $(document).bind("mouseup", list.dropItem);
108
+ if (opts.scrollContainer != window)
109
+ $(window).bind("DOMMouseScroll mousewheel", list.wheel);
110
+ return false; //stop moz text selection
111
+ },
112
+
113
+ setPos: function(x, y) {
114
+ var top = y - this.offset.top;
115
+ var left = x - this.offset.left;
116
+
117
+ if (!opts.dragBetween) {
118
+ top = Math.min(this.offsetLimit.bottom, Math.max(top, this.offsetLimit.top));
119
+ left = Math.min(this.offsetLimit.right, Math.max(left, this.offsetLimit.left));
120
+ }
121
+
122
+ this.draggedItem.parents().each(function() {
123
+ if ($(this).css("position") != "static" && (!$.browser.mozilla || $(this).css("display") != "table")) {
124
+ var offset = $(this).offset();
125
+ top -= offset.top;
126
+ left -= offset.left;
127
+ return false;
128
+ }
129
+ });
130
+
131
+ if (opts.scrollContainer == window) {
132
+ y -= $(window).scrollTop();
133
+ x -= $(window).scrollLeft();
134
+ y = Math.max(0, y - $(window).height() + 5) + Math.min(0, y - 5);
135
+ x = Math.max(0, x - $(window).width() + 5) + Math.min(0, x - 5);
136
+ } else {
137
+ var cont = $(opts.scrollContainer);
138
+ var offset = cont.offset();
139
+ y = Math.max(0, y - cont.height() - offset.top) + Math.min(0, y - offset.top);
140
+ x = Math.max(0, x - cont.width() - offset.left) + Math.min(0, x - offset.left);
141
+ }
142
+
143
+ list.scroll.moveX = x == 0 ? 0 : x * opts.scrollSpeed / Math.abs(x);
144
+ list.scroll.moveY = y == 0 ? 0 : y * opts.scrollSpeed / Math.abs(y);
145
+
146
+ this.draggedItem.css({ top: top, left: left });
147
+ },
148
+
149
+ wheel: function(e) {
150
+ if (($.browser.safari || $.browser.mozilla) && list && opts.scrollContainer != window) {
151
+ var cont = $(opts.scrollContainer);
152
+ var offset = cont.offset();
153
+ if (e.pageX > offset.left && e.pageX < offset.left + cont.width() && e.pageY > offset.top && e.pageY < offset.top + cont.height()) {
154
+ var delta = e.detail ? e.detail * 5 : e.wheelDelta / -2;
155
+ cont.scrollTop(cont.scrollTop() + delta);
156
+ e.preventDefault();
157
+ }
158
+ }
159
+ },
160
+
161
+ buildPositionTable: function() {
162
+ var item = this.draggedItem == null ? null : this.draggedItem.get(0);
163
+ var pos = [];
164
+ $(this.container).children(opts.itemSelector).each(function(i, elm) {
165
+ if (elm != item) {
166
+ var loc = $(elm).offset();
167
+ loc.right = loc.left + $(elm).width();
168
+ loc.bottom = loc.top + $(elm).height();
169
+ loc.elm = elm;
170
+ pos.push(loc);
171
+ }
172
+ });
173
+ this.pos = pos;
174
+ },
175
+
176
+ dropItem: function() {
177
+ if (list.draggedItem == null)
178
+ return;
179
+
180
+ $(list.container).find(opts.dragSelector).css("cursor", "pointer");
181
+ list.placeHolderItem.before(list.draggedItem);
182
+
183
+ var orig = list.draggedItem.attr("data-origStyle");
184
+ if (orig == "")
185
+ list.draggedItem.removeAttr("style");
186
+ else
187
+ list.draggedItem.attr("style", orig);
188
+ list.draggedItem.removeAttr("data-origStyle");
189
+ list.placeHolderItem.remove();
190
+
191
+ $("[data-dropTarget]").remove();
192
+
193
+ window.clearInterval(list.scroll.scrollY);
194
+ window.clearInterval(list.scroll.scrollX);
195
+
196
+ var changed = false;
197
+ $(lists).each(function() {
198
+ $(this.container).children(opts.itemSelector).each(function(j) {
199
+ if (parseInt($(this).attr("data-itemIdx")) != j) {
200
+ changed = true;
201
+ $(this).attr("data-itemIdx", j);
202
+ }
203
+ });
204
+ });
205
+ if (changed)
206
+ opts.dragEnd.apply(list.draggedItem);
207
+ list.draggedItem = null;
208
+ $(document).unbind("selectstart", list.stopBubble);
209
+ $(document).unbind("mousemove", list.swapItems);
210
+ $(document).unbind("mouseup", list.dropItem);
211
+ if (opts.scrollContainer != window)
212
+ $(window).unbind("DOMMouseScroll mousewheel", list.wheel);
213
+ return false;
214
+ },
215
+
216
+ stopBubble: function() { return false; },
217
+
218
+ swapItems: function(e) {
219
+ if (list.draggedItem == null)
220
+ return false;
221
+
222
+ list.setPos(e.pageX, e.pageY);
223
+
224
+ var ei = list.findPos(e.pageX, e.pageY);
225
+ var nlist = list;
226
+ for (var i = 0; ei == -1 && opts.dragBetween && i < lists.length; i++) {
227
+ ei = lists[i].findPos(e.pageX, e.pageY);
228
+ nlist = lists[i];
229
+ }
230
+
231
+ if (ei == -1 || $(nlist.pos[ei].elm).attr("data-placeHolder"))
232
+ return false;
233
+
234
+ if (lastPos == null || lastPos.top > list.draggedItem.offset().top || lastPos.left > list.draggedItem.offset().left)
235
+ $(nlist.pos[ei].elm).before(list.placeHolderItem);
236
+ else
237
+ $(nlist.pos[ei].elm).after(list.placeHolderItem);
238
+
239
+ $(lists).each(function(i, l) { l.createDropTargets(); l.buildPositionTable(); });
240
+ lastPos = list.draggedItem.offset();
241
+ return false;
242
+ },
243
+
244
+ findPos: function(x, y) {
245
+ for (var i = 0; i < this.pos.length; i++) {
246
+ if (this.pos[i].left < x && this.pos[i].right > x && this.pos[i].top < y && this.pos[i].bottom > y)
247
+ return i;
248
+ }
249
+ return -1;
250
+ },
251
+
252
+ createDropTargets: function() {
253
+ if (!opts.dragBetween)
254
+ return;
255
+
256
+ $(lists).each(function() {
257
+ var ph = $(this.container).find("[data-placeHolder]");
258
+ var dt = $(this.container).find("[data-dropTarget]");
259
+ if (ph.size() > 0 && dt.size() > 0)
260
+ dt.remove();
261
+ else if (ph.size() == 0 && dt.size() == 0) {
262
+ //list.placeHolderItem.clone().removeAttr("data-placeHolder") crashes in IE7 and jquery 1.5.1 (doesn't in jquery 1.4.2 or IE8)
263
+ $(this.container).append(list.placeHolderItem.removeAttr("data-placeHolder").clone().attr("data-dropTarget", true));
264
+ list.placeHolderItem.attr("data-placeHolder", true);
265
+ }
266
+ });
267
+ }
268
+ };
269
+
270
+ newList.init();
271
+ lists.push(newList);
272
+ });
273
+
274
+ return this;
275
+ };
276
+
277
+ $.fn.slidedragsort.defaults = {
278
+ itemSelector: ".item",
279
+ dragSelector: ".item",
280
+ dragSelectorExclude: "input, textarea, a[href]",
281
+ dragEnd: function() { },
282
+ dragBetween: false,
283
+ placeHolderTemplate: "<div class=\"item\">&nbsp;</div>",
284
+ scrollContainer: window,
285
+ scrollSpeed: 5
286
+ };
287
+
288
+ })(jQuery);
@@ -0,0 +1,98 @@
1
+ /**
2
+ * jQuery Serialize List
3
+ * Copyright (c) 2009 Mike Botsko, Botsko.net LLC
4
+ * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
5
+ * Copyright notice and license must remain intact for legal use
6
+ * Version .2
7
+ *
8
+ * Serialize an unordered or ordered list item. Optional ability
9
+ * to determine which attributes are included. The serialization
10
+ * will be read by PHP as a multidimensional array which you may
11
+ * use for saving state.
12
+ *
13
+ * http://github.com/botskonet/jquery.serialize-list
14
+ */
15
+ (function($){
16
+ $.fn.serializeSlidelist = function(options) {
17
+ // Extend the configuration options with user-provided
18
+ var defaults = {
19
+ attributes: ['id'], // which html attributes should be sent?
20
+ text: false,
21
+ allow_nest: false, // allow nested elements to be included
22
+ prepend: 'slides', // which query string param name should be used?
23
+ att_regex: false, // replacement regex to run on attr values
24
+ is_child: false // determine if we're serializing a child list
25
+ };
26
+ var opts = $.extend(defaults, options);
27
+ var serialStr = '';
28
+ if(!opts.is_child){
29
+ opts.prepend = '&'+opts.prepend;
30
+ }
31
+ // Begin the core plugin
32
+ this.each(function() {
33
+ var li_count = 0;
34
+ $(this).children().each(function(index, li){
35
+ if(opts.allow_nest || opts.attributes.length > 1){
36
+ for(att in opts.attributes){
37
+ val = att_rep(opts.attributes[att], $(this).attr(opts.attributes[att]));
38
+ if (val != undefined) serialStr += opts.prepend+'['+li_count+']['+opts.attributes[att]+']='+val;
39
+ if ($(li).children().size() > 1) {
40
+ serialStr += opts.prepend+'['+li_count+'][text]='+$(li)[0].firstChild.textContent;
41
+ }
42
+ else {
43
+ if (opts.text) {
44
+ if (opts.attributes[att] == 'id') {
45
+ serialStr += opts.prepend+'['+li_count+'][text]='+$(this).text();
46
+ }
47
+ }
48
+ }
49
+ }
50
+ } else {
51
+ val = att_rep(opts.attributes[0], $(this).attr(opts.attributes[0]));
52
+ if (val != undefined) serialStr += opts.prepend+'['+li_count+']='+val;
53
+ if ($(li).children().size() > 1) {
54
+ if (opts.text) {
55
+ if (opts.attributes[att] == 'id') {
56
+ serialStr += opts.prepend+'['+li_count+'][text]='+$(li)[0].firstChild.textContent;
57
+ }
58
+ }
59
+ }
60
+ else {
61
+ if (opts.text) {
62
+ if (opts.attributes[att] == 'id') {
63
+ serialStr += opts.prepend+'['+li_count+'][text]='+$(this).text();
64
+ }
65
+ }
66
+ }
67
+ }
68
+ // append any children elements
69
+ if(opts.allow_nest){
70
+ var child_base = opts.prepend+'['+li_count+'][children]';
71
+ $(this).children().each(function(){
72
+ if(this.tagName == 'UL' || this.tagName == 'OL'){
73
+ serialStr += $(this).serializelist({
74
+ 'prepend': child_base,
75
+ 'is_child': true,
76
+ 'attributes':opts.attributes
77
+ });
78
+ }
79
+ });
80
+ }
81
+ li_count++;
82
+ });
83
+ function att_rep (att, val){
84
+ if(opts.att_regex){
85
+ for(x in opts.att_regex){
86
+ if(opts.att_regex[x].att == att){
87
+ return val.replace(opts.att_regex[x].regex, '');
88
+ }
89
+ }
90
+ } else {
91
+ return val;
92
+ }
93
+ }
94
+ });
95
+ return(serialStr);
96
+ };
97
+ })(jQuery);
98
+
@@ -0,0 +1,6 @@
1
+ $(document).ready(function() {
2
+ $('.slides').nivoSlider({
3
+ pauseTime:6000,
4
+ pauseOnHover:true
5
+ });
6
+ });