4343 < div id ="st-container " class ="st-container ">
4444 <!-- Begin Hero -->
4545 < div class ="st-pusher ">
46- < section class ="st-content hero ">
46+ < section id =" hero " class ="st-content hero ">
4747 < div class ="st-content-inner ">
4848 < div class ="container ">
4949 <!-- Hero Content -->
50- < div class ="row hero-content " data-0 ="opacity: 1; transform: translate3d(0px, 0px, 0px); " data-top-bottom ="opacity: 0; transform: translate3d(0px, 300%, 0px); ">
50+ < div id =" hero-content " class ="row hero-content " data-0 ="opacity: 1; transform: translate3d(0px, 0px, 0px); " data-top-bottom ="opacity: 0; transform: translate3d(0px, 300%, 0px); ">
5151 <!-- Intro -->
5252 < div class ="col-xs-9 col-sm-8 col-lg-7 col-sm-offset-1 col-lg-offset-1 ">
5353 < h1 > Hi ! I am < span class ="highlight "> Luc Tribolet</ span > . Full Stack Developer. Based in Paris.</ h1 >
@@ -67,10 +67,10 @@ <h1>Hi ! I am <span class="highlight">Luc Tribolet</span>. Full Stack Developer.
6767 < a href ="documents/luc_tribolet_resume_web.html " title ="Web Resume " target ="_blank ">
6868 < i class ="glyphicon glyphicon-file "> </ i >
6969 </ a >
70- < a href ="documents/luc_tribolet_resume_en.doc " title ="English Resume " target ="_blank ">
70+ < a href ="documents/luc_tribolet_resume_en.pdf " title ="English Resume " target ="_blank ">
7171 < span class ="text-uppercase "> en</ span >
7272 </ a >
73- < a href ="documents/luc_tribolet_resume_fr.doc " title ="French Resume " target ="_blank ">
73+ < a href ="documents/luc_tribolet_resume_fr.pdf " title ="French Resume " target ="_blank ">
7474 < span class ="text-uppercase text- "> fr</ span >
7575 </ a >
7676
@@ -90,28 +90,90 @@ <h1>Hi ! I am <span class="highlight">Luc Tribolet</span>. Full Stack Developer.
9090
9191 <!-- build:js scripts/vendor.js -->
9292 <!-- bower:js -->
93- < script src ="/bower_components/jquery/dist/jquery.js "> </ script >
9493 < script src ="/bower_components/classie/classie.js "> </ script >
9594 <!-- endbower -->
9695 <!-- endbuild -->
9796
98- <!-- build:js scripts/plugins.js -->
99- < script src ="/bower_components/bootstrap/js/affix.js "> </ script >
100- < script src ="/bower_components/bootstrap/js/alert.js "> </ script >
101- < script src ="/bower_components/bootstrap/js/dropdown.js "> </ script >
102- < script src ="/bower_components/bootstrap/js/tooltip.js "> </ script >
103- < script src ="/bower_components/bootstrap/js/modal.js "> </ script >
104- < script src ="/bower_components/bootstrap/js/transition.js "> </ script >
105- < script src ="/bower_components/bootstrap/js/button.js "> </ script >
106- < script src ="/bower_components/bootstrap/js/popover.js "> </ script >
107- < script src ="/bower_components/bootstrap/js/carousel.js "> </ script >
108- < script src ="/bower_components/bootstrap/js/scrollspy.js "> </ script >
109- < script src ="/bower_components/bootstrap/js/collapse.js "> </ script >
110- < script src ="/bower_components/bootstrap/js/tab.js "> </ script >
111- <!-- endbuild -->
112-
113- <!-- build:js scripts/main.js -->
114- < script src ="scripts/main.js "> </ script >
115- <!-- endbuild -->
97+ < script type ="application/javascript ">
98+ ( function ( ) {
99+ function hasParentClass ( e , classname ) {
100+ if ( e === document ) {
101+ return false ;
102+ }
103+ if ( classie . has ( e , classname ) ) {
104+ return true ;
105+ }
106+ return e . parentNode && hasParentClass ( e . parentNode , classname ) ;
107+ }
108+
109+ // http://coveroverflow.com/a/11381730/989439
110+ function mobilecheck ( ) {
111+ var check = false ;
112+ ( function ( a ) {
113+ if ( / ( a n d r o i d | i p a d | p l a y b o o k | s i l k | b b \d + | m e e g o ) .+ m o b i l e | a v a n t g o | b a d a \/ | b l a c k b e r r y | b l a z e r | c o m p a l | e l a i n e | f e n n e c | h i p t o p | i e m o b i l e | i p ( h o n e | o d ) | i r i s | k i n d l e | l g e | m a e m o | m i d p | m m p | n e t f r o n t | o p e r a m ( o b | i n ) i | p a l m ( o s ) ? | p h o n e | p ( i x i | r e ) \/ | p l u c k e r | p o c k e t | p s p | s e r i e s ( 4 | 6 ) 0 | s y m b i a n | t r e o | u p \. ( b r o w s e r | l i n k ) | v o d a f o n e | w a p | w i n d o w s ( c e | p h o n e ) | x d a | x i i n o / i. test ( a ) || / 1 2 0 7 | 6 3 1 0 | 6 5 9 0 | 3 g s o | 4 t h p | 5 0 [ 1 - 6 ] i | 7 7 0 s | 8 0 2 s | a w a | a b a c | a c ( e r | o o | s \- ) | a i ( k o | r n ) | a l ( a v | c a | c o ) | a m o i | a n ( e x | n y | y w ) | a p t u | a r ( c h | g o ) | a s ( t e | u s ) | a t t w | a u ( d i | \- m | r | s ) | a v a n | b e ( c k | l l | n q ) | b i ( l b | r d ) | b l ( a c | a z ) | b r ( e | v ) w | b u m b | b w \- ( n | u ) | c 5 5 \/ | c a p i | c c w a | c d m \- | c e l l | c h t m | c l d c | c m d \- | c o ( m p | n d ) | c r a w | d a ( i t | l l | n g ) | d b t e | d c \- s | d e v i | d i c a | d m o b | d o ( c | p ) o | d s ( 1 2 | \- d ) | e l ( 4 9 | a i ) | e m ( l 2 | u l ) | e r ( i c | k 0 ) | e s l 8 | e z ( [ 4 - 7 ] 0 | o s | w a | z e ) | f e t c | f l y ( \- | _ ) | g 1 u | g 5 6 0 | g e n e | g f \- 5 | g \- m o | g o ( \. w | o d ) | g r ( a d | u n ) | h a i e | h c i t | h d \- ( m | p | t ) | h e i \- | h i ( p t | t a ) | h p ( i | i p ) | h s \- c | h t ( c ( \- | | _ | a | g | p | s | t ) | t p ) | h u ( a w | t c ) | i \- ( 2 0 | g o | m a ) | i 2 3 0 | i a c ( | \- | \/ ) | i b r o | i d e a | i g 0 1 | i k o m | i m 1 k | i n n o | i p a q | i r i s | j a ( t | v ) a | j b r o | j e m u | j i g s | k d d i | k e j i | k g t ( | \/ ) | k l o n | k p t | k w c \- | k y o ( c | k ) | l e ( n o | x i ) | l g ( g | \/ ( k | l | u ) | 5 0 | 5 4 | \- [ a - w ] ) | l i b w | l y n x | m 1 \- w | m 3 g a | m 5 0 \/ | m a ( t e | u i | x o ) | m c ( 0 1 | 2 1 | c a ) | m \- c r | m e ( r c | r i ) | m i ( o 8 | o a | t s ) | m m e f | m o ( 0 1 | 0 2 | b i | d e | d o | t ( \- | | o | v ) | z z ) | m t ( 5 0 | p 1 | v ) | m w b p | m y w a | n 1 0 [ 0 - 2 ] | n 2 0 [ 2 - 3 ] | n 3 0 ( 0 | 2 ) | n 5 0 ( 0 | 2 | 5 ) | n 7 ( 0 ( 0 | 1 ) | 1 0 ) | n e ( ( c | m ) \- | o n | t f | w f | w g | w t ) | n o k ( 6 | i ) | n z p h | o 2 i m | o p ( t i | w v ) | o r a n | o w g 1 | p 8 0 0 | p a n ( a | d | t ) | p d x g | p g ( 1 3 | \- ( [ 1 - 8 ] | c ) ) | p h i l | p i r e | p l ( a y | u c ) | p n \- 2 | p o ( c k | r t | s e ) | p r o x | p s i o | p t \- g | q a \- a | q c ( 0 7 | 1 2 | 2 1 | 3 2 | 6 0 | \- [ 2 - 7 ] | i \- ) | q t e k | r 3 8 0 | r 6 0 0 | r a k s | r i m 9 | r o ( v e | z o ) | s 5 5 \/ | s a ( g e | m a | m m | m s | n y | v a ) | s c ( 0 1 | h \- | o o | p \- ) | s d k \/ | s e ( c ( \- | 0 | 1 ) | 4 7 | m c | n d | r i ) | s g h \- | s h a r | s i e ( \- | m ) | s k \- 0 | s l ( 4 5 | i d ) | s m ( a l | a r | b 3 | i t | t 5 ) | s o ( f t | n y ) | s p ( 0 1 | h \- | v \- | v ) | s y ( 0 1 | m b ) | t 2 ( 1 8 | 5 0 ) | t 6 ( 0 0 | 1 0 | 1 8 ) | t a ( g t | l k ) | t c l \- | t d g \- | t e l ( i | m ) | t i m \- | t \- m o | t o ( p l | s h ) | t s ( 7 0 | m \- | m 3 | m 5 ) | t x \- 9 | u p ( \. b | g 1 | s i ) | u t s t | v 4 0 0 | v 7 5 0 | v e r i | v i ( r g | t e ) | v k ( 4 0 | 5 [ 0 - 3 ] | \- v ) | v m 4 0 | v o d a | v u l c | v x ( 5 2 | 5 3 | 6 0 | 6 1 | 7 0 | 8 0 | 8 1 | 8 3 | 8 5 | 9 8 ) | w 3 c ( \- | ) | w e b c | w h i t | w i ( g | n c | n w ) | w m l b | w o n u | x 7 0 0 | y a s \- | y o u r | z e t o | z t e \- / i. test ( a . substr ( 0 , 4 ) ) ) {
114+ check = true ;
115+ }
116+ } ) ( navigator . userAgent || navigator . vendor || window . opera ) ;
117+ return check ;
118+ }
119+
120+ function init ( ) {
121+
122+ var container = document . getElementById ( 'st-container' ) ,
123+ reset = document . getElementById ( 'closeMenu' ) ,
124+ buttons = Array . prototype . slice . call ( document . querySelectorAll ( '.scroll-to' ) ) ,
125+ // event type (if mobile use touch events)
126+ eventtype = mobilecheck ( ) ? 'touchstart' : 'click' ,
127+ resetMenu = function ( ) {
128+ classie . remove ( container , 'st-menu-open' ) ;
129+ } ,
130+ bodyClickFn = function ( evt ) {
131+ if ( ! hasParentClass ( evt . target , 'st-menu' ) ) {
132+ resetMenu ( ) ;
133+ document . removeEventListener ( eventtype , bodyClickFn ) ;
134+ }
135+ } ,
136+ resetClickFn = function ( evt ) {
137+ if ( evt . target === reset ) {
138+ resetMenu ( ) ;
139+ document . removeEventListener ( eventtype , bodyClickFn ) ;
140+ }
141+ } ;
142+
143+ buttons . forEach ( function ( el ) {
144+ var effect = el . getAttribute ( 'data-effect' ) ;
145+
146+ el . addEventListener ( eventtype , function ( ev ) {
147+ ev . stopPropagation ( ) ;
148+ ev . preventDefault ( ) ;
149+ container . className = 'st-container' ; // clear
150+ classie . add ( container , effect ) ;
151+ setTimeout ( function ( ) {
152+ classie . add ( container , 'st-menu-open' ) ;
153+ } , 25 ) ;
154+ document . addEventListener ( eventtype , bodyClickFn ) ;
155+ document . addEventListener ( eventtype , resetClickFn ) ;
156+ } ) ;
157+ } ) ;
158+
159+ }
160+
161+ init ( ) ;
162+
163+ function centerInit ( ) {
164+ var hero = document . getElementById ( 'hero' ) ,
165+ heroContent = document . getElementById ( 'hero-content' ) ,
166+ windowHeight = window . innerHeight ,
167+ contentMargin = ( windowHeight - heroContent . offsetHeight ) / 2 ;
168+
169+ hero . setAttribute ( 'style' , 'height:' + windowHeight + 'px' ) ;
170+ heroContent . setAttribute ( 'style' , 'margin-top:' + contentMargin + 'px' ) ;
171+ }
172+
173+ centerInit ( ) ;
174+ window . onresize = centerInit ;
175+
176+ } ) ( ) ;
177+ </ script >
116178 </ body >
117179</ html >
0 commit comments