Skip to content

Instantly share code, notes, and snippets.

@essingen123
Created October 16, 2019 10:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save essingen123/c42edb2dee73e7c1c0cb3493055c52a1 to your computer and use it in GitHub Desktop.
Save essingen123/c42edb2dee73e7c1c0cb3493055c52a1 to your computer and use it in GitHub Desktop.
GitLab Fox: Animated Logo
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 370 340" class="glogo">
<title>GitLab</title>
<description>Create, review and deploy code together</description>
<defs>
<!-- Filter discovered as part of PolyLion Work: https://codepen.io/grayghostvisuals/pen/RNLgJP -->
<filter id="polycleaner" color-interpolation-filters="sRGB">
<feComponentTransfer>
<feFuncA type="table" tableValues="0 0.5 1 1" />
</feComponentTransfer>
</filter>
</defs>
<g fill="none" filter="url(#polycleaner)" id="glfox">
<g id="glface" class="glface">
<g class="ear">
<path d="M22.066 131.808h95.32L76.42 5.735c-2.107-6.487-11.284-6.487-13.39 0L22.065 131.808z" fill="#E24329" class="logo-svg-shape logo-dark-orange-shape"></path>
<path d="M348.73 131.808h-95.32L294.376 5.735c2.108-6.487 11.285-6.487 13.392 0l40.963 126.073z" fill="#E24329" class="logo-svg-shape logo-dark-orange-shape"></path>
</g>
<g class="center">
<path d="M185.398 341.13l68.013-209.322H117.39L185.4 341.13z" fill="#E24329" class="logo-svg-shape logo-dark-orange-shape"></path>
</g>
<g class="left">
<path d="M185.398 341.13l-68.013-209.322h-95.32L185.4 341.128z" fill="#FC6D26" class="logo-svg-shape logo-orange-shape"></path>
<path d="M22.066 131.808l-20.67 63.61c-1.884 5.803.18 12.16 5.117 15.744L185.398 341.13 22.066 131.807z" fill="#FCA326" class="logo-svg-shape logo-light-orange-shape"></path>
</g>
<g class="right">
<path d="M185.398 341.13l68.013-209.322h95.32L185.4 341.128z" fill="#FC6D26" class="logo-svg-shape logo-orange-shape"></path>
<path d="M348.73 131.808l20.67 63.61c1.884 5.803-.18 12.16-5.117 15.744L185.398 341.13 348.73 131.807z" fill="#FCA326" class="logo-svg-shape logo-light-orange-shape"></path>
</g>
</g>
</g>
</svg>
// So Firefox and Safari can do scaling and rotation combos.
CSSPlugin.useSVGTransformAttr = false;
function glFox() {
var tl = new TimelineMax({ delay: 0.5 });
var faceright = document.querySelectorAll('.glface .right path'),
faceleft = document.querySelectorAll('.glface .left path'),
facectr = document.querySelectorAll('.glface .center path'),
ears = document.querySelectorAll('.glface .ear path');
TweenMax.set(faceright, { transformOrigin: 'bottom left' });
TweenMax.set(faceleft, { transformOrigin: 'bottom right' });
TweenMax.set([facectr, ears], { transformOrigin: 'bottom center'});
TweenMax.set([faceleft, faceright, facectr], { opacity: 0, scale: 0 })
TweenMax.set(ears, { opacity: 0, rotationZ: 180 });
var scale_in = {
opacity: 1,
scale: 1,
ease: Cubic.easeInOut
};
var unfold_ears = {
rotationX: -180,
opacity: 1,
ease: Power1.easeInOut
};
tl.staggerTo(faceright, 1, scale_in, 0.05675, 0)
.staggerTo(faceleft, 1, scale_in, 0.05675, 0)
.to(facectr, 1, scale_in, '-=0.9')
.to(ears, 1, unfold_ears, '-=0.3');
return tl;
}
function masterFox() {
var tl = new TimelineMax();
tl.add(glFox());
tl.timeScale(1.675);
return tl;
}
masterFox();
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.19.1/TweenMax.min.js"></script>
<script src="https://codepen.io/grayghostvisuals/pen/a08e0d79c150ff5030f9b6afaa137749"></script>
// Demo
// =========================================================================
html,body {height: 100%;}body{display: flex;flex-direction:column;align-items: center;justify-content:center;width:100%;background:#554488;}svg{max-width: 100%;}
// Required
// =========================================================================
.glogo:not(:root) {
overflow: visible
}
.glogo {
height: auto;
width: 142px;
}
.glface path {
opacity: 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment