diff --git a/.jshintrc b/.jshintrc
index 2c40c44..8c86fc7 100644
--- a/.jshintrc
+++ b/.jshintrc
@@ -10,6 +10,5 @@
"unused": true,
"boss": true,
"eqnull": true,
- "node": true,
- "es5": true
+ "node": true
}
diff --git a/.travis.yml b/.travis.yml
index fc91963..1cb90c2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,6 +1,6 @@
language: node_js
node_js:
- - 0.8
+ - 0.10
before_script:
- npm install -g grunt-cli
- npm install semver
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 624e8ea..2e08902 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,6 +12,11 @@ And constructed with these guidelines:
For more information on semantic versioning, please visit http://semver.org/.
+## v2.3.0 - October 9, 2014
+
+* Updated min Node to 0.10.*
+* Updated all Node plugins to latest
+
## v2.2.0 - March 14, 2014
* Added option to change the classname used throughout the plugin.
diff --git a/README.md b/README.md
index 2d03176..ba524c6 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-[![build status](https://secure.travis-ci.org/jimmynotjim/scrollNav.png?branch=v2.2.0)](http://travis-ci.org/jimmynotjim/scrollNav.js)
+[![build status](https://secure.travis-ci.org/jimmynotjim/scrollNav.png?branch=v2.3.0)](http://travis-ci.org/jimmynotjim/scrollNav.js)
# [jQuery scrollNav][1]
@@ -213,7 +213,7 @@ scrollNav is Copyright © 2012-2013 James Wilson, released under the [MIT li
## Version
-Latest stable version is v2.2.0. Make sure to view [the changelog][15] before updating, v2 is a complete re-write of the plugin.
+Latest stable version is v2.3.0. Make sure to view [the changelog][15] before updating, v2 is a complete re-write of the plugin.
## Testing
diff --git a/bower.json b/bower.json
index da7db7c..bcb144b 100644
--- a/bower.json
+++ b/bower.json
@@ -1,6 +1,6 @@
{
"name": "scrollNav",
- "version": "2.2.0",
+ "version": "2.3.0",
"author": {
"name": "James Wilson",
"email": "jimmynotjim@me.com",
diff --git a/dist/jquery.scrollNav.js b/dist/jquery.scrollNav.js
index b54482c..9bb2022 100644
--- a/dist/jquery.scrollNav.js
+++ b/dist/jquery.scrollNav.js
@@ -1,4 +1,4 @@
-/*! scrollNav - v2.2.0 - 2014-03-14
+/*! scrollNav - v2.3.0 - 2014-10-09
* http://scrollnav.com
* Copyright (c) 2014 James Wilson; Licensed MIT */
(function($) {
diff --git a/dist/jquery.scrollNav.min.js b/dist/jquery.scrollNav.min.js
index 2dc42cf..8cde05f 100644
--- a/dist/jquery.scrollNav.min.js
+++ b/dist/jquery.scrollNav.min.js
@@ -1,4 +1,4 @@
-/*! scrollNav - v2.2.0 - 2014-03-14
+/*! scrollNav - v2.3.0 - 2014-10-09
* http://scrollnav.com
* Copyright (c) 2014 James Wilson; Licensed MIT */
-(function(s){var t=function(t,e,i,n){if(s(t).length>0){var a=s(t).offset().top;e=n?e:0,s("html:not(:animated),body:not(:animated)").animate({scrollTop:a-i},e)}},e=function(){return window.location.hash},i={classes:{loading:"sn-loading",failed:"sn-failed",success:"sn-active"},defaults:{sections:"h2",subSections:!1,sectionElem:"section",className:"scroll-nav",showHeadline:!0,headlineText:"Scroll To",showTopLink:!0,topLinkText:"Top",fixedMargin:40,scrollOffset:40,animated:!0,speed:500,insertLocation:"insertBefore",arrowKeys:!1,onInit:null,onRender:null,onDestroy:null},_set_body_class:function(t){var e=s("body");"loading"===t?e.addClass(i.classes.loading):"success"===t?e.removeClass(i.classes.loading).addClass(i.classes.success):e.removeClass(i.classes.loading).addClass(i.classes.failed)},_find_sections:function(t){var e=i.settings.sections,n=[];if(i.settings.showTopLink){var a=t.children().first();a.is(e)||n.push(a.nextUntil(e).andSelf())}t.find(e).each(function(){n.push(s(this).nextUntil(e).andSelf())}),i.sections={raw:n}},_setup_sections:function(t){var e=[];s(t).each(function(t){var n=[],a=s(this),o="scrollNav-"+(t+1),l=function(){return 0===t},c=function(){return!a.eq(0).is(i.settings.sections)},r=i.settings.showTopLink&&l()&&c()?i.settings.topLinkText:a.filter(i.settings.sections).text();if(a.wrapAll("<"+i.settings.sectionElem+' id="'+o+'" class="'+i.settings.className+'__section" />'),i.settings.subSections){var d=a.filter(i.settings.subSections);d.length>0&&d.each(function(t){var e=o+"-"+(t+1),l=s(this).text(),c=a.filter(s(this).nextUntil(d).andSelf());c.wrapAll('
'),n.push({id:e,text:l})})}e.push({id:o,text:r,sub_sections:n})}),i.sections.data=e},_tear_down_sections:function(t){s(t).each(function(){var t=this.sub_sections;s("#"+this.id).children().unwrap(),t.length>0&&s(t).each(function(){s("#"+this.id).children().unwrap()})})},_setup_nav:function(t){var e=s("",{"class":i.settings.className+"__heading",text:i.settings.headlineText}),n=s("",{"class":i.settings.className+"__wrapper"}),a=s("",{"class":i.settings.className,role:"navigation"}),o=s("
",{"class":i.settings.className+"__list"});s.each(t,function(t){var e,n=0===t?s("",{"class":i.settings.className+"__item active"}):s("",{"class":i.settings.className+"__item"}),a=s("",{href:"#"+this.id,"class":i.settings.className+"__link",text:this.text});this.sub_sections.length>0&&(n.addClass("is-parent-item"),e=s("
",{"class":i.settings.className+"__sub-list"}),s.each(this.sub_sections,function(){var t=s("",{"class":i.settings.className+"__sub-item"}),n=s("",{href:"#"+this.id,"class":i.settings.className+"__sub-link",text:this.text});e.append(t.append(n))})),o.append(n.append(a).append(e))}),i.settings.showHeadline?a.append(n.append(e).append(o)):a.append(n.append(o)),i.nav=a},_insert_nav:function(){var s=i.settings.insertLocation,t=i.settings.insertTarget;i.nav[s](t)},_setup_pos:function(){var t=i.nav,e=s(window).height(),n=t.offset().top;s.each(i.sections.data,function(){var t=s("#"+this.id),e=t.height();this.top_offset=t.offset().top,this.bottom_offset=this.top_offset+e}),i.dims={vp_height:e,nav_offset:n}},_check_pos:function(){var t=i.nav,e=s(window).scrollTop(),n=e+i.settings.scrollOffset,a=e+i.dims.vp_height-i.settings.scrollOffset,o=[];e>i.dims.nav_offset-i.settings.fixedMargin?t.addClass("fixed"):t.removeClass("fixed"),s.each(i.sections.data,function(){(this.top_offset>n&&a>this.top_offset||this.bottom_offset>n&&a>this.bottom_offset||n>this.top_offset&&this.bottom_offset>a)&&o.push(this)}),t.find("."+i.settings.className+"__item").removeClass("active").removeClass("in-view"),s.each(o,function(s){0===s?t.find('a[href="#'+this.id+'"]').parents("."+i.settings.className+"__item").addClass("active").addClass("in-view"):t.find('a[href="#'+this.id+'"]').parents("."+i.settings.className+"__item").addClass("in-view"),s++,i.sections.active=o})},_init_scroll_listener:function(){s(window).on("scroll.scrollNav",function(){i._check_pos()})},_rm_scroll_listeners:function(){s(window).off("scroll.scrollNav")},_init_resize_listener:function(){s(window).on("resize.scrollNav",function(){i._setup_pos(),i._check_pos()})},_rm_resize_listener:function(){s(window).off("resize.scrollNav")},_init_click_listener:function(){s("."+i.settings.className).find("a").on("click.scrollNav",function(e){e.preventDefault();var n=s(this).attr("href"),a=i.settings.speed,o=i.settings.scrollOffset,l=i.settings.animated;t(n,a,o,l)})},_rm_click_listener:function(){s("."+i.settings.className).find("a").off("click.scrollNav")},_init_keyboard_listener:function(e){i.settings.arrowKeys&&s(document).on("keydown.scrollNav",function(s){if(40===s.keyCode||38===s.keyCode){var n=function(s){var t=0,n=e.length;for(t;n>t;t++)if(e[t].id===i.sections.active[0].id){var a=40===s?t+1:t-1,o=void 0===e[a]?void 0:e[a].id;return o}},a=n(s.keyCode);if(void 0!==a){s.preventDefault();var o="#"+a,l=i.settings.speed,c=i.settings.scrollOffset,r=i.settings.animated;t(o,l,c,r)}}})},_rm_keyboard_listener:function(){s(document).off("keydown.scrollNav")},init:function(n){return this.each(function(){var a=s(this);i.settings=s.extend({},i.defaults,n),i.settings.insertTarget=i.settings.insertTarget?s(i.settings.insertTarget):a,a.length>0?(i.settings.onInit&&i.settings.onInit.call(this),i._set_body_class("loading"),i._find_sections(a),a.find(i.settings.sections).length>0?(i._setup_sections(i.sections.raw),i._setup_nav(i.sections.data),i.settings.insertTarget.length>0?(i._insert_nav(),i._setup_pos(),i._check_pos(),i._init_scroll_listener(),i._init_resize_listener(),i._init_click_listener(),i._init_keyboard_listener(i.sections.data),i._set_body_class("success"),t(e()),i.settings.onRender&&i.settings.onRender.call(this)):(console.log('Build failed, scrollNav could not find "'+i.settings.insertTarget+'"'),i._set_body_class("failed"))):(console.log('Build failed, scrollNav could not find any "'+i.settings.sections+'s" inside of "'+a.selector+'"'),i._set_body_class("failed"))):(console.log('Build failed, scrollNav could not find "'+a.selector+'"'),i._set_body_class("failed"))})},destroy:function(){return this.each(function(){i._rm_scroll_listeners(),i._rm_resize_listener(),i._rm_click_listener(),i._rm_keyboard_listener(),s("body").removeClass("sn-loading sn-active sn-failed"),s("."+i.settings.className).remove(),i._tear_down_sections(i.sections.data),i.settings.onDestroy&&i.settings.onDestroy.call(this),i.settings=[],i.sections=void 0})}};s.fn.scrollNav=function(){var t,e=arguments[0];if(i[e])e=i[e],t=Array.prototype.slice.call(arguments,1);else{if("object"!=typeof e&&e)return s.error("Method "+e+" does not exist in the scrollNav plugin"),this;e=i.init,t=arguments}return e.apply(this,t)}})(jQuery);
\ No newline at end of file
+!function(a){var b=function(b,c,d,e){if(a(b).length>0){var f=a(b).offset().top;c=e?c:0,a("html:not(:animated),body:not(:animated)").animate({scrollTop:f-d},c)}},c=function(){return window.location.hash},d={classes:{loading:"sn-loading",failed:"sn-failed",success:"sn-active"},defaults:{sections:"h2",subSections:!1,sectionElem:"section",className:"scroll-nav",showHeadline:!0,headlineText:"Scroll To",showTopLink:!0,topLinkText:"Top",fixedMargin:40,scrollOffset:40,animated:!0,speed:500,insertLocation:"insertBefore",arrowKeys:!1,onInit:null,onRender:null,onDestroy:null},_set_body_class:function(b){var c=a("body");"loading"===b?c.addClass(d.classes.loading):c.removeClass(d.classes.loading).addClass("success"===b?d.classes.success:d.classes.failed)},_find_sections:function(b){var c=d.settings.sections,e=[];if(d.settings.showTopLink){var f=b.children().first();f.is(c)||e.push(f.nextUntil(c).andSelf())}b.find(c).each(function(){e.push(a(this).nextUntil(c).andSelf())}),d.sections={raw:e}},_setup_sections:function(b){var c=[];a(b).each(function(b){var e=[],f=a(this),g="scrollNav-"+(b+1),h=function(){return 0===b},i=function(){return!f.eq(0).is(d.settings.sections)},j=d.settings.showTopLink&&h()&&i()?d.settings.topLinkText:f.filter(d.settings.sections).text();if(f.wrapAll("<"+d.settings.sectionElem+' id="'+g+'" class="'+d.settings.className+'__section" />'),d.settings.subSections){var k=f.filter(d.settings.subSections);k.length>0&&k.each(function(b){var c=g+"-"+(b+1),h=a(this).text(),i=f.filter(a(this).nextUntil(k).andSelf());i.wrapAll(''),e.push({id:c,text:h})})}c.push({id:g,text:j,sub_sections:e})}),d.sections.data=c},_tear_down_sections:function(b){a(b).each(function(){var b=this.sub_sections;a("#"+this.id).children().unwrap(),b.length>0&&a(b).each(function(){a("#"+this.id).children().unwrap()})})},_setup_nav:function(b){var c=a("",{"class":d.settings.className+"__heading",text:d.settings.headlineText}),e=a("",{"class":d.settings.className+"__wrapper"}),f=a("",{"class":d.settings.className,role:"navigation"}),g=a("
",{"class":d.settings.className+"__list"});a.each(b,function(b){var c,e=0===b?a("",{"class":d.settings.className+"__item active"}):a("",{"class":d.settings.className+"__item"}),f=a("",{href:"#"+this.id,"class":d.settings.className+"__link",text:this.text});this.sub_sections.length>0&&(e.addClass("is-parent-item"),c=a("
",{"class":d.settings.className+"__sub-list"}),a.each(this.sub_sections,function(){var b=a("",{"class":d.settings.className+"__sub-item"}),e=a("",{href:"#"+this.id,"class":d.settings.className+"__sub-link",text:this.text});c.append(b.append(e))})),g.append(e.append(f).append(c))}),f.append(d.settings.showHeadline?e.append(c).append(g):e.append(g)),d.nav=f},_insert_nav:function(){var a=d.settings.insertLocation,b=d.settings.insertTarget;d.nav[a](b)},_setup_pos:function(){var b=d.nav,c=a(window).height(),e=b.offset().top;a.each(d.sections.data,function(){var b=a("#"+this.id),c=b.height();this.top_offset=b.offset().top,this.bottom_offset=this.top_offset+c}),d.dims={vp_height:c,nav_offset:e}},_check_pos:function(){var b=d.nav,c=a(window).scrollTop(),e=c+d.settings.scrollOffset,f=c+d.dims.vp_height-d.settings.scrollOffset,g=[];c>d.dims.nav_offset-d.settings.fixedMargin?b.addClass("fixed"):b.removeClass("fixed"),a.each(d.sections.data,function(){(this.top_offset>e&&this.top_offsete&&this.bottom_offsetf)&&g.push(this)}),b.find("."+d.settings.className+"__item").removeClass("active").removeClass("in-view"),a.each(g,function(a){0===a?b.find('a[href="#'+this.id+'"]').parents("."+d.settings.className+"__item").addClass("active").addClass("in-view"):b.find('a[href="#'+this.id+'"]').parents("."+d.settings.className+"__item").addClass("in-view"),a++,d.sections.active=g})},_init_scroll_listener:function(){a(window).on("scroll.scrollNav",function(){d._check_pos()})},_rm_scroll_listeners:function(){a(window).off("scroll.scrollNav")},_init_resize_listener:function(){a(window).on("resize.scrollNav",function(){d._setup_pos(),d._check_pos()})},_rm_resize_listener:function(){a(window).off("resize.scrollNav")},_init_click_listener:function(){a("."+d.settings.className).find("a").on("click.scrollNav",function(c){c.preventDefault();var e=a(this).attr("href"),f=d.settings.speed,g=d.settings.scrollOffset,h=d.settings.animated;b(e,f,g,h)})},_rm_click_listener:function(){a("."+d.settings.className).find("a").off("click.scrollNav")},_init_keyboard_listener:function(c){d.settings.arrowKeys&&a(document).on("keydown.scrollNav",function(a){if(40===a.keyCode||38===a.keyCode){var e=function(a){var b=0,e=c.length;for(b;e>b;b++)if(c[b].id===d.sections.active[0].id){var f=40===a?b+1:b-1,g=void 0===c[f]?void 0:c[f].id;return g}},f=e(a.keyCode);if(void 0!==f){a.preventDefault();var g="#"+f,h=d.settings.speed,i=d.settings.scrollOffset,j=d.settings.animated;b(g,h,i,j)}}})},_rm_keyboard_listener:function(){a(document).off("keydown.scrollNav")},init:function(e){return this.each(function(){var f=a(this);d.settings=a.extend({},d.defaults,e),d.settings.insertTarget=d.settings.insertTarget?a(d.settings.insertTarget):f,f.length>0?(d.settings.onInit&&d.settings.onInit.call(this),d._set_body_class("loading"),d._find_sections(f),f.find(d.settings.sections).length>0?(d._setup_sections(d.sections.raw),d._setup_nav(d.sections.data),d.settings.insertTarget.length>0?(d._insert_nav(),d._setup_pos(),d._check_pos(),d._init_scroll_listener(),d._init_resize_listener(),d._init_click_listener(),d._init_keyboard_listener(d.sections.data),d._set_body_class("success"),b(c()),d.settings.onRender&&d.settings.onRender.call(this)):(console.log('Build failed, scrollNav could not find "'+d.settings.insertTarget+'"'),d._set_body_class("failed"))):(console.log('Build failed, scrollNav could not find any "'+d.settings.sections+'s" inside of "'+f.selector+'"'),d._set_body_class("failed"))):(console.log('Build failed, scrollNav could not find "'+f.selector+'"'),d._set_body_class("failed"))})},destroy:function(){return this.each(function(){d._rm_scroll_listeners(),d._rm_resize_listener(),d._rm_click_listener(),d._rm_keyboard_listener(),a("body").removeClass("sn-loading sn-active sn-failed"),a("."+d.settings.className).remove(),d._tear_down_sections(d.sections.data),d.settings.onDestroy&&d.settings.onDestroy.call(this),d.settings=[],d.sections=void 0})}};a.fn.scrollNav=function(){var b,c=arguments[0];if(d[c])c=d[c],b=Array.prototype.slice.call(arguments,1);else{if("object"!=typeof c&&c)return a.error("Method "+c+" does not exist in the scrollNav plugin"),this;c=d.init,b=arguments}return c.apply(this,b)}}(jQuery);
\ No newline at end of file
diff --git a/package.json b/package.json
index 236c4a9..abf4fea 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "scrollNav",
- "version": "2.2.0",
+ "version": "2.3.0",
"title": "scrollNav",
"author": {
"name": "James Wilson",
@@ -32,21 +32,21 @@
}
],
"engines": {
- "node": ">= 0.8.0"
+ "node": ">= 0.10.0"
},
"scripts": {
"test": "grunt qunit"
},
"devDependencies": {
"grunt": "~0.4.1",
- "semver": "~2.2.1",
- "load-grunt-tasks": "~0.2.0",
+ "semver": "~4.0.3",
+ "load-grunt-tasks": "~0.6.0",
"grunt-exec": "~0.4.2",
- "grunt-contrib-clean": "~0.4.0",
- "grunt-contrib-concat": "~0.1.2",
- "grunt-contrib-jshint": "~0.1.1",
- "grunt-contrib-qunit": "~0.1.1",
- "grunt-contrib-uglify": "~0.1.1",
- "grunt-contrib-watch": "~0.2.0"
+ "grunt-contrib-clean": "~0.6.0",
+ "grunt-contrib-concat": "~0.5.0",
+ "grunt-contrib-jshint": "~0.10.0",
+ "grunt-contrib-qunit": "~0.5.2",
+ "grunt-contrib-uglify": "~0.6.0",
+ "grunt-contrib-watch": "~0.6.1"
}
}
\ No newline at end of file
diff --git a/scrollNav.jquery.json b/scrollNav.jquery.json
index 2e304dd..d631527 100644
--- a/scrollNav.jquery.json
+++ b/scrollNav.jquery.json
@@ -1,6 +1,6 @@
{
"name": "scrollNav",
- "version": "2.2.0",
+ "version": "2.3.0",
"title": "scrollNav",
"description": "A jQuery plugin for building a scrolling side navigation menu",
"homepage": "http://scrollnav.com",