Skip to content

Commit 55e2617

Browse files
committed
template
1 parent af48fc2 commit 55e2617

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+16797
-0
lines changed

assets/css/fontawesome-all.min.css

Lines changed: 101 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/css/main.css

Lines changed: 2273 additions & 0 deletions
Large diffs are not rendered by default.

assets/js/breakpoints.min.js

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/js/browser.min.js

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/js/jquery.min.js

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/js/main.js

Lines changed: 262 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,262 @@
1+
/*
2+
Editorial by HTML5 UP
3+
html5up.net | @ajlkn
4+
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
5+
*/
6+
7+
(function($) {
8+
9+
var $window = $(window),
10+
$head = $('head'),
11+
$body = $('body');
12+
13+
// Breakpoints.
14+
breakpoints({
15+
xlarge: [ '1281px', '1680px' ],
16+
large: [ '981px', '1280px' ],
17+
medium: [ '737px', '980px' ],
18+
small: [ '481px', '736px' ],
19+
xsmall: [ '361px', '480px' ],
20+
xxsmall: [ null, '360px' ],
21+
'xlarge-to-max': '(min-width: 1681px)',
22+
'small-to-xlarge': '(min-width: 481px) and (max-width: 1680px)'
23+
});
24+
25+
// Stops animations/transitions until the page has ...
26+
27+
// ... loaded.
28+
$window.on('load', function() {
29+
window.setTimeout(function() {
30+
$body.removeClass('is-preload');
31+
}, 100);
32+
});
33+
34+
// ... stopped resizing.
35+
var resizeTimeout;
36+
37+
$window.on('resize', function() {
38+
39+
// Mark as resizing.
40+
$body.addClass('is-resizing');
41+
42+
// Unmark after delay.
43+
clearTimeout(resizeTimeout);
44+
45+
resizeTimeout = setTimeout(function() {
46+
$body.removeClass('is-resizing');
47+
}, 100);
48+
49+
});
50+
51+
// Fixes.
52+
53+
// Object fit images.
54+
if (!browser.canUse('object-fit')
55+
|| browser.name == 'safari')
56+
$('.image.object').each(function() {
57+
58+
var $this = $(this),
59+
$img = $this.children('img');
60+
61+
// Hide original image.
62+
$img.css('opacity', '0');
63+
64+
// Set background.
65+
$this
66+
.css('background-image', 'url("' + $img.attr('src') + '")')
67+
.css('background-size', $img.css('object-fit') ? $img.css('object-fit') : 'cover')
68+
.css('background-position', $img.css('object-position') ? $img.css('object-position') : 'center');
69+
70+
});
71+
72+
// Sidebar.
73+
var $sidebar = $('#sidebar'),
74+
$sidebar_inner = $sidebar.children('.inner');
75+
76+
// Inactive by default on <= large.
77+
breakpoints.on('<=large', function() {
78+
$sidebar.addClass('inactive');
79+
});
80+
81+
breakpoints.on('>large', function() {
82+
$sidebar.removeClass('inactive');
83+
});
84+
85+
// Hack: Workaround for Chrome/Android scrollbar position bug.
86+
if (browser.os == 'android'
87+
&& browser.name == 'chrome')
88+
$('<style>#sidebar .inner::-webkit-scrollbar { display: none; }</style>')
89+
.appendTo($head);
90+
91+
// Toggle.
92+
$('<a href="#sidebar" class="toggle">Toggle</a>')
93+
.appendTo($sidebar)
94+
.on('click', function(event) {
95+
96+
// Prevent default.
97+
event.preventDefault();
98+
event.stopPropagation();
99+
100+
// Toggle.
101+
$sidebar.toggleClass('inactive');
102+
103+
});
104+
105+
// Events.
106+
107+
// Link clicks.
108+
$sidebar.on('click', 'a', function(event) {
109+
110+
// >large? Bail.
111+
if (breakpoints.active('>large'))
112+
return;
113+
114+
// Vars.
115+
var $a = $(this),
116+
href = $a.attr('href'),
117+
target = $a.attr('target');
118+
119+
// Prevent default.
120+
event.preventDefault();
121+
event.stopPropagation();
122+
123+
// Check URL.
124+
if (!href || href == '#' || href == '')
125+
return;
126+
127+
// Hide sidebar.
128+
$sidebar.addClass('inactive');
129+
130+
// Redirect to href.
131+
setTimeout(function() {
132+
133+
if (target == '_blank')
134+
window.open(href);
135+
else
136+
window.location.href = href;
137+
138+
}, 500);
139+
140+
});
141+
142+
// Prevent certain events inside the panel from bubbling.
143+
$sidebar.on('click touchend touchstart touchmove', function(event) {
144+
145+
// >large? Bail.
146+
if (breakpoints.active('>large'))
147+
return;
148+
149+
// Prevent propagation.
150+
event.stopPropagation();
151+
152+
});
153+
154+
// Hide panel on body click/tap.
155+
$body.on('click touchend', function(event) {
156+
157+
// >large? Bail.
158+
if (breakpoints.active('>large'))
159+
return;
160+
161+
// Deactivate.
162+
$sidebar.addClass('inactive');
163+
164+
});
165+
166+
// Scroll lock.
167+
// Note: If you do anything to change the height of the sidebar's content, be sure to
168+
// trigger 'resize.sidebar-lock' on $window so stuff doesn't get out of sync.
169+
170+
$window.on('load.sidebar-lock', function() {
171+
172+
var sh, wh, st;
173+
174+
// Reset scroll position to 0 if it's 1.
175+
if ($window.scrollTop() == 1)
176+
$window.scrollTop(0);
177+
178+
$window
179+
.on('scroll.sidebar-lock', function() {
180+
181+
var x, y;
182+
183+
// <=large? Bail.
184+
if (breakpoints.active('<=large')) {
185+
186+
$sidebar_inner
187+
.data('locked', 0)
188+
.css('position', '')
189+
.css('top', '');
190+
191+
return;
192+
193+
}
194+
195+
// Calculate positions.
196+
x = Math.max(sh - wh, 0);
197+
y = Math.max(0, $window.scrollTop() - x);
198+
199+
// Lock/unlock.
200+
if ($sidebar_inner.data('locked') == 1) {
201+
202+
if (y <= 0)
203+
$sidebar_inner
204+
.data('locked', 0)
205+
.css('position', '')
206+
.css('top', '');
207+
else
208+
$sidebar_inner
209+
.css('top', -1 * x);
210+
211+
}
212+
else {
213+
214+
if (y > 0)
215+
$sidebar_inner
216+
.data('locked', 1)
217+
.css('position', 'fixed')
218+
.css('top', -1 * x);
219+
220+
}
221+
222+
})
223+
.on('resize.sidebar-lock', function() {
224+
225+
// Calculate heights.
226+
wh = $window.height();
227+
sh = $sidebar_inner.outerHeight() + 30;
228+
229+
// Trigger scroll.
230+
$window.trigger('scroll.sidebar-lock');
231+
232+
})
233+
.trigger('resize.sidebar-lock');
234+
235+
});
236+
237+
// Menu.
238+
var $menu = $('#menu'),
239+
$menu_openers = $menu.children('ul').find('.opener');
240+
241+
// Openers.
242+
$menu_openers.each(function() {
243+
244+
var $this = $(this);
245+
246+
$this.on('click', function(event) {
247+
248+
// Prevent default.
249+
event.preventDefault();
250+
251+
// Toggle.
252+
$menu_openers.not($this).removeClass('active');
253+
$this.toggleClass('active');
254+
255+
// Trigger resize (sidebar lock).
256+
$window.triggerHandler('resize.sidebar-lock');
257+
258+
});
259+
260+
});
261+
262+
})(jQuery);

0 commit comments

Comments
 (0)