Rocket.Chat Documentation
Welcome to Rocket.Chat! Get familiar with Rocket.Chat and explore our features:
diff --git a/_sass/footer.scss b/_sass/footer.scss
new file mode 100644
index 0000000000..b358e8aa26
--- /dev/null
+++ b/_sass/footer.scss
@@ -0,0 +1,302 @@
+.app-footer {
+ .container {
+ padding-bottom: 4em;
+
+ @media screen and (min-width: $tablet) {
+ padding-top: 5em;
+ padding-bottom: 5em;
+ @include flexbox();
+ @include justify-content(space-between);
+ }
+ }
+
+ &:before {
+ content: "";
+ display: block;
+ width: 100%;
+ height: 1.5px;
+ }
+ }
+
+ .app-footer_wrap-logo {
+ width: 50%;
+ margin-top: 2em;
+
+ @media screen and (min-width: $tablet) {
+ margin-top: 0;
+ max-width: 13em;
+ @include order(-1);
+ }
+
+ // only IE
+ @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
+ margin-right: 3em;
+ }
+ }
+
+ .app-footer_logo {
+ display: none;
+
+ @media screen and (min-width: $tablet) {
+ @include flexbox();
+ margin-bottom: 3em;
+ @include flex(1);
+ }
+
+ img {
+ width: 7.5em;
+ }
+ }
+
+ .app-footer_github {
+ display: inline-block;
+ border-radius: 2px;
+ width: 48%;
+ text-align: center;
+ font-size: 0.8em;
+ line-height: 3.4;
+ transition: all 0.3s ease;
+
+ img {
+ display: inline-block;
+ position: relative;
+ top: 0.2em;
+ margin-right: 0.5em;
+ transition: all 0.3s ease;
+ }
+
+ &:hover {
+ img {
+ opacity: 0.7;
+ }
+ }
+ }
+
+ .app-footer_github-link {
+ display: inline-flex;
+ width: 100%;
+ margin-top: 1em;
+ transition: all 0.3s ease;
+
+ img {
+ display: inline-block;
+ position: relative;
+ top: 0.17em;
+ margin-right: 0.5em;
+ transition: all 0.3s ease;
+ }
+
+ &:hover {
+ img {
+ opacity: 0.7;
+ }
+ }
+ }
+
+ .app-footer_col {
+ // only IE
+ @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
+ width: 20%;
+ }
+
+ &:after {
+ content: "";
+ display: block;
+ width: 100%;
+ height: 1.5px;
+
+ @media screen and (min-width: $tablet) {
+ display: none;
+ }
+ }
+ }
+
+ .app-footer_pre-menu {
+ font-size: 0.8em;
+ font-weight: bold;
+ line-height: 1;
+ letter-spacing: 0.8px;
+ text-transform: uppercase;
+ display: block;
+ padding: 1.7em 0;
+ position: relative;
+
+ &:after {
+ content: "+";
+ display: block;
+ color: $brand;
+ font-size: 1.7em;
+ font-weight: 300;
+ line-height: 0.4;
+ position: absolute;
+ right: 1em;
+ top: 0.95em;
+ height: 0.6em;
+ width: 0.6em;
+ transition: all 0.3s ease;
+ transform-origin: 50%;
+ }
+
+ @media screen and (min-width: $tablet) {
+ margin-bottom: 1.3em;
+ padding: 0;
+ line-height: 1.6;
+
+ &:after {
+ display: none;
+ }
+ }
+ }
+
+ .app-footer_nav {
+ max-height: 0;
+ transition: all 0.3s ease;
+ overflow: hidden;
+ padding-left: 1.5em;
+
+ @media screen and (min-width: $tablet) {
+ padding-left: 0;
+ max-height: 100%;
+ }
+
+ a {
+ margin-bottom: 0.5em;
+ line-height: 2;
+ font-weight: 500;
+ transition: all 0.3s ease;
+
+ @media screen and (min-width: $tablet) {
+ line-height: 1.7;
+ }
+ }
+
+ @media screen and (min-width: $tablet) {
+ + .app-footer_nav {
+ margin-top: 2em;
+ }
+ }
+ }
+
+ .app-footer_col input {
+ display: none;
+ }
+
+ input:checked + .app-footer_pre-menu + .app-footer_nav,
+ input:checked + .app-footer_pre-menu + .app-footer_nav + .app-footer_nav {
+ max-height: 50vh;
+ padding-top: 0.5em;
+ padding-bottom: 1.5em;
+ }
+
+ input:checked + .app-footer_pre-menu:after {
+ transform: rotate(135deg);
+ top: 0.9em;
+ }
+
+ .app-footer_install {
+ @include flexbox();
+ transition: color 0.3s ease;
+
+ span {
+ display: inline-block;
+ width: 2em;
+ }
+
+ img {
+ margin-top: 0.2em;
+ margin-right: 0.5em;
+ }
+ }
+
+ // Dark version
+ .app-footer--black {
+ background: $space;
+
+ .app-footer_col:after,
+ &:before {
+ background-image: linear-gradient(
+ -90deg,
+ #030c1a 0%,
+ #121f33 28%,
+ #121f33 74%,
+ #030c1a 100%
+ );
+ }
+
+ .app-footer_github-link {
+ color: #fff;
+
+ &:hover {
+ color: $grey-light;
+ }
+ }
+
+ .app-footer_github {
+ color: #fff;
+ background: $space-grey;
+
+ &:hover {
+ color: $grey-light;
+ }
+ }
+
+ .app-footer_pre-menu {
+ color: $grey-light;
+ }
+
+ .app-footer_nav a {
+ color: #fff;
+
+ &:hover {
+ color: $grey-light;
+ }
+ }
+ }
+
+ // Light version
+ .app-footer--light {
+ .app-footer_col:after,
+ &:before {
+ background-image: linear-gradient(
+ -90deg,
+ #ffffff 0%,
+ #e7ebf2 26%,
+ #e7ebf2 74%,
+ #ffffff 100%
+ );
+ }
+
+ .app-footer_github-link {
+ color: $space;
+
+ &:hover {
+ color: $grey-dark;
+ }
+ }
+
+ .app-footer_github {
+ color: $space;
+ background: $grey-smoke;
+
+ &:hover {
+ color: $grey-dark;
+ }
+ }
+
+ .app-footer_pre-menu {
+ color: $grey-light;
+ }
+
+ .app-footer_nav a {
+ color: $space;
+
+ &:hover {
+ color: $grey-dark;
+ }
+ }
+ }
+
+ .app-footer_partner {
+ margin: 3em auto;
+ width: 6em;
+ }
\ No newline at end of file
diff --git a/_sass/grid.scss b/_sass/grid.scss
new file mode 100644
index 0000000000..af359c634b
--- /dev/null
+++ b/_sass/grid.scss
@@ -0,0 +1,215 @@
+.container {
+ max-width: $container;
+ margin-left: auto;
+ margin-right: auto;
+ padding-left: $gutter;
+ padding-right: $gutter;
+
+ @media screen and (min-width: $tablet) {
+ padding-left: $gutter-larger;
+ padding-right: $gutter-larger;
+ }
+ }
+
+ .container--full {
+ margin-left: auto;
+ margin-right: auto;
+ padding-left: $gutter;
+ padding-right: $gutter;
+
+ @media screen and (min-width: $tablet) {
+ padding-left: $gutter-larger;
+ padding-right: $gutter-larger;
+ }
+ }
+
+ .flex-grid {
+ display: block;
+ margin-left: -$gutter / 2;
+ margin-right: -$gutter / 2;
+
+ @media (min-width: $tablet) {
+ @include flexbox();
+ margin-left: -$gutter-larger / 2;
+ margin-right: -$gutter-larger / 2;
+ }
+
+ &.grid--center {
+ @include align-items(center);
+ }
+
+ &.grid--justify-around {
+ @include justify-content(space-around);
+ }
+
+ &.grid--justify-end {
+ @include justify-content(flex-end);
+ }
+
+ &.grid--reverse {
+ @media screen and (min-width: $tablet) {
+ @include flex-direction(row-reverse);
+ }
+ }
+
+ &.grid--wrap {
+ @include flex-wrap(wrap);
+ }
+
+ @mixin column {
+ padding-left: $gutter / 2;
+ padding-right: $gutter / 2;
+ margin-bottom: $gutter;
+ width: 100%;
+
+ @media (min-width: $tablet) {
+ @include flex(1);
+ margin-bottom: $gutter-larger;
+ padding-left: $gutter-larger / 2;
+ padding-right: $gutter-larger / 2;
+ }
+
+ &.no-gutter {
+ margin-bottom: 0;
+ }
+
+ &.mini-gutter {
+ @media (min-width: $tablet) {
+ @include flex(1);
+ margin-bottom: $gutter;
+ padding-left: $gutter / 2;
+ padding-right: $gutter / 2;
+ }
+ }
+ }
+
+ > .col--free {
+ @include column;
+
+ @media (min-width: $tablet) {
+ flex: 0;
+ }
+ }
+
+ > .col {
+ @include column;
+ }
+
+ > .col--haft {
+ @include column;
+
+ @media (min-width: $tablet) {
+ max-width: 50%;
+ @include flex-basis(50%);
+ }
+ }
+
+ > .col--third {
+ @include column;
+
+ @media (min-width: $tablet) {
+ max-width: 33%;
+ @include flex-basis(33%);
+ }
+ }
+
+ > .col--fourth {
+ @include column;
+
+ @media (min-width: $tablet) {
+ max-width: 25%;
+ @include flex-basis(25%);
+ }
+ }
+
+ > .col--fifth {
+ @include column;
+
+ @media (min-width: $tablet) {
+ max-width: 20%;
+ @include flex-basis(20%);
+ }
+ }
+
+ > .col--three-quarter {
+ @include column;
+
+ @media (min-width: $tablet) {
+ max-width: 75%;
+ @include flex-basis(75%);
+ }
+ }
+ }
+
+ .flex-grid--nobreak {
+ @include flexbox();
+ margin-left: -$gutter / 2;
+ margin-right: -$gutter / 2;
+
+ @media (min-width: $tablet) {
+ margin-left: -$gutter-larger / 2;
+ margin-right: -$gutter-larger / 2;
+ }
+
+ @mixin column {
+ @include flex(1);
+ padding-left: $gutter / 2;
+ padding-right: $gutter / 2;
+ margin-bottom: $gutter;
+ width: 100%;
+
+ @media (min-width: $tablet) {
+ margin-bottom: $gutter-larger;
+ padding-left: $gutter-larger / 2;
+ padding-right: $gutter-larger / 2;
+ }
+
+ &.mini-gutter {
+ @media (min-width: $tablet) {
+ @include flex(1);
+ margin-bottom: $gutter;
+ padding-left: $gutter / 2;
+ padding-right: $gutter / 2;
+ }
+ }
+
+ &.no-gutter {
+ margin-bottom: 0;
+ }
+ }
+
+ > .col--free {
+ @include column;
+
+ flex: 0;
+ }
+
+ > .col {
+ @include column;
+ }
+
+ > .col--haft {
+ @include column;
+ max-width: 50%;
+ @include flex-basis(50%);
+ }
+
+ > .col--third {
+ @include column;
+ max-width: 33%;
+ @include flex-basis(33%);
+ }
+
+ > .col--fourth {
+ @include column;
+ max-width: 25%;
+ @include flex-basis(25%);
+ }
+
+ > .col--fifth {
+ @include column;
+
+ max-width: 20%;
+ @include flex-basis(20%);
+ }
+ }
diff --git a/_sass/header.scss b/_sass/header.scss
new file mode 100644
index 0000000000..e9c615a823
--- /dev/null
+++ b/_sass/header.scss
@@ -0,0 +1,284 @@
+.app-header {
+ height: 4.3em;
+ }
+
+ .app-header_wrap {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ transition: all 0.4s ease;
+ z-index: 9999;
+ background-color: $space;
+
+ &.headroom--unpinned {
+ transform: translateY(-100%);
+ }
+
+ .container {
+ @include flexbox();
+ @include justify-content(space-between);
+ @include align-items(center);
+ }
+
+ &:after {
+ content: "";
+ display: block;
+ width: 100%;
+ height: 1.5px;
+ }
+ }
+
+ .app-header_logo {
+ @include flexbox();
+ padding: 1.5em 0;
+
+ @media screen and (min-width: 60em) {
+ @include flex(1);
+ }
+
+ img {
+ width: 7.5em;
+ transition: all .3s ease;
+ }
+
+ .dark {
+ position: absolute;
+ opacity: 0;
+ z-index: 2;
+ }
+ }
+
+ .app-header_menu {
+ position: absolute;
+ top: 4.5em;
+ left: 0;
+ right: 0;
+ z-index: 9999;
+ height: 0;
+ overflow: hidden;
+ padding: 0 3em 0;
+ transition: all 0.3s ease;
+
+ @media screen and (min-width: $tablet) {
+ @include flexbox();
+ @include justify-content(space-between);
+ @include flex(3);
+ position: static;
+ padding: 0 !important;
+ height: auto !important;
+ }
+
+ li {
+ color: #fff;
+ margin-bottom: 1em;
+ display: block;
+
+ @media screen and (min-width: $tablet) {
+ margin-left: 2em;
+ margin-bottom: 0;
+ display: inline-block;
+ }
+
+ // only IE
+ @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
+ margin-top: 1.2em;
+ }
+ }
+
+ a {
+ display: inline-flex;
+ transition: color 0.3s ease;
+ }
+
+ .app-header_install {
+ margin-top: 1em;
+ margin-bottom: 1em;
+ padding-top: 1em;
+ @include flexbox();
+ transition: color 0.3s ease;
+
+ @media screen and (min-width: $tablet) {
+ margin: 0;
+ padding: 0;
+ }
+
+ img {
+ margin-top: 0.02em;
+ margin-right: 0.5em;
+ }
+
+ // only IE
+ @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
+ float: right;
+ margin-top: 1.2em;
+ margin-left: 4em;
+
+ img,
+ span {
+ display: inline-block;
+ }
+ }
+ }
+ }
+
+ .app-header_handle-menu {
+ display: block;
+ margin-top: 3px;
+
+ @media screen and (min-width: $tablet) {
+ display: none;
+ }
+
+ &:before,
+ &:after,
+ span {
+ content: "";
+ display: block;
+ height: 2px;
+ width: 1.3em;
+ margin-bottom: 5px;
+ transition: all 0.3s ease;
+ position: relative;
+ }
+ }
+
+ #handle-menu {
+ display: none;
+ }
+
+ #handle-menu:checked ~ .app-header_menu {
+ height: 100vh;
+ padding: 1em 3em 0;
+ }
+
+ #handle-menu:checked ~ .app-header_handle-menu {
+ &:before {
+ opacity: 0;
+ transition: all 0.3s ease;
+ }
+ span {
+ transform: rotate(45deg);
+ transform: transform-origin(50%);
+ }
+ &:after {
+ transform: rotate(-45deg);
+ transform: transform-origin(50%);
+ top: -7px;
+ }
+ }
+
+ // Dark version
+ .app-header--black {
+ .headroom--not-top {
+ background: $space;
+
+ .app-header_wrap,
+ .app-header_menu {
+ background: $space;
+ }
+ }
+
+ .app-header_menu {
+ @media screen and (max-width: $tablet) {
+ background: $space;
+ }
+ }
+
+ .app-header_wrap:after {
+ background-image: linear-gradient(
+ -90deg,
+ #030c1a 0%,
+ #121f33 28%,
+ #121f33 74%,
+ #030c1a 100%
+ );
+ }
+
+ .app-header_install,
+ .app-header_menu li {
+ color: #fff;
+
+ &:hover {
+ color: $grey-light;
+ }
+ }
+
+ .app-header_install {
+ border-top: 1px solid #121f33;
+
+ @media screen and (min-width: $tablet) {
+ border: 0;
+ }
+ }
+
+ .current-page {
+ color: $grey;
+ }
+
+ .app-header_handle-menu {
+ &:before,
+ &:after,
+ span {
+ background: #fff;
+ }
+ }
+ }
+
+ // Light version
+ .app-header--light {
+ background: #fff;
+
+ .app-header_wrap,
+ .app-header_menu {
+ background: #fff;
+ }
+
+ .app-header_logo {
+ margin: 0;
+ .dark {
+ opacity: 1;
+ }
+ }
+
+ .app-header_wrap:after {
+ background-image: linear-gradient(
+ -90deg,
+ #ffffff 0%,
+ #e7ebf2 26%,
+ #e7ebf2 74%,
+ #ffffff 100%
+ );
+ }
+
+ .app-header_install,
+ .app-header_menu li {
+ color: $space;
+
+ &:hover {
+ color: $grey-dark;
+ }
+ }
+
+ .app-header_install {
+ border-top: 1px solid #e7ebf2;
+
+ @media screen and (min-width: $tablet) {
+ border: 0;
+ }
+ }
+
+ .current-page {
+ color: $grey;
+ }
+
+ .app-header_handle-menu {
+ &:before,
+ &:after,
+ span {
+ background: $space;
+ }
+ }
+ }
+
+
diff --git a/_sass/layout.scss b/_sass/layout.scss
index 13e5de78a9..7251687aac 100644
--- a/_sass/layout.scss
+++ b/_sass/layout.scss
@@ -8,23 +8,12 @@
// typography
body, label, input, textarea, select {
- font-family: $ui-font-family;
+ font-family: $font-family;
font-size: $font-size;
line-height: $line-height;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
}
-
-a, a:visited {
- color: $color-primary;
- text-decoration: none;
-}
-
-a:hover {
- color: $color-secondary;
- text-decoration: underline;
-}
-
// structure
.clear {
@@ -38,20 +27,69 @@ body {
margin: 0;
}
-h1, h2, h3, h4, h5, h6 {
- margin: 0 0 1em;
- font-style: normal;
- font-weight: 500;
- letter-spacing: -0.02em;
- line-height: 1.2em;
- margin: 0 0 1rem 0;
- display: flex;
- align-items: center;
+.wrapper{
+ h1,
+ h2,
+ h3,
+ h4,
+ h5 {
+ line-height: 1.28571429em;
+ margin: calc(2rem - 0.14285714em ) 0em 1rem;
+ font-weight: bold;
+ padding: 0em;
+ display: flex;
+ }
+ h1 {
+ min-height: 1rem;
+ font-size: 2rem;
+ }
+ h2 {
+ font-size: 1.71428571rem;
+ }
+ h3 {
+ font-size: 1.28571429rem;
+ }
+ h4 {
+ font-size: 1.07142857rem;
+ }
+ h5 {
+ font-size: 1rem;
+ }
+ h1:first-child,
+ h2:first-child,
+ h3:first-child,
+ h4:first-child,
+ h5:first-child {
+ margin-top: 0em;
+ }
+ h1:last-child,
+ h2:last-child,
+ h3:last-child,
+ h4:last-child,
+ h5:last-child {
+ margin-bottom: 0em;
+ }
- a, a:visited {
+ p {
+ margin: 0em 0em 1em;
+ line-height: 1.4285em;
+ }
+ p:first-child {
+ margin-top: 0em;
+ }
+ p:last-child {
+ margin-bottom: 0em;
+ }
+
+ a {
+ color: #4183C4;
+ text-decoration: none;
+ }
+ a:hover {
+ color: #1e70bf;
text-decoration: none;
- color: $color-dark;
}
+
}
hr {
@@ -84,12 +122,7 @@ a.button, input[type=submit], input[type=button] {
}
}
-ul, ol {
- padding: 0 0 0 1.5em;
-}
-
code, pre{
- font-family: $code-font-family;
color: $color-light;
max-width: max-content;
overflow: auto;
@@ -147,61 +180,61 @@ blockquote {
}
}
-header {
- padding: 1em 0;
- background-color: $color-dark;
- color: #fff;
- font-weight: 600;
- text-transform: uppercase;
- top: 0;
- width: 100%;
- z-index: 10;
-
- .wrapper {
- line-height: 28px;
- height: 28px;
- display: flex;
- justify-content: space-between;
- align-items: center;
- }
-
- .logo {
- display: inline-block;
- height: 28px;
-
- img {
- display: inline-block;
- color: #fff;
- height: 100%;
- }
- }
- .logo.mobile {
- display: none;
- }
-
- ul {
- margin: 0;
- padding: 0;
- list-style: none;
-
- li {
- display: inline-block;
- padding-right: 14px;
-
- &:last-child {
- padding-right: 0;
- }
- }
- }
-
- a, a:visited {
- color: #fff;
- }
-
- a:hover, a.active {
- color: $color-light;
- }
-}
+// header {
+// padding: 1em 0;
+// background-color: $color-dark;
+// color: #fff;
+// font-weight: 600;
+// text-transform: uppercase;
+// top: 0;
+// width: 100%;
+// z-index: 10;
+
+// .wrapper {
+// line-height: 28px;
+// height: 28px;
+// display: flex;
+// justify-content: space-between;
+// align-items: center;
+// }
+
+// .logo {
+// display: inline-block;
+// height: 28px;
+
+// img {
+// display: inline-block;
+// color: #fff;
+// height: 100%;
+// }
+// }
+// .logo.mobile {
+// display: none;
+// }
+
+// ul {
+// margin: 0;
+// padding: 0;
+// list-style: none;
+
+// li {
+// display: inline-block;
+// padding-right: 14px;
+
+// &:last-child {
+// padding-right: 0;
+// }
+// }
+// }
+
+// a, a:visited {
+// color: #fff;
+// }
+
+// a:hover, a.active {
+// color: $color-light;
+// }
+// }
.edit-github{
display: flex;
@@ -315,7 +348,7 @@ header {
main {
background-color: #fff;
margin: 15px auto 0;
- padding: 20px 0;
+ padding: 20px 0;
min-width: 100vw;
}
@@ -364,46 +397,13 @@ main {
min-height: 100vh;
}
-footer {
- padding: 4em 0 3em;
- background-color: $color-dark;
- color: #fff;
-
- .wrapper{
- display: flex;
-
- max-width: 1100px;
- margin: 0 auto;
- padding: 0 1em;
- }
-
- ul {
- width: 25%;
- float: left;
- padding: 0;
- list-style: none;
-
- li {
- line-height: 2;
- }
- }
-
- a, a:visited {
- color: #fff;
- }
-
- a:hover {
- color: #fff;
- }
-}
-
.burger {
display: none;
}
-.header-items {
- display: flex;
-}
+// .header-items {
+// display: flex;
+// }
.search-button {
display: none;
@@ -429,13 +429,12 @@ footer {
}
.search-wrapper{
- background-color: #1f2329;
+ background-color: $space;
color: white;
padding: 9em 0;
text-align: center;
}
-
.home-header {
display: flex;
flex-direction: column;
@@ -454,6 +453,8 @@ footer {
.title{
margin: 0;
display: block;
+ font-weight: 600;
+ font-size: 2.5em;
&.card {
font-size: 1.15em;
@@ -495,13 +496,6 @@ footer {
// mobile
@media all and (max-width: 1000px) {
- footer {
- ul {
- width: 50%;
- padding-left: 0;
- }
- }
-
.toc {
max-height: unset;
max-width: fit-content;
@@ -555,16 +549,16 @@ footer {
}
- header {
- .logo {
- display: none;
- }
- .logo.mobile {
- height: 40px;
- display: block;
- }
+// header {
+// .logo {
+// display: none;
+// }
+// .logo.mobile {
+// height: 40px;
+// display: block;
+// }
- }
+// }
.wrapper {
&.main{
padding: 0px;
diff --git a/_sass/mixins.scss b/_sass/mixins.scss
new file mode 100644
index 0000000000..1546cc6df1
--- /dev/null
+++ b/_sass/mixins.scss
@@ -0,0 +1,140 @@
+@mixin transform-origin($origin) {
+ moz-transform-origin: $origin;
+ -o-transform-origin: $origin;
+ -ms-transform-origin: $origin;
+ -webkit-transform-origin: $origin;
+ transform-origin: $origin;
+ }
+
+ @mixin keyframes($name) {
+ @-webkit-keyframes #{$name} {
+ @content;
+ }
+ @-moz-keyframes #{$name} {
+ @content;
+ }
+ @-ms-keyframes #{$name} {
+ @content;
+ }
+ @keyframes #{$name} {
+ @content;
+ }
+ }
+
+ @mixin transform($transforms) {
+ -moz-transform: $transforms;
+ -o-transform: $transforms;
+ -ms-transform: $transforms;
+ -webkit-transform: $transforms;
+ transform: $transforms;
+ }
+
+ @mixin flexbox() {
+ display: -webkit-box;
+ display: -moz-box;
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ }
+
+ @mixin flex($values) {
+ -webkit-box-flex: $values;
+ -moz-box-flex: $values;
+ -webkit-flex: $values;
+ -ms-flex: $values;
+ flex: $values;
+ }
+
+ @mixin flex-direction($direction) {
+ -webkit-flex-direction: $direction;
+ -moz-flex-direction: $direction;
+ -ms-flex-direction: $direction;
+ flex-direction: $direction;
+ }
+
+ @mixin flex-wrap($wrap) {
+ -webkit-flex-wrap: $wrap;
+ -moz-flex-wrap: $wrap;
+ -ms-flex-wrap: $wrap;
+ flex-wrap: $wrap;
+ }
+
+ @mixin flex-flow($flow) {
+ -webkit-flex-flow: $flow;
+ -moz-flex-flow: $flow;
+ -ms-flex-flow: $flow;
+ flex-flow: $flow;
+ }
+
+ @mixin order($val) {
+ -webkit-box-ordinal-group: $val;
+ -moz-box-ordinal-group: $val;
+ -ms-flex-order: $val;
+ -webkit-order: $val;
+ order: $val;
+ }
+
+ @mixin flex-grow($grow) {
+ -webkit-flex-grow: $grow;
+ -moz-flex-grow: $grow;
+ -ms-flex-grow: $grow;
+ flex-grow: $grow;
+ }
+
+ @mixin flex-shrink($shrink) {
+ -webkit-flex-shrink: $shrink;
+ -moz-flex-shrink: $shrink;
+ -ms-flex-shrink: $shrink;
+ flex-shrink: $shrink;
+ }
+
+ @mixin flex-basis($width) {
+ -webkit-flex-basis: $width;
+ -moz-flex-basis: $width;
+ -ms-flex-basis: $width;
+ flex-basis: $width;
+ }
+
+ @mixin justify-content($justify) {
+ -webkit-justify-content: $justify;
+ -moz-justify-content: $justify;
+ -ms-justify-content: $justify;
+ justify-content: $justify;
+ -ms-flex-pack: center;
+ }
+
+ @mixin align-content($align) {
+ -webkit-align-content: $align;
+ -moz-align-content: $align;
+ -ms-align-content: $align;
+ align-content: $align;
+ }
+
+ @mixin align-items($align) {
+ -webkit-align-items: $align;
+ -moz-align-items: $align;
+ -ms-align-items: $align;
+ align-items: $align;
+ }
+
+ @mixin align-self($align) {
+ -webkit-align-self: $align;
+ -moz-align-self: $align;
+ -ms-align-self: $align;
+ align-self: $align;
+ }
+
+ @mixin placeholder($color) {
+ &::-webkit-input-placeholder {
+ color: $color;
+ }
+ &::-moz-placeholder {
+ color: $color;
+ }
+ &:-ms-input-placeholder {
+ color: $color;
+ }
+ &:-moz-placeholder {
+ color: $color;
+ }
+ }
diff --git a/_sass/reset.scss b/_sass/reset.scss
new file mode 100644
index 0000000000..d345377abd
--- /dev/null
+++ b/_sass/reset.scss
@@ -0,0 +1,172 @@
+/**
+ * 1. Reset something everytime is a suck
+ * 2. Inherit from default setting
+ */
+
+ * {
+ margin: 0; /* 1 */
+ padding: 0; /* 1 */
+ background-repeat: no-repeat; /* 1 */
+ box-sizing: inherit; /* 2 */
+ border: 0;
+}
+
+/**
+ * 1. Prevent certain mobile browsers from automatically zooming fonts.
+ * 2. Border box sizing
+ * 3. Smooth scroll
+ */
+
+html {
+ -ms-text-size-adjust: 100%; /* 1 */
+ -webkit-text-size-adjust: 100%; /* 1 */
+ box-sizing: border-box; /* 2 */
+ scroll-behavior: smooth; /* 3 */
+}
+
+/**
+ * 1. Set default font styles
+ * 2. Beautiful fonts again
+ * 3. Prevent vertical scroll
+ */
+
+body {
+ font: 16px/1.6 sans-serif; /* 1 */
+ -moz-osx-font-smoothing: grayscale; /* 2 */
+ -webkit-font-smoothing: antialiased; /* 2 */
+ overflow-x: hidden; /* 3 */
+}
+
+/**
+ * All Headings looks the same
+ */
+
+h1,
+h2,
+h3,
+h4,
+h5 {
+ font-size: 1em;
+ font-weight: normal;
+}
+
+/**
+ * 1. Reset link styles
+ * 2. Links are more dynamic now
+ * 3. Remove the gray background on active links in IE 10.
+ */
+
+a {
+ text-decoration: none; /* 1 */
+ color: inherit; /* 1 */
+ display: inline-block; /* 2 */
+ background-color: transparent; /* 3 */
+}
+
+/**
+ * No bullets anymore
+ */
+
+ol,
+ul {
+ list-style: none;
+}
+
+/**
+ * Remove all default styles and all elements looks the same
+ */
+
+button,
+input,
+optgroup,
+select,
+textarea {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ overflow: visible;
+ border: 0;
+ outline: 0;
+ font: inherit;
+ -webkit-font-smoothing: inherit;
+ letter-spacing: inherit;
+ background: none;
+ vertical-align: top;
+}
+
+/**
+ * Prevent chrome autofill style
+ */
+
+input:-webkit-autofill,
+input:-webkit-autofill:hover,
+input:-webkit-autofill:focus,
+input:-webkit-autofill:active {
+ -webkit-transition: 'color 9999s ease-out, background-color 9999s ease-out';
+ -webkit-transition-delay: 9999s;
+}
+
+/**
+ * You should define size for textarea
+ */
+
+textarea {
+ resize: none;
+}
+
+/**
+ * Pointer cursor for buttons
+ */
+
+input[type='button'],
+button {
+ cursor: pointer;
+}
+
+/**
+ * Pointer cursor for buttons
+ */
+
+button[disabled],
+html input[disabled] {
+ cursor: default;
+}
+
+/**
+ * 1. Remove space after each image
+ * 2. Ensure responsive images
+ * 3. Remove the border on images inside links in IE 10.
+ */
+
+img {
+ display: block; /* 1 */
+ max-width: 100%; /* 2 */
+ height: auto; /* 2 */
+ border-style: none; /* 3 */
+}
+
+/**
+ * If a SVG doesn't have fill, it'll give one
+ */
+
+svg {
+ fill: currentColor;
+}
+
+/**
+ * Collapse border spacing
+ */
+
+table {
+ border-spacing: 0;
+}
+
+::-moz-selection {
+ color: $grey-smoke;
+ background: $brand;
+}
+
+::selection {
+ color: $grey-smoke;
+ background: $brand;
+}
diff --git a/_sass/theme.scss b/_sass/theme.scss
new file mode 100644
index 0000000000..2b62716331
--- /dev/null
+++ b/_sass/theme.scss
@@ -0,0 +1,199 @@
+// Body
+body.dark {
+ background: $space;
+}
+
+body.light {
+ background: #fff;
+}
+
+// Type
+.theme_type--brand {
+ color: $brand;
+}
+
+.theme_type--dark {
+ color: #fff;
+}
+
+.theme_type--grey {
+ color: $grey-light;
+}
+
+.theme_type--kinda-white {
+ color: rgba(255, 255, 255, 0.7);
+}
+
+.theme_type--light {
+ color: $grey;
+}
+
+.theme_type--space {
+ color: $space;
+}
+
+// Box
+.theme_box--brand {
+ background-color: $brand;
+}
+
+.theme_box--space {
+ background-color: $space;
+}
+
+.theme_box--dark-strong {
+ background-color: $space-b;
+}
+
+.theme_box--dark {
+ background-color: $space-grey;
+}
+
+.theme_box--dark-medium {
+ background-color: $grey-dark;
+}
+
+.theme_box--light {
+ background-color: $grey-bg;
+}
+
+.theme_box--white {
+ background-color: #fff;
+}
+
+.code--light {
+ border: 1px solid $grey-smoke;
+}
+
+.code--dark {
+ border: 1px solid $grey-dark;
+ color: #fff;
+ background: $space-b;
+}
+
+// Forms
+
+// Selects
+.select--theme-light {
+ border: 1px solid $grey-smoke;
+
+ &:after {
+ border-top: 1.5px solid $space;
+ border-right: 1.5px solid $space;
+ }
+}
+
+.select--theme-dark {
+ border: 1.5px solid $grey-dark;
+ background-color: $space-b;
+
+ &:hover {
+ border-color: $grey;
+ }
+
+ &:after {
+ border-top: 1.5px solid #fff;
+ border-right: 1.5px solid #fff;
+ }
+
+ select {
+ color: #fff;
+ }
+}
+
+// Inputs
+.input--dark,
+.input-child--dark input {
+ color: #fff;
+ border: 1.5px solid $grey-dark;
+ background-color: $space-b;
+ @include placeholder($grey-light);
+
+ input {
+ @include placeholder($grey-light);
+ }
+
+ &[disabled],
+ &.disabled {
+ background: $grey-bg;
+ color: $grey-smoke-dark;
+ @include placeholder($grey-smoke-dark);
+ }
+
+ &:hover,
+ &:focus {
+ border-color: $grey;
+ }
+}
+
+.input-child--dark[data-prefix] {
+ &:before {
+ background: $space-grey;
+ color: #fff;
+ border-right: 1.5px solid $grey-dark;
+ }
+}
+
+// Table
+.table--dark {
+ td {
+ border: 1px solid $space-grey;
+ }
+
+ table {
+ background: $space;
+ color: $grey-light;
+ }
+
+ th {
+ background: $space-grey;
+ color: $grey-light;
+ }
+
+ strong {
+ color: #fff !important;
+ }
+}
+
+.table--light {
+ table {
+ background: #fff;
+ color: $grey;
+
+ &:first-child {
+ th {
+ border-left: 1px solid $grey-smoke;
+ }
+ }
+
+ &:last-child {
+ th {
+ border-right: 1px solid $grey-smoke;
+ }
+ }
+ }
+
+ td {
+ border: 1px solid $grey-smoke;
+ color: $grey;
+
+ p {
+ color: $space;
+ }
+ }
+
+ th {
+ background: $grey-bg;
+ color: $grey-dark;
+ border-left: 1px solid $grey-smoke;
+ border-right: 1px solid $grey-smoke;
+
+ @media screen and (min-width: $tablet) {
+ border: 0;
+ }
+ }
+
+ strong {
+ color: $space !important;
+ }
+}
diff --git a/_sass/typography.scss b/_sass/typography.scss
new file mode 100644
index 0000000000..c5337297a7
--- /dev/null
+++ b/_sass/typography.scss
@@ -0,0 +1,131 @@
+body,
+input,
+button,
+pre {
+ font-size: $font-size;
+ font-family: $font-family;
+ color: $grey;
+}
+
+.display--big {
+ line-height: 1.2;
+ font-size: 2em;
+ font-weight: 700;
+ letter-spacing: 0.5px;
+ color: $space;
+
+ @media screen and (min-width: $tablet) {
+ font-size: 2.75em;
+ }
+
+ margin-bottom: 0.4em;
+}
+
+.display {
+ font-size: 2em;
+ line-height: 1.3;
+ font-weight: 700;
+ letter-spacing: 0.5px;
+ color: $space;
+
+ margin-bottom: 0.5em;
+}
+
+.display--small {
+ font-size: 1em;
+ line-height: 1.4;
+ letter-spacing: 0.5px;
+ color: $space;
+
+ @media screen and (min-width: $tablet) {
+ font-size: 1.25em;
+ }
+
+ margin-bottom: 0.4em;
+}
+
+.text,
+p {
+ font-size: $font-size;
+ line-height: $font-leading;
+
+ margin-bottom: 2em;
+}
+
+strong {
+ font-weight: 700;
+}
+
+.text--small {
+ font-size: 0.85em;
+ font-weight: 500;
+
+ margin-bottom: 2em;
+}
+
+.label {
+ font-size: 0.75em;
+ line-height: 1.5;
+ letter-spacing: 0.8px;
+ text-transform: uppercase;
+ font-weight: 700;
+
+ margin-bottom: 1em;
+}
+
+.label--small {
+ font-size: 0.6rem;
+ line-height: 1.6;
+ letter-spacing: 0.5px;
+ text-transform: uppercase;
+ font-weight: 500;
+
+ margin-bottom: 1em;
+}
+
+.tag {
+ font-size: 0.6em;
+ line-height: 1.6;
+ font-weight: 700;
+ letter-spacing: 0.6px;
+ text-transform: uppercase;
+ border-radius: 2px;
+ display: inline-block;
+ padding: 0.2em 0.85em;
+ vertical-align: middle;
+ margin-left: 0.8em;
+ margin-right: 0.8em;
+}
+
+.code {
+ font-size: 0.8em;
+ border-radius: 2px;
+ padding: 0.72em 1em;
+}
+
+// Space rules
+.display--small + .button {
+ margin-top: 2.5em;
+}
+
+// Helpers
+.align--center {
+ text-align: center;
+}
+
+.type--nomargin {
+ margin-bottom: 0 !important;
+}
+
+.list {
+ padding-left: 1em;
+
+ ul {
+ padding-left: 1.2em;
+ }
+
+ li {
+ list-style: disc;
+ margin-bottom: .5em;
+ }
+}
\ No newline at end of file
diff --git a/_sass/variables.scss b/_sass/variables.scss
index ed03193b59..6a9ec68ff2 100644
--- a/_sass/variables.scss
+++ b/_sass/variables.scss
@@ -1,16 +1,4 @@
-
-$ui-font-family:
- medium-ui-sans-serif-text-font,-apple-system,BlinkMacSystemFont,"Segoe UI",
- oboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif!important;
-
-$post-font-family:
- medium-content-sans-serif-font,"Lucida Grande","Lucida Sans Unicode",
- "Lucida Sans",Geneva,Arial,sans-serif!important;
-
-$code-font-family:
- "SFMono-Regular",Consolas,"Liberation Mono",Menlo,Courier,monospace;
-
-$content-width: 1300px;
+$content-width: 1150px;
$line-height: 1.58;
$font-size: 16px;
@@ -24,3 +12,34 @@ $color-light: #929db3;
$padding: 2em;
$toc-width: 340px;
+
+// 1. Fonts
+$font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica,
+ Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+$font-size: 1em;
+$font-leading: 1.5;
+
+// 2. Colors
+$brand: #1d74f5;
+$brand-dark: #0e59c7;
+$warning: #ff5050;
+$space: #030c1a;
+$space-b: #0b182b;
+$space-grey: #121f33;
+
+// 2.1 Grayscale
+$grey-dark: #384a66;
+$grey: #6b7d99;
+$grey-light: #a3b4cc;
+$grey-smoke-dark: #cfd8e6;
+$grey-smoke: #e7ebf2;
+$grey-bg: #f3f5f8;
+
+// 3. Helpers
+$tranitions: 0.3s ease;
+
+// 4. Breackpoints
+$gutter: 1em; // 32px;
+$gutter-larger: 2em; // 16px;
+$container: 74em; // 1184px;
+$tablet: 48.1em; // 768px;
diff --git a/images/default/cloud.svg b/images/default/cloud.svg
new file mode 100644
index 0000000000..8603988370
--- /dev/null
+++ b/images/default/cloud.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/images/default/fork.svg b/images/default/fork.svg
new file mode 100644
index 0000000000..7074d5e701
--- /dev/null
+++ b/images/default/fork.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/default/github.svg b/images/default/github.svg
new file mode 100644
index 0000000000..d35ccaab38
--- /dev/null
+++ b/images/default/github.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/default/install.svg b/images/default/install.svg
new file mode 100644
index 0000000000..f7bdf083a2
--- /dev/null
+++ b/images/default/install.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/default/keycdn.svg b/images/default/keycdn.svg
new file mode 100644
index 0000000000..9a555e5c75
--- /dev/null
+++ b/images/default/keycdn.svg
@@ -0,0 +1,20 @@
+
+
+
diff --git a/images/default/keycdnlogo.png b/images/default/keycdnlogo.png
new file mode 100644
index 0000000000..905c466fe5
Binary files /dev/null and b/images/default/keycdnlogo.png differ
diff --git a/images/default/logo.svg b/images/default/logo.svg
index 33663753be..2df597a967 100644
--- a/images/default/logo.svg
+++ b/images/default/logo.svg
@@ -1,77 +1 @@
-
-
-
-
+
\ No newline at end of file
diff --git a/images/default/star.svg b/images/default/star.svg
new file mode 100644
index 0000000000..41be3c6238
--- /dev/null
+++ b/images/default/star.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/main.js b/main.js
new file mode 100644
index 0000000000..29da9bcdcb
--- /dev/null
+++ b/main.js
@@ -0,0 +1,308 @@
+/*!
+ * headroom.js v0.9.4 - Give your page some headroom. Hide your header until you need it
+ * Copyright (c) 2017 Nick Williams - http://wicky.nillia.ms/headroom.js
+ * License: MIT
+ */
+
+!(function(a, b) {
+ "use strict";
+ "function" == typeof define && define.amd
+ ? define([], b)
+ : "object" == typeof exports ? (module.exports = b()) : (a.Headroom = b());
+ })(this, function() {
+ "use strict";
+ function a(a) {
+ (this.callback = a), (this.ticking = !1);
+ }
+ function b(a) {
+ return a && "undefined" != typeof window && (a === window || a.nodeType);
+ }
+ function c(a) {
+ if (arguments.length <= 0)
+ throw new Error("Missing arguments in extend function");
+ var d,
+ e,
+ f = a || {};
+ for (e = 1; e < arguments.length; e++) {
+ var g = arguments[e] || {};
+ for (d in g)
+ "object" != typeof f[d] || b(f[d])
+ ? (f[d] = f[d] || g[d])
+ : (f[d] = c(f[d], g[d]));
+ }
+ return f;
+ }
+ function d(a) {
+ return a === Object(a) ? a : { down: a, up: a };
+ }
+ function e(a, b) {
+ (b = c(b, e.options)),
+ (this.lastKnownScrollY = 0),
+ (this.elem = a),
+ (this.tolerance = d(b.tolerance)),
+ (this.classes = b.classes),
+ (this.offset = b.offset),
+ (this.scroller = b.scroller),
+ (this.initialised = !1),
+ (this.onPin = b.onPin),
+ (this.onUnpin = b.onUnpin),
+ (this.onTop = b.onTop),
+ (this.onNotTop = b.onNotTop),
+ (this.onBottom = b.onBottom),
+ (this.onNotBottom = b.onNotBottom);
+ }
+ var f = {
+ bind: !!function() {}.bind,
+ classList: "classList" in document.documentElement,
+ rAF: !!(
+ window.requestAnimationFrame ||
+ window.webkitRequestAnimationFrame ||
+ window.mozRequestAnimationFrame
+ )
+ };
+ return (
+ (window.requestAnimationFrame =
+ window.requestAnimationFrame ||
+ window.webkitRequestAnimationFrame ||
+ window.mozRequestAnimationFrame),
+ (a.prototype = {
+ constructor: a,
+ update: function() {
+ this.callback && this.callback(), (this.ticking = !1);
+ },
+ requestTick: function() {
+ this.ticking ||
+ (requestAnimationFrame(
+ this.rafCallback || (this.rafCallback = this.update.bind(this))
+ ),
+ (this.ticking = !0));
+ },
+ handleEvent: function() {
+ this.requestTick();
+ }
+ }),
+ (e.prototype = {
+ constructor: e,
+ init: function() {
+ if (e.cutsTheMustard)
+ return (
+ (this.debouncer = new a(this.update.bind(this))),
+ this.elem.classList.add(this.classes.initial),
+ setTimeout(this.attachEvent.bind(this), 100),
+ this
+ );
+ },
+ destroy: function() {
+ var a = this.classes;
+ this.initialised = !1;
+ for (var b in a)
+ a.hasOwnProperty(b) && this.elem.classList.remove(a[b]);
+ this.scroller.removeEventListener("scroll", this.debouncer, !1);
+ },
+ attachEvent: function() {
+ this.initialised ||
+ ((this.lastKnownScrollY = this.getScrollY()),
+ (this.initialised = !0),
+ this.scroller.addEventListener("scroll", this.debouncer, !1),
+ this.debouncer.handleEvent());
+ },
+ unpin: function() {
+ var a = this.elem.classList,
+ b = this.classes;
+ (!a.contains(b.pinned) && a.contains(b.unpinned)) ||
+ (a.add(b.unpinned),
+ a.remove(b.pinned),
+ this.onUnpin && this.onUnpin.call(this));
+ },
+ pin: function() {
+ var a = this.elem.classList,
+ b = this.classes;
+ a.contains(b.unpinned) &&
+ (a.remove(b.unpinned),
+ a.add(b.pinned),
+ this.onPin && this.onPin.call(this));
+ },
+ top: function() {
+ var a = this.elem.classList,
+ b = this.classes;
+ a.contains(b.top) ||
+ (a.add(b.top),
+ a.remove(b.notTop),
+ this.onTop && this.onTop.call(this));
+ },
+ notTop: function() {
+ var a = this.elem.classList,
+ b = this.classes;
+ a.contains(b.notTop) ||
+ (a.add(b.notTop),
+ a.remove(b.top),
+ this.onNotTop && this.onNotTop.call(this));
+ },
+ bottom: function() {
+ var a = this.elem.classList,
+ b = this.classes;
+ a.contains(b.bottom) ||
+ (a.add(b.bottom),
+ a.remove(b.notBottom),
+ this.onBottom && this.onBottom.call(this));
+ },
+ notBottom: function() {
+ var a = this.elem.classList,
+ b = this.classes;
+ a.contains(b.notBottom) ||
+ (a.add(b.notBottom),
+ a.remove(b.bottom),
+ this.onNotBottom && this.onNotBottom.call(this));
+ },
+ getScrollY: function() {
+ return void 0 !== this.scroller.pageYOffset
+ ? this.scroller.pageYOffset
+ : void 0 !== this.scroller.scrollTop
+ ? this.scroller.scrollTop
+ : (
+ document.documentElement ||
+ document.body.parentNode ||
+ document.body
+ ).scrollTop;
+ },
+ getViewportHeight: function() {
+ return (
+ window.innerHeight ||
+ document.documentElement.clientHeight ||
+ document.body.clientHeight
+ );
+ },
+ getElementPhysicalHeight: function(a) {
+ return Math.max(a.offsetHeight, a.clientHeight);
+ },
+ getScrollerPhysicalHeight: function() {
+ return this.scroller === window || this.scroller === document.body
+ ? this.getViewportHeight()
+ : this.getElementPhysicalHeight(this.scroller);
+ },
+ getDocumentHeight: function() {
+ var a = document.body,
+ b = document.documentElement;
+ return Math.max(
+ a.scrollHeight,
+ b.scrollHeight,
+ a.offsetHeight,
+ b.offsetHeight,
+ a.clientHeight,
+ b.clientHeight
+ );
+ },
+ getElementHeight: function(a) {
+ return Math.max(a.scrollHeight, a.offsetHeight, a.clientHeight);
+ },
+ getScrollerHeight: function() {
+ return this.scroller === window || this.scroller === document.body
+ ? this.getDocumentHeight()
+ : this.getElementHeight(this.scroller);
+ },
+ isOutOfBounds: function(a) {
+ var b = a < 0,
+ c = a + this.getScrollerPhysicalHeight() > this.getScrollerHeight();
+ return b || c;
+ },
+ toleranceExceeded: function(a, b) {
+ return Math.abs(a - this.lastKnownScrollY) >= this.tolerance[b];
+ },
+ shouldUnpin: function(a, b) {
+ var c = a > this.lastKnownScrollY,
+ d = a >= this.offset;
+ return c && d && b;
+ },
+ shouldPin: function(a, b) {
+ var c = a < this.lastKnownScrollY,
+ d = a <= this.offset;
+ return (c && b) || d;
+ },
+ update: function() {
+ var a = this.getScrollY(),
+ b = a > this.lastKnownScrollY ? "down" : "up",
+ c = this.toleranceExceeded(a, b);
+ this.isOutOfBounds(a) ||
+ (a <= this.offset ? this.top() : this.notTop(),
+ a + this.getViewportHeight() >= this.getScrollerHeight()
+ ? this.bottom()
+ : this.notBottom(),
+ this.shouldUnpin(a, c)
+ ? this.unpin()
+ : this.shouldPin(a, c) && this.pin(),
+ (this.lastKnownScrollY = a));
+ }
+ }),
+ (e.options = {
+ tolerance: { up: 0, down: 0 },
+ offset: 0,
+ scroller: window,
+ classes: {
+ pinned: "headroom--pinned",
+ unpinned: "headroom--unpinned",
+ top: "headroom--top",
+ notTop: "headroom--not-top",
+ bottom: "headroom--bottom",
+ notBottom: "headroom--not-bottom",
+ initial: "headroom"
+ }
+ }),
+ (e.cutsTheMustard =
+ "undefined" != typeof f && f.rAF && f.bind && f.classList),
+ e
+ );
+ });
+
+ (function () {
+ var header = document.querySelector(".app-header_wrap");
+ if (header) {
+ var headroom = new Headroom(header);
+ headroom.init();
+ }
+ }());
+
+ if (document.querySelector(".js-download")) {
+ var selects = document.querySelectorAll(".js-select-download");
+
+ var setDownload = function(element) {
+ element = element || {};
+ var target = element.dataset && element.dataset.target;
+ var value = element.value;
+ var selector = document.querySelector("[data-download='" + target + "']");
+
+ if (selector) {
+ selector.href = value;
+ selector.download = value;
+ }
+ };
+
+ if (selects && selects.length > 0) {
+ selects.forEach(element => {
+ setDownload(element);
+ element.addEventListener("change", setDownload.bind(this, element));
+ });
+ }
+ }
+
+ (function () {
+ var xhttp = new XMLHttpRequest();
+ xhttp.onreadystatechange = function() {
+ if (this.readyState == 4 && this.status == 200) {
+ var data = JSON.parse(this.responseText);
+ var stars = Math.round( (data["stargazers_count"] / 1000) * 10 ) / 10;
+ var forks = Math.round( (data["forks_count"] / 1000) * 10 ) / 10;
+ var starsElements = document.getElementsByClassName("star-count")
+ var forksElements = document.getElementsByClassName("fork-count")
+
+ for (let i = 0; i < starsElements.length; i++) {
+ starsElements[i].innerHTML = stars + "k";
+ }
+
+ for (let i = 0; i < forksElements.length; i++) {
+ forksElements[i].innerHTML = forks + "k";
+ }
+ }
+ };
+ xhttp.open("GET", "https://api.github.com/repos/RocketChat/Rocket.Chat", true);
+ xhttp.send();
+ }())
\ No newline at end of file
diff --git a/styles.scss b/styles.scss
index 690fd7f40f..07faa53ad5 100644
--- a/styles.scss
+++ b/styles.scss
@@ -1,7 +1,14 @@
---
---
+@import "mixins";
@import "variables";
+@import "reset";
+@import "theme";
+@import "typography";
+@import "grid";
+@import "header";
+@import "footer";
@import "layout";
// Custom data table styles...