Skip to content

Instantly share code, notes, and snippets.

@charlenopires
Created November 28, 2014 02:42
Show Gist options
  • Save charlenopires/cb662ee92b9b53e45e67 to your computer and use it in GitHub Desktop.
Save charlenopires/cb662ee92b9b53e45e67 to your computer and use it in GitHub Desktop.
Compose deployments

Compose deployments

At Compose, we wanted to help people visualize the components in the different types of deployments.

A Pen by Brandon Mathis on CodePen.

License.

.deployment
.private-network
.capsules
.lightweight-capsule
.data-capsules
.data-capsule.io-capsule
.data-capsule.io-capsule
.data-capsule.io-capsule
.portal-capsules
.portal-capsule
.deployment
.private-network
.capsules
.lightweight-capsule
.data-capsules
.data-capsule.memory-capsule
.data-capsule.memory-capsule
.portal-capsules
.portal-capsule
.deployment
.private-network
.capsules
.data-capsules
.data-capsule.io-capsule
.data-capsule.io-capsule
.data-capsule.io-capsule
.portal-capsules
.portal-capsule
.portal-capsule
.deployment
.private-network
.capsules
.data-capsules
.data-capsule.io-capsule
.data-capsule.io-capsule
.portal-capsules
.portal-capsule
$('.deployment').toggleClass('expand')
setInterval(function(){
$('.deployment').toggleClass('expand')
}, 2500);
body {
background: #333;
}
$capsule-animation-speed: 1.5s;
$capsule-animation-ease: cubic-bezier(0.190, 1.000, 0.220, 1.000);
@mixin capsule-transition($type: all) {
transition: $type $capsule-animation-speed $capsule-animation-ease;
}
$move-distance: 8px;
* { box-sizing: border-box; }
.deployment {
padding: 15px;
$size: 58px;
text-align: center;
position: relative;
width: 370px;
z-index: 1;
padding: $size 15px;
margin: 30px auto;
&:before, &:after {
content: "";
display: block;
position: absolute;
width: 340px;
height: $size;
@extend %private-network-edge;
}
&:before {
top: 0px;
}
&:after {
bottom: 0px;
//flip top graphic to work as bottom
transform: scale(-1);
}
}
.private-network {
@extend %private-network-middle;
@include capsule-transition;
padding: 10px 0;
text-align: center;
}
.capsules {
position: relative;
@include capsule-transition;
z-index: 2;
.expand & {
transform: scale(1.05);
}
}
.lightweight-capsule {
z-index: 150;
position: relative;
height: 20px;
@include capsule-transition;
top: 10px;
.expand & {
transform: translateY(-$move-distance*2);
}
&:after {
content: "";
display: inline-block;
width: 137px;
height: 60px;
position: relative;
top: -35px;
@extend %lightweight-capsule-graphic;
}
}
.portal-capsules {
position: absolute;
text-align: center;
left: 55%;
width: 120px;
top: 62%;
transform: translateY(-50%);
z-index: 101;
@include capsule-transition;
.expand & {
transform: translate($move-distance, -50%);
}
}
.portal-capsule {
@include capsule-transition;
display: inline-block;
position: relative;
width: 60px;
@include capsule-transition;
&:after {
position: relative;
content: "";
display: inline-block;
width: 85px;
height: 87px;
@extend %portal-capsule-graphic;
}
&:nth-of-type(1) {
z-index: 20;
}
&:nth-of-type(2) {
z-index: 10;
top: -12px;
transform: scale(.98);
.expand & {
transform: scale(.98) translateX($move-distance);
}
}
}
.data-capsules {
@include capsule-transition;
.expand & {
&:nth-child(1) {
transform: translateY(-$move-distance/2);
}
}
}
.data-capsule {
@include capsule-transition;
height: 56px;
position: relative;
@include capsule-transition;
&:nth-of-type(1) {
z-index: 100;
.expand & {
transform: translateY(-$move-distance/2);
}
}
&:nth-of-type(2) {
z-index: 75;
.expand & {
@include capsule-transition;
transform: translateY($move-distance/2);
}
}
&:nth-of-type(3) {
z-index: 50;
.expand & {
@include capsule-transition;
transform: translateY($move-distance + $move-distance/2);
}
}
&:after {
position: relative;
top: -30px;
content: "";
display: inline-block;
width: 280px;
height: 118px;
}
}
.memory-capsule:after {
@extend %memory-capsule-graphic;
}
.io-capsule:after {
@extend %io-capsule-graphic;
}
%lightweight-capsule-graphic {
background: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 266.8 121.8"%3E%3Cg stroke="%23FF9736" stroke-width="2" stroke-linejoin="round" stroke-miterlimit="1.414"%3E%3Cpath fill-rule="evenodd" clip-rule="evenodd" fill="%23F27600" d="M265.8 93c0 1.6-2.7 3.2-8.1 4.3l-107.8 22.1c-10.7 2.2-28.1 1.8-38.7-.8L8.9 93C3.6 91.7 1 90 1 88.5V28.8c0-1.6 2.7-3.2 8.1-4.3L116.4 2.4c10.7-2.2 28.1-1.8 38.7.8l102.8 25.6c5.3 1.3 7.9 2.9 7.9 4.5V93z"/%3E%3Cpath fill="%23D16500" d="M155.2 3.2c-10.6-2.6-28-3-38.7-.8L9.1 24.5c-10.7 2.2-10.8 6.2-.2 8.8l102.3 25.5c10.6 2.6 28 3 38.7.8l107.8-22.1c10.7-2.2 10.8-6.1.2-8.8L155.2 3.2z"/%3E%3C/g%3E%3Cg enable-background="new"%3E%3Cpath fill="%23FF9736" d="M23.9 56.8c-4.2-.8-7.7 2.5-7.7 7.5s3.4 9.7 7.7 10.6c4.2.8 7.7-2.5 7.7-7.5s-3.5-9.7-7.7-10.6"/%3E%3Cpath fill="%23D16500" d="M23.9 74.9c-4.2-.8-7.7-5.6-7.7-10.6s3.5-8.4 7.7-7.5c4.2.8 7.7 5.6 7.7 10.6s-3.5 8.4-7.7 7.5m0-20c-5.1-1-9.3 3.1-9.3 9.1s4.2 11.8 9.3 12.8c5.1 1 9.3-3.1 9.4-9.1-.1-6-4.2-11.8-9.4-12.8"/%3E%3C/g%3E%3C/svg%3E
') no-repeat center center;
}
%portal-capsule-graphic {
background: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 146.1 153.8"%3E%3Cpath fill="%23FFCC01" stroke="%23FFD942" stroke-width="2" stroke-linejoin="round" stroke-miterlimit="1.414" d="M94.1 1.6c-2.2-.7-4.6-.8-7.2-.3l-67 13C9.5 16.3 1 28.4 1 41.3v82.8c0 9.8 4.8 17.2 11.7 19.3l27.8 8.7c-6.9-2.2-11.7-9.6-11.7-19.3l.1-82.8c0-12.9 8.5-25 18.9-27l67-13c2.5-.5 5-.3 7.2.3L94.1 1.6z"/%3E%3Cpath fill="%23E3B601" stroke="%23FFD942" stroke-width="2" stroke-linejoin="round" stroke-miterlimit="1.414" d="M114.8 10c10.4-2 18.9 6.8 18.9 19.7l-.1 82.8c0 12.9-8.5 25-18.9 27l-67 13c-10.4 2-18.9-6.8-18.9-19.7l.1-82.8c0-12.9 8.5-25 18.9-27l67-13z"/%3E%3Cpath fill-rule="evenodd" clip-rule="evenodd" fill="%23495559" stroke="%2358656B" stroke-width="2" stroke-miterlimit="10" d="M131.8 69.8c7.7 2 13.3 10.1 13.2 20.9 0 13.8-9.1 26.7-20.2 28.9-2.6.5-5.1.4-7.4-.3l-42.7-11c-7.8-2-13.3-10.1-13.3-20.9 0-13.8 9.1-26.7 20.2-28.9 2.6-.5 5.1-.4 7.4.3l42.6 10.9h.1l.1.1z"/%3E%3Cpath fill-rule="evenodd" clip-rule="evenodd" fill="%23373F43" stroke="%2358656B" stroke-width="2" stroke-miterlimit="10" d="M124.9 104.3c4.3-.8 7.8-5.8 7.8-11.2 0-5.3-3.5-9-7.8-8.1-4.3.8-7.8 5.8-7.8 11.2 0 5.3 3.5 8.9 7.8 8.1zm-.1 15.3c11.2-2.2 20.2-15.1 20.2-28.9 0-13.8-9-23.2-20.2-21-11.2 2.2-20.2 15.1-20.2 28.9.1 13.8 9.1 23.2 20.2 21z"/%3E%3Cpath fill-rule="evenodd" clip-rule="evenodd" fill="%236F7E87" d="M124.9 103.6c4-.8 7.3-5.4 7.3-10.4s-3.2-8.3-7.3-7.6c-4 .8-7.3 5.4-7.3 10.4s3.2 8.4 7.3 7.6z"/%3E%3Cpath fill="%23FFD942" d="M15.3 51.5c-4-.8-7.2 2.4-7.2 7s3.2 9.1 7.2 9.9 7.2-2.4 7.2-7c0-4.7-3.2-9.1-7.2-9.9"/%3E%3Cpath fill="%23FFD942" stroke="%23E3B601" stroke-width="2" stroke-miterlimit="10" d="M15.3 68.4c-4-.8-7.2-5.2-7.2-9.9s3.2-7.8 7.2-7c4 .8 7.2 5.2 7.2 9.9 0 4.6-3.2 7.8-7.2 7"/%3E%3C/svg%3E') no-repeat center center;
}
%memory-capsule-graphic {
background: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 536.4 208.4"%3E%3Cg stroke="%2347FA41" stroke-width="2" stroke-linejoin="round" stroke-miterlimit="1.414"%3E%3Cpath fill="%2316BF0D" d="M248.5 207l263.7-54c13.4-2.8 23.2-18.4 23.2-39.8v-4.3c0-26.4-14.7-51.5-33-56.1l-204.5-51c-3.5-.9-6.8-.9-9.9-.3l-263.4 54C11 57.9 1 73.7 1 95.3v4.3c0 26.4 14.7 51.5 33 56l204.5 51c3.5 1 6.9 1 10 .4z"/%3E%3Cpath fill="%2319DB13" d="M238.7 106.7c18.3 4.6 33 29.7 33 56.1v4.3c0 26.4-14.9 44.1-33.2 39.6L34 155.7c-18.3-4.6-33-29.6-33-56v-4.3C1 69 15.9 51.3 34.1 55.8l204.6 50.9z"/%3E%3C/g%3E%3Cg enable-background="new"%3E%3Cpath fill="%2347FA41" d="M35.9 99.2c-4.2-.8-7.7 2.5-7.7 7.5s3.4 9.7 7.7 10.6c4.2.8 7.7-2.5 7.7-7.5s-3.5-9.8-7.7-10.6"/%3E%3Cpath fill="%2316BF0D" d="M35.9 117.3c-4.2-.8-7.7-5.6-7.7-10.6s3.5-8.4 7.7-7.5c4.2.8 7.7 5.6 7.7 10.6s-3.5 8.3-7.7 7.5m0-20c-5.1-1-9.3 3.1-9.3 9.1s4.2 11.8 9.3 12.8 9.3-3.1 9.3-9.1c0-6.1-4.2-11.8-9.3-12.8"/%3E%3C/g%3E%3C/svg%3E
') no-repeat center center;
}
%io-capsule-graphic {
background: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 536.5 219.4"%3E%3Cg stroke="%234ABFFF" stroke-width="2" stroke-miterlimit="10"%3E%3Cpath fill="%23288EC7" d="M526.5 64.2l-252.6-63c-.9-.2-1.9-.3-2.7-.1L7.5 55.1c-3.7.7-6.4 5-6.4 10.9L1 139.9c0 7.2 4 14 9 15.3l252.6 63c.9.2 1.9.2 2.7.1.3-.1.3-.1 0 0l263.7-54c3.7-.7 6.3-5 6.3-10.9l.1-73.9c.1-7.2-3.9-14.1-8.9-15.3zM9.1 55.1h-.6c.2-.1.4-.1.6 0zm-.8-.1c-.3 0-.5 0-.7.1.2 0 .4 0 .7-.1zm1 .1c.3 0 .5.1.8.1-.2 0-.5-.1-.8-.1z"/%3E%3Cpath fill="%232FA6E8" d="M262.8 118.2c5 1.2 9 8.1 9 15.3l-.1 73.9c0 7.2-4.1 12-9 10.8L10 155.2c-5-1.2-9-8.1-9-15.3L1.1 66c0-7.2 4.1-12.1 9.1-10.8l252.6 63z"/%3E%3C/g%3E%3Cg enable-background="new"%3E%3Cpath fill="%234ABFFF" d="M35.9 99c-4.2-.8-7.7 2.5-7.7 7.5s3.4 9.7 7.7 10.6c4.2.8 7.7-2.5 7.7-7.5 0-5.1-3.5-9.8-7.7-10.6"/%3E%3Cpath fill="%23288EC7" d="M35.9 117c-4.2-.8-7.7-5.6-7.7-10.6s3.5-8.4 7.7-7.5c4.2.8 7.7 5.6 7.7 10.6s-3.5 8.4-7.7 7.5m0-20c-5.1-1-9.3 3.1-9.3 9.1s4.2 11.8 9.3 12.8c5.1 1 9.3-3.1 9.4-9.1-.1-6-4.3-11.7-9.4-12.8"/%3E%3C/g%3E%3C/svg%3E') no-repeat center center;
}
%private-network-middle {
background: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="340" height="50" viewBox="0 0 340 50"%3E%3Cpath fill="%23373F43" d="M2 0h336v50H2z"/%3E%3Cpath opacity=".1" fill="%23AD41FF" d="M2 0h336v50H2z"/%3E%3Cpath fill="%239A16FF" d="M0 0h5v50H0zM335 0h5v50h-5z"/%3E%3C/svg%3E') repeat-y center center;
}
%private-network-edge {
background: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="340" height="58" viewBox="0 0 340 58"%3E%3Cpath fill="%23373F43" d="M2 48.7c0-8.9 7.1-15 19.9-18.2L142.3 4.6c7.8-1.9 18.1-4 28.8-4 5.9 0 14.7 1.3 22.5 3l124.8 28.8c16.8 3.5 19.5 11.9 19.5 18.1V58H2v-9.3z"/%3E%3Cpath opacity=".1" fill="%23AD41FF" d="M2 48.7c0-8.9 7.1-15 19.9-18.2L142.3 4.6c7.8-1.9 18.1-4 28.8-4 5.9 0 14.7 1.3 22.5 3l124.8 28.8c16.8 3.5 19.5 11.9 19.5 18.1V58H2v-9.3z"/%3E%3Cpath fill="%239A16FF" d="M335 52c0-3 .4-12.3-17.3-16 0 0-124.3-31.7-146.6-31.7S22.8 34.1 22.8 34.1C10.8 37.1 5 42.5 5 50.3V58H0v-7.7C0 43.5 3.8 34.4 21.5 30 21.5 30 148.7.1 171.2.1s147.7 31.8 147.7 31.8c14 2.8 21.1 9.6 21.1 20.1v6h-5v-6z"/%3E%3C/svg%3E') no-repeat center center;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment