locomotivecms_wagon 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -3
  3. data/generators/blank/config/site.yml.tt +20 -6
  4. data/generators/bootstrap/config/site.yml.tt +20 -6
  5. data/generators/{bootstrap → bootstrap2}/Gemfile.tt +0 -0
  6. data/generators/{bootstrap → bootstrap2}/app/content_types/.empty_directory +0 -0
  7. data/generators/{bootstrap → bootstrap2}/app/views/pages/404.liquid +0 -0
  8. data/generators/{bootstrap → bootstrap2}/app/views/pages/404.liquid.haml +0 -0
  9. data/generators/{bootstrap → bootstrap2}/app/views/pages/index.liquid +1 -1
  10. data/generators/{bootstrap → bootstrap2}/app/views/pages/index.liquid.haml +0 -0
  11. data/generators/{bootstrap → bootstrap2}/app/views/snippets/footer.liquid +0 -0
  12. data/generators/{bootstrap → bootstrap2}/app/views/snippets/footer.liquid.haml +0 -0
  13. data/generators/{bootstrap → bootstrap2}/config/deploy.yml +0 -0
  14. data/generators/bootstrap2/config/site.yml.tt +34 -0
  15. data/generators/{bootstrap → bootstrap2}/config/translations.yml +0 -0
  16. data/generators/{bootstrap → bootstrap2}/config.ru +0 -0
  17. data/generators/{bootstrap → bootstrap2}/data/.empty_directory +0 -0
  18. data/generators/bootstrap2/public/fonts/FontAwesome.otf +0 -0
  19. data/generators/bootstrap2/public/fonts/fontawesome-webfont.eot +0 -0
  20. data/generators/bootstrap2/public/fonts/fontawesome-webfont.svg +399 -0
  21. data/generators/bootstrap2/public/fonts/fontawesome-webfont.ttf +0 -0
  22. data/generators/bootstrap2/public/fonts/fontawesome-webfont.woff +0 -0
  23. data/generators/{bootstrap → bootstrap2}/public/javascripts/bootstrap.js +230 -109
  24. data/generators/bootstrap2/public/javascripts/bootstrap.min.js +6 -0
  25. data/generators/{bootstrap → bootstrap2}/public/samples/.empty_directory +0 -0
  26. data/generators/{bootstrap → bootstrap2}/public/stylesheets/application.css.scss +0 -0
  27. data/generators/{bootstrap → bootstrap2}/public/stylesheets/bootstrap-responsive.css +26 -9
  28. data/generators/bootstrap2/public/stylesheets/bootstrap-responsive.min.css +9 -0
  29. data/generators/{bootstrap → bootstrap2}/public/stylesheets/bootstrap.css +2961 -3045
  30. data/generators/bootstrap2/public/stylesheets/bootstrap.min.css +9 -0
  31. data/generators/{bootstrap → bootstrap2}/public/stylesheets/fonts/awesome.css.scss +0 -0
  32. data/generators/bootstrap2/public/stylesheets/fonts/font-awesome-ie7.css +1203 -0
  33. data/generators/bootstrap2/public/stylesheets/fonts/font-awesome-ie7.min.css +384 -0
  34. data/generators/bootstrap2/public/stylesheets/fonts/font-awesome.css +1470 -0
  35. data/generators/bootstrap2/public/stylesheets/fonts/font-awesome.min.css +403 -0
  36. data/generators/bootstrap3/Gemfile.tt +23 -0
  37. data/generators/bootstrap3/app/content_types/.empty_directory +1 -0
  38. data/generators/bootstrap3/app/views/pages/404.liquid +13 -0
  39. data/generators/bootstrap3/app/views/pages/404.liquid.haml +10 -0
  40. data/generators/bootstrap3/app/views/pages/index.liquid +779 -0
  41. data/generators/bootstrap3/app/views/pages/index.liquid.haml +1058 -0
  42. data/generators/bootstrap3/app/views/snippets/footer.liquid +3 -0
  43. data/generators/bootstrap3/app/views/snippets/footer.liquid.haml +2 -0
  44. data/generators/bootstrap3/config/deploy.yml +15 -0
  45. data/generators/bootstrap3/config/site.yml.tt +19 -0
  46. data/generators/bootstrap3/config/translations.yml +8 -0
  47. data/generators/bootstrap3/config.ru +3 -0
  48. data/generators/bootstrap3/data/.empty_directory +1 -0
  49. data/generators/bootstrap3/public/fonts/glyphicons-halflings-regular.eot +0 -0
  50. data/generators/bootstrap3/public/fonts/glyphicons-halflings-regular.svg +228 -0
  51. data/generators/bootstrap3/public/fonts/glyphicons-halflings-regular.ttf +0 -0
  52. data/generators/bootstrap3/public/fonts/glyphicons-halflings-regular.woff +0 -0
  53. data/generators/bootstrap3/public/javascripts/bootstrap.js +1999 -0
  54. data/generators/bootstrap3/public/javascripts/bootstrap.min.js +6 -0
  55. data/generators/bootstrap3/public/samples/apple-touch-icon-114-precomposed.png +0 -0
  56. data/generators/bootstrap3/public/samples/apple-touch-icon-144-precomposed.png +0 -0
  57. data/generators/bootstrap3/public/samples/apple-touch-icon-57-precomposed.png +0 -0
  58. data/generators/bootstrap3/public/samples/apple-touch-icon-72-precomposed.png +0 -0
  59. data/generators/bootstrap3/public/samples/favicon.png +0 -0
  60. data/generators/bootstrap3/public/stylesheets/bootstrap-theme.css +384 -0
  61. data/generators/bootstrap3/public/stylesheets/bootstrap-theme.min.css +1 -0
  62. data/generators/bootstrap3/public/stylesheets/bootstrap.css +6805 -0
  63. data/generators/bootstrap3/public/stylesheets/bootstrap.min.css +9 -0
  64. data/generators/foundation/app/views/pages/index.liquid +13 -18
  65. data/generators/foundation/app/views/pages/index.liquid.haml +51 -58
  66. data/generators/foundation/app/views/snippets/footer.liquid +12 -12
  67. data/generators/foundation/app/views/snippets/footer.liquid.haml +4 -5
  68. data/generators/foundation/config/site.yml.tt +20 -6
  69. data/generators/foundation/public/javascripts/foundation/foundation.abide.js +194 -0
  70. data/generators/foundation/public/javascripts/foundation/foundation.alerts.js +11 -6
  71. data/generators/foundation/public/javascripts/foundation/foundation.clearing.js +6 -6
  72. data/generators/foundation/public/javascripts/foundation/foundation.cookie.js +1 -1
  73. data/generators/foundation/public/javascripts/foundation/foundation.dropdown.js +19 -14
  74. data/generators/foundation/public/javascripts/foundation/foundation.forms.js +77 -37
  75. data/generators/foundation/public/javascripts/foundation/foundation.interchange.js +33 -24
  76. data/generators/foundation/public/javascripts/foundation/foundation.joyride.js +17 -9
  77. data/generators/foundation/public/javascripts/foundation/foundation.js +30 -13
  78. data/generators/foundation/public/javascripts/foundation/foundation.magellan.js +9 -5
  79. data/generators/foundation/public/javascripts/foundation/foundation.orbit.js +361 -319
  80. data/generators/foundation/public/javascripts/foundation/foundation.placeholder.js +426 -159
  81. data/generators/foundation/public/javascripts/foundation/foundation.reveal.js +42 -19
  82. data/generators/foundation/public/javascripts/foundation/foundation.section.js +322 -308
  83. data/generators/foundation/public/javascripts/foundation/foundation.tooltips.js +5 -4
  84. data/generators/foundation/public/javascripts/foundation/foundation.topbar.js +144 -71
  85. data/generators/foundation/public/javascripts/foundation.min.js +15 -32
  86. data/generators/foundation/public/javascripts/vendor/custom.modernizr.js +1 -1
  87. data/generators/foundation/public/javascripts/vendor/jquery.js +4389 -4197
  88. data/generators/foundation/public/javascripts/vendor/zepto.js +117 -1
  89. data/generators/foundation/public/stylesheets/foundation.css +1145 -668
  90. data/generators/foundation/public/stylesheets/foundation.min.css +1 -440
  91. data/generators/foundation/public/stylesheets/normalize.css +162 -91
  92. data/lib/locomotive/wagon/exceptions.rb +1 -1
  93. data/lib/locomotive/wagon/generators/site/bootstrap2.rb +35 -0
  94. data/lib/locomotive/wagon/generators/site/{bootstrap.rb → bootstrap3.rb} +3 -3
  95. data/lib/locomotive/wagon/generators/site/foundation.rb +1 -1
  96. data/lib/locomotive/wagon/generators/site.rb +2 -1
  97. data/lib/locomotive/wagon/liquid/drops/base.rb +4 -2
  98. data/lib/locomotive/wagon/liquid/drops/content_entry.rb +4 -4
  99. data/lib/locomotive/wagon/liquid/drops/page.rb +3 -3
  100. data/lib/locomotive/wagon/liquid/drops/site.rb +3 -3
  101. data/lib/locomotive/wagon/liquid/tags/link_to.rb +2 -1
  102. data/lib/locomotive/wagon/misc/better_errors.rb +1 -1
  103. data/lib/locomotive/wagon/server/renderer.rb +9 -2
  104. data/lib/locomotive/wagon/server.rb +1 -3
  105. data/lib/locomotive/wagon/version.rb +1 -1
  106. data/locomotivecms_wagon.gemspec +2 -2
  107. data/spec/integration/server/basic_spec.rb +7 -0
  108. metadata +68 -35
  109. data/generators/bootstrap/public/fonts/FontAwesome.otf +0 -0
  110. data/generators/bootstrap/public/fonts/fontawesome-webfont.eot +0 -0
  111. data/generators/bootstrap/public/fonts/fontawesome-webfont.ttf +0 -0
  112. data/generators/bootstrap/public/fonts/fontawesome-webfont.woff +0 -0
  113. data/generators/bootstrap/public/javascripts/bootstrap.min.js +0 -6
  114. data/generators/bootstrap/public/stylesheets/bootstrap-responsive.min.css +0 -9
  115. data/generators/bootstrap/public/stylesheets/bootstrap.min.css +0 -726
  116. data/generators/bootstrap/public/stylesheets/fonts/font-awesome-ie7.min.css +0 -23
  117. data/generators/bootstrap/public/stylesheets/fonts/font-awesome.css +0 -460
  118. data/lib/locomotive/wagon/server/not_found.rb +0 -19
@@ -4,14 +4,15 @@
4
4
  'use strict';
5
5
 
6
6
  Foundation.libs.tooltips = {
7
- name: 'tooltips',
7
+ name : 'tooltips',
8
8
 
9
- version : '4.2.0',
9
+ version : '4.3.2',
10
10
 
11
11
  settings : {
12
12
  selector : '.has-tip',
13
13
  additionalInheritableClasses : [],
14
14
  tooltipClass : '.tooltip',
15
+ touchCloseText: 'tap to close',
15
16
  appendTo: 'body',
16
17
  'disable-for-touch': false,
17
18
  tipTemplate : function (selector, content) {
@@ -33,7 +34,7 @@
33
34
  $.extend(true, this.settings, options);
34
35
  }
35
36
 
36
- if (typeof method != 'string') {
37
+ if (typeof method !== 'string') {
37
38
  if (Modernizr.touch) {
38
39
  $(this.scope)
39
40
  .on('click.fndtn.tooltip touchstart.fndtn.tooltip touchend.fndtn.tooltip',
@@ -110,7 +111,7 @@
110
111
 
111
112
  $tip.addClass(classes).appendTo(this.settings.appendTo);
112
113
  if (Modernizr.touch) {
113
- $tip.append('<span class="tap-to-close">tap to close </span>');
114
+ $tip.append('<span class="tap-to-close">'+this.settings.touchCloseText+'</span>');
114
115
  }
115
116
  $target.removeAttr('title').attr('title','');
116
117
  this.show($target);
@@ -6,7 +6,7 @@
6
6
  Foundation.libs.topbar = {
7
7
  name : 'topbar',
8
8
 
9
- version : '4.2.0',
9
+ version: '4.3.2',
10
10
 
11
11
  settings : {
12
12
  index : 0,
@@ -14,12 +14,13 @@
14
14
  custom_back_text: true,
15
15
  back_text: 'Back',
16
16
  is_hover: true,
17
+ mobile_show_parent_link: false,
17
18
  scrolltop : true, // jump to top when sticky nav menu toggle is clicked
18
19
  init : false
19
20
  },
20
21
 
21
22
  init : function (section, method, options) {
22
- Foundation.inherit(this, 'data_options');
23
+ Foundation.inherit(this, 'data_options addCustomRule');
23
24
  var self = this;
24
25
 
25
26
  if (typeof method === 'object') {
@@ -28,7 +29,7 @@
28
29
  $.extend(true, this.settings, options);
29
30
  }
30
31
 
31
- if (typeof method != 'string') {
32
+ if (typeof method !== 'string') {
32
33
 
33
34
  $('.top-bar, [data-topbar]').each(function () {
34
35
  $.extend(true, self.settings, self.data_options($(this)));
@@ -38,14 +39,29 @@
38
39
  self.settings.$titlebar = self.settings.$topbar.children('ul').first();
39
40
  self.settings.$topbar.data('index', 0);
40
41
 
42
+ var topbarContainer = self.settings.$topbar.parent();
43
+ if(topbarContainer.hasClass('fixed') || topbarContainer.hasClass(self.settings.stickyClass)) {
44
+ self.settings.$topbar.data('height', self.outerHeight(topbarContainer));
45
+ self.settings.$topbar.data('stickyoffset', topbarContainer.offset().top);
46
+ } else {
47
+ self.settings.$topbar.data('height', self.outerHeight(self.settings.$topbar));
48
+ }
49
+
41
50
  var breakpoint = $("<div class='top-bar-js-breakpoint'/>").insertAfter(self.settings.$topbar);
42
51
  self.settings.breakPoint = breakpoint.width();
43
52
  breakpoint.remove();
44
53
 
45
54
  self.assemble();
46
55
 
56
+ if (self.settings.is_hover) {
57
+ self.settings.$topbar.find('.has-dropdown').addClass('not-click');
58
+ }
59
+
60
+ // Pad body when sticky (scrolled) or fixed.
61
+ self.addCustomRule('.f-topbar-fixed { padding-top: ' + self.settings.$topbar.data('height') + 'px }');
62
+
47
63
  if (self.settings.$topbar.parent().hasClass('fixed')) {
48
- $('body').css('padding-top', self.outerHeight(self.settings.$topbar));
64
+ $('body').addClass('f-topbar-fixed');
49
65
  }
50
66
  });
51
67
 
@@ -60,70 +76,88 @@
60
76
  }
61
77
  },
62
78
 
63
- events : function () {
79
+ toggle: function() {
64
80
  var self = this;
65
- var offst = this.outerHeight($('.top-bar, [data-topbar]'));
66
- $(this.scope)
67
- .off('.fndtn.topbar')
68
- .on('click.fndtn.topbar', '.top-bar .toggle-topbar, [data-topbar] .toggle-topbar', function (e) {
69
- var topbar = $(this).closest('.top-bar, [data-topbar]'),
70
- section = topbar.find('section, .section'),
71
- titlebar = topbar.children('ul').first();
81
+ var topbar = $('.top-bar, [data-topbar]'),
82
+ section = topbar.find('section, .section');
72
83
 
73
- e.preventDefault();
84
+ if (self.breakpoint()) {
85
+ if (!self.rtl) {
86
+ section.css({left: '0%'});
87
+ section.find('>.name').css({left: '100%'});
88
+ } else {
89
+ section.css({right: '0%'});
90
+ section.find('>.name').css({right: '100%'});
91
+ }
74
92
 
75
- if (self.breakpoint()) {
76
- if (!self.rtl) {
77
- section.css({left: '0%'});
78
- section.find('>.name').css({left: '100%'});
79
- } else {
80
- section.css({right: '0%'});
81
- section.find('>.name').css({right: '100%'});
82
- }
93
+ section.find('li.moved').removeClass('moved');
94
+ topbar.data('index', 0);
83
95
 
84
- section.find('li.moved').removeClass('moved');
85
- topbar.data('index', 0);
96
+ topbar
97
+ .toggleClass('expanded')
98
+ .css('height', '');
99
+ }
86
100
 
87
- topbar
88
- .toggleClass('expanded')
89
- .css('min-height', '');
101
+ if(self.settings.scrolltop)
102
+ {
103
+ if (!topbar.hasClass('expanded')) {
104
+ if (topbar.hasClass('fixed')) {
105
+ topbar.parent().addClass('fixed');
106
+ topbar.removeClass('fixed');
107
+ $('body').addClass('f-topbar-fixed');
90
108
  }
91
-
92
- if (!topbar.hasClass('expanded')) {
93
- if (topbar.hasClass('fixed')) {
94
- topbar.parent().addClass('fixed');
95
- topbar.removeClass('fixed');
96
- $('body').css('padding-top',offst);
97
- }
98
- } else if (topbar.parent().hasClass('fixed')) {
109
+ } else if (topbar.parent().hasClass('fixed')) {
110
+ if (self.settings.scrolltop) {
99
111
  topbar.parent().removeClass('fixed');
100
112
  topbar.addClass('fixed');
101
- $('body').css('padding-top','0');
113
+ $('body').removeClass('f-topbar-fixed');
102
114
 
103
- if (self.settings.scrolltop) {
104
- window.scrollTo(0,0);
105
- }
115
+ window.scrollTo(0,0);
116
+ } else {
117
+ topbar.parent().removeClass('expanded');
106
118
  }
107
- })
108
-
109
- .on('mouseenter mouseleave', '.top-bar li', function (e) {
110
- if (!self.settings.is_hover) return;
119
+ }
120
+ } else {
121
+ if(topbar.parent().hasClass(self.settings.stickyClass)) {
122
+ topbar.parent().addClass('fixed');
123
+ }
111
124
 
112
- if (/enter|over/i.test(e.type)) {
113
- $(this).addClass('hover');
125
+ if(topbar.parent().hasClass('fixed')) {
126
+ if (!topbar.hasClass('expanded')) {
127
+ topbar.removeClass('fixed');
128
+ topbar.parent().removeClass('expanded');
129
+ self.updateStickyPositioning();
114
130
  } else {
115
- $(this).removeClass('hover');
131
+ topbar.addClass('fixed');
132
+ topbar.parent().addClass('expanded');
116
133
  }
134
+ }
135
+ }
136
+ },
137
+
138
+ timer : null,
139
+
140
+ events : function () {
141
+ var self = this;
142
+ $(this.scope)
143
+ .off('.fndtn.topbar')
144
+ .on('click.fndtn.topbar', '.top-bar .toggle-topbar, [data-topbar] .toggle-topbar', function (e) {
145
+ e.preventDefault();
146
+ self.toggle();
117
147
  })
118
148
 
119
149
  .on('click.fndtn.topbar', '.top-bar li.has-dropdown', function (e) {
120
- if (self.breakpoint()) return;
121
-
122
150
  var li = $(this),
123
151
  target = $(e.target),
124
152
  topbar = li.closest('[data-topbar], .top-bar'),
125
153
  is_hover = topbar.data('topbar');
126
154
 
155
+ if(target.data('revealId')) {
156
+ self.toggle();
157
+ return;
158
+ }
159
+
160
+ if (self.breakpoint()) return;
127
161
  if (self.settings.is_hover && !Modernizr.touch) return;
128
162
 
129
163
  e.stopImmediatePropagation();
@@ -137,19 +171,22 @@
137
171
  .removeClass('hover')
138
172
  .find('li')
139
173
  .removeClass('hover');
174
+
175
+ li.parents('li.hover')
176
+ .removeClass('hover');
140
177
  } else {
141
178
  li.addClass('hover');
142
179
  }
143
180
  })
144
181
 
145
182
  .on('click.fndtn.topbar', '.top-bar .has-dropdown>a, [data-topbar] .has-dropdown>a', function (e) {
146
- if (self.breakpoint()) {
183
+ if (self.breakpoint() && $(window).width() != self.settings.breakPoint) {
184
+
147
185
  e.preventDefault();
148
186
 
149
187
  var $this = $(this),
150
188
  topbar = $this.closest('.top-bar, [data-topbar]'),
151
189
  section = topbar.find('section, .section'),
152
- titlebar = topbar.children('ul').first(),
153
190
  dropdownHeight = $this.next('.dropdown').outerHeight(),
154
191
  $selectedLi = $this.closest('li');
155
192
 
@@ -164,22 +201,49 @@
164
201
  section.find('>.name').css({right: 100 * topbar.data('index') + '%'});
165
202
  }
166
203
 
167
- topbar.css('min-height', self.height($this.siblings('ul')) + self.outerHeight(titlebar, true));
204
+ topbar.css('height', self.outerHeight($this.siblings('ul'), true) + self.settings.$topbar.data('height'));
168
205
  }
169
206
  });
170
207
 
171
208
  $(window).on('resize.fndtn.topbar', function () {
209
+ if (typeof self.settings.$topbar === 'undefined') { return; }
210
+ var stickyContainer = self.settings.$topbar.parent('.' + this.settings.stickyClass);
211
+ var stickyOffset;
212
+
172
213
  if (!self.breakpoint()) {
214
+ var doToggle = self.settings.$topbar.hasClass('expanded');
173
215
  $('.top-bar, [data-topbar]')
174
- .css('min-height', '')
216
+ .css('height', '')
175
217
  .removeClass('expanded')
176
218
  .find('li')
177
219
  .removeClass('hover');
220
+
221
+ if(doToggle) {
222
+ self.toggle();
223
+ }
224
+ }
225
+
226
+ if(stickyContainer.length > 0) {
227
+ if(stickyContainer.hasClass('fixed')) {
228
+ // Remove the fixed to allow for correct calculation of the offset.
229
+ stickyContainer.removeClass('fixed');
230
+
231
+ stickyOffset = stickyContainer.offset().top;
232
+ if($(document.body).hasClass('f-topbar-fixed')) {
233
+ stickyOffset -= self.settings.$topbar.data('height');
234
+ }
235
+
236
+ self.settings.$topbar.data('stickyoffset', stickyOffset);
237
+ stickyContainer.addClass('fixed');
238
+ } else {
239
+ stickyOffset = stickyContainer.offset().top;
240
+ self.settings.$topbar.data('stickyoffset', stickyOffset);
241
+ }
178
242
  }
179
243
  }.bind(this));
180
244
 
181
245
  $('body').on('click.fndtn.topbar', function (e) {
182
- var parent = $(e.target).closest('[data-topbar], .top-bar');
246
+ var parent = $(e.target).closest('li').closest('li.hover');
183
247
 
184
248
  if (parent.length > 0) {
185
249
  return;
@@ -194,7 +258,6 @@
194
258
 
195
259
  var $this = $(this),
196
260
  topbar = $this.closest('.top-bar, [data-topbar]'),
197
- titlebar = topbar.children('ul').first(),
198
261
  section = topbar.find('section, .section'),
199
262
  $movedLi = $this.closest('li.moved'),
200
263
  $previousLevelUl = $movedLi.parent();
@@ -210,9 +273,9 @@
210
273
  }
211
274
 
212
275
  if (topbar.data('index') === 0) {
213
- topbar.css('min-height', 0);
276
+ topbar.css('height', '');
214
277
  } else {
215
- topbar.css('min-height', self.height($previousLevelUl) + self.outerHeight(titlebar, true));
278
+ topbar.css('height', self.outerHeight($previousLevelUl, true) + self.settings.$topbar.data('height'));
216
279
  }
217
280
 
218
281
  setTimeout(function () {
@@ -222,7 +285,7 @@
222
285
  },
223
286
 
224
287
  breakpoint : function () {
225
- return $(window).width() <= this.settings.breakPoint || $('html').hasClass('lt-ie9');
288
+ return $(document).width() <= this.settings.breakPoint || $('html').hasClass('lt-ie9');
226
289
  },
227
290
 
228
291
  assemble : function () {
@@ -235,7 +298,7 @@
235
298
  $dropdown = $link.siblings('.dropdown'),
236
299
  url = $link.attr('href');
237
300
 
238
- if (url && url.length > 1) {
301
+ if (self.settings.mobile_show_parent_link && url && url.length > 1) {
239
302
  var $titleLi = $('<li class="title back js-generated"><h5><a href="#"></a></h5></li><li><a class="parent-link js-generated" href="' + url + '">' + $link.text() +'</a></li>');
240
303
  } else {
241
304
  var $titleLi = $('<li class="title back js-generated"><h5><a href="#"></a></h5></li>');
@@ -243,7 +306,7 @@
243
306
 
244
307
  // Copy link to subnav
245
308
  if (self.settings.custom_back_text == true) {
246
- $titleLi.find('h5>a').html('&laquo; ' + self.settings.back_text);
309
+ $titleLi.find('h5>a').html(self.settings.back_text);
247
310
  } else {
248
311
  $titleLi.find('h5>a').html('&laquo; ' + $link.html());
249
312
  }
@@ -267,23 +330,33 @@
267
330
  },
268
331
 
269
332
  sticky : function () {
333
+ var $window = $(window),
334
+ self = this;
335
+
336
+ $window.scroll(function() {
337
+ self.updateStickyPositioning();
338
+ });
339
+ },
340
+
341
+ updateStickyPositioning: function() {
270
342
  var klass = '.' + this.settings.stickyClass;
343
+ var $window = $(window);
344
+
271
345
  if ($(klass).length > 0) {
272
- var distance = $(klass).length ? $(klass).offset().top: 0,
273
- $window = $(window);
274
- var offst = this.outerHeight($('.top-bar'));
275
-
276
- $window.scroll(function() {
277
- if ($window.scrollTop() >= (distance)) {
278
- $(klass).addClass("fixed");
279
- $('body').css('padding-top',offst);
346
+ var distance = this.settings.$topbar.data('stickyoffset');
347
+ if (!$(klass).hasClass('expanded')) {
348
+ if ($window.scrollTop() > (distance)) {
349
+ if (!$(klass).hasClass('fixed')) {
350
+ $(klass).addClass('fixed');
351
+ $('body').addClass('f-topbar-fixed');
280
352
  }
281
-
282
- else if ($window.scrollTop() < distance) {
283
- $(klass).removeClass("fixed");
284
- $('body').css('padding-top','0');
353
+ } else if ($window.scrollTop() <= distance) {
354
+ if ($(klass).hasClass('fixed')) {
355
+ $(klass).removeClass('fixed');
356
+ $('body').removeClass('f-topbar-fixed');
285
357
  }
286
- });
358
+ }
359
+ }
287
360
  }
288
361
  },
289
362