less shared files
This commit is contained in:
parent
cfa0658cef
commit
99f060cd42
|
@ -0,0 +1,50 @@
|
|||
(function(){
|
||||
|
||||
Sidebar = Base.extend({
|
||||
|
||||
$body: null,
|
||||
$overlay: null,
|
||||
$sidebar: null,
|
||||
$sidebarHeader: null,
|
||||
$sidebarImg: null,
|
||||
$toggleButton: null,
|
||||
|
||||
constructor: function(){
|
||||
this.$body = $('body');
|
||||
this.$overlay = $('.sidebar-overlay');
|
||||
this.$sidebar = $('#sidebar');
|
||||
this.$sidebarHeader = $('#sidebar .sidebar-header');
|
||||
this.$toggleButton = $('.navbar-toggle');
|
||||
this.sidebarImg = this.$sidebarHeader.css('background-image');
|
||||
|
||||
this.addEventListeners();
|
||||
},
|
||||
|
||||
addEventListeners: function(){
|
||||
var _this = this;
|
||||
|
||||
_this.$toggleButton.on('click', function() {
|
||||
_this.$sidebar.toggleClass('open');
|
||||
if ((_this.$sidebar.hasClass('sidebar-fixed-left') || _this.$sidebar.hasClass('sidebar-fixed-right')) && _this.$sidebar.hasClass('open')) {
|
||||
_this.$overlay.addClass('active');
|
||||
_this.$body.css('overflow', 'hidden');
|
||||
} else {
|
||||
_this.$overlay.removeClass('active');
|
||||
_this.$body.css('overflow', 'auto');
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
_this.$overlay.on('click', function() {
|
||||
$(this).removeClass('active');
|
||||
_this.$body.css('overflow', 'auto');
|
||||
_this.$sidebar.removeClass('open');
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
window.Sidebar = Sidebar;
|
||||
|
||||
})();
|
|
@ -0,0 +1,145 @@
|
|||
/*
|
||||
Based on Base.js 1.1a (c) 2006-2010, Dean Edwards
|
||||
Updated to pass JSHint and converted into a module by Kenneth Powers
|
||||
License: http://www.opensource.org/licenses/mit-license.php
|
||||
*/
|
||||
/*global define:true module:true*/
|
||||
/*jshint eqeqeq:true*/
|
||||
(function (name, global, definition) {
|
||||
if (typeof module !== 'undefined') {
|
||||
module.exports = definition();
|
||||
} else if (typeof define !== 'undefined' && typeof define.amd === 'object') {
|
||||
define(definition);
|
||||
} else {
|
||||
global[name] = definition();
|
||||
}
|
||||
})('Base', this, function () {
|
||||
// Base Object
|
||||
var Base = function () {};
|
||||
|
||||
// Implementation
|
||||
Base.extend = function (_instance, _static) { // subclass
|
||||
var extend = Base.prototype.extend;
|
||||
// build the prototype
|
||||
Base._prototyping = true;
|
||||
var proto = new this();
|
||||
extend.call(proto, _instance);
|
||||
proto.base = function () {
|
||||
// call this method from any other method to invoke that method's ancestor
|
||||
};
|
||||
delete Base._prototyping;
|
||||
// create the wrapper for the constructor function
|
||||
//var constructor = proto.constructor.valueOf(); //-dean
|
||||
var constructor = proto.constructor;
|
||||
var klass = proto.constructor = function () {
|
||||
if (!Base._prototyping) {
|
||||
if (this._constructing || this.constructor === klass) { // instantiation
|
||||
this._constructing = true;
|
||||
constructor.apply(this, arguments);
|
||||
delete this._constructing;
|
||||
} else if (arguments[0] !== null) { // casting
|
||||
return (arguments[0].extend || extend).call(arguments[0], proto);
|
||||
}
|
||||
}
|
||||
};
|
||||
// build the class interface
|
||||
klass.ancestor = this;
|
||||
klass.extend = this.extend;
|
||||
klass.forEach = this.forEach;
|
||||
klass.implement = this.implement;
|
||||
klass.prototype = proto;
|
||||
klass.toString = this.toString;
|
||||
klass.valueOf = function (type) {
|
||||
return (type === 'object') ? klass : constructor.valueOf();
|
||||
};
|
||||
extend.call(klass, _static);
|
||||
// class initialization
|
||||
if (typeof klass.init === 'function') klass.init();
|
||||
return klass;
|
||||
};
|
||||
|
||||
Base.prototype = {
|
||||
extend: function (source, value) {
|
||||
if (arguments.length > 1) { // extending with a name/value pair
|
||||
var ancestor = this[source];
|
||||
if (ancestor && (typeof value === 'function') && // overriding a method?
|
||||
// the valueOf() comparison is to avoid circular references
|
||||
(!ancestor.valueOf || ancestor.valueOf() !== value.valueOf()) && /\bbase\b/.test(value)) {
|
||||
// get the underlying method
|
||||
var method = value.valueOf();
|
||||
// override
|
||||
value = function () {
|
||||
var previous = this.base || Base.prototype.base;
|
||||
this.base = ancestor;
|
||||
var returnValue = method.apply(this, arguments);
|
||||
this.base = previous;
|
||||
return returnValue;
|
||||
};
|
||||
// point to the underlying method
|
||||
value.valueOf = function (type) {
|
||||
return (type === 'object') ? value : method;
|
||||
};
|
||||
value.toString = Base.toString;
|
||||
}
|
||||
this[source] = value;
|
||||
} else if (source) { // extending with an object literal
|
||||
var extend = Base.prototype.extend;
|
||||
// if this object has a customized extend method then use it
|
||||
if (!Base._prototyping && typeof this !== 'function') {
|
||||
extend = this.extend || extend;
|
||||
}
|
||||
var proto = {
|
||||
toSource: null
|
||||
};
|
||||
// do the "toString" and other methods manually
|
||||
var hidden = ['constructor', 'toString', 'valueOf'];
|
||||
// if we are prototyping then include the constructor
|
||||
for (var i = Base._prototyping ? 0 : 1; i < hidden.length; i++) {
|
||||
var h = hidden[i];
|
||||
if (source[h] !== proto[h])
|
||||
extend.call(this, h, source[h]);
|
||||
}
|
||||
// copy each of the source object's properties to this object
|
||||
for (var key in source) {
|
||||
if (!proto[key]) extend.call(this, key, source[key]);
|
||||
}
|
||||
}
|
||||
return this;
|
||||
}
|
||||
};
|
||||
|
||||
// initialize
|
||||
Base = Base.extend({
|
||||
constructor: function () {
|
||||
this.extend(arguments[0]);
|
||||
}
|
||||
}, {
|
||||
ancestor: Object,
|
||||
version: '1.1',
|
||||
forEach: function (object, block, context) {
|
||||
for (var key in object) {
|
||||
if (this.prototype[key] === undefined) {
|
||||
block.call(context, object[key], key, object);
|
||||
}
|
||||
}
|
||||
},
|
||||
implement: function () {
|
||||
for (var i = 0; i < arguments.length; i++) {
|
||||
if (typeof arguments[i] === 'function') {
|
||||
// if it's a function, call it
|
||||
arguments[i](this.prototype);
|
||||
} else {
|
||||
// add the interface using the extend method
|
||||
this.prototype.extend(arguments[i]);
|
||||
}
|
||||
}
|
||||
return this;
|
||||
},
|
||||
toString: function () {
|
||||
return String(this.valueOf());
|
||||
}
|
||||
});
|
||||
|
||||
// Return Base implementation
|
||||
return Base;
|
||||
});
|
|
@ -0,0 +1,22 @@
|
|||
<!-- Overlay for fixed sidebar -->
|
||||
<div class="sidebar-overlay"></div>
|
||||
|
||||
<!-- Material sidebar -->
|
||||
<aside id="sidebar" class="sidebar sidebar-default sidebar-fixed-right" role="navigation">
|
||||
<!-- Sidebar header -->
|
||||
<div class="sidebar-header header-cover">
|
||||
<!-- Sidebar brand image -->
|
||||
<div class="sidebar-image">
|
||||
<a class="sidebar-logo" href="/">Vagrant</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Sidebar navigation -->
|
||||
<ul class="main nav sidebar-nav">
|
||||
<li class="pill"><a href="/vmware">VMware Integration</a></li>
|
||||
<li><a href="/downloads.html">Downloads</a></li>
|
||||
<li><a href="https://docs.vagrantup.com/">Documentation</a></li>
|
||||
<li><a href="/blog.html">Blog</a></li>
|
||||
<li><a href="/about.html">About</a></li>
|
||||
</ul>
|
||||
</aside>
|
|
@ -47,6 +47,8 @@
|
|||
</ul>
|
||||
</nav>
|
||||
|
||||
<%= partial "layouts/mobile_nav" %>
|
||||
|
||||
<%= yield %>
|
||||
|
||||
<!-- footer -->
|
||||
|
@ -88,10 +90,15 @@
|
|||
<!-- close .wrapper -->
|
||||
</div>
|
||||
|
||||
<%= javascript_include_tag "lib/Base" %>
|
||||
<%= javascript_include_tag "Sidebar" %>
|
||||
|
||||
<!-- load scripts -->
|
||||
<!-- load full-width image into any div with class="big-background -->
|
||||
<script>
|
||||
$(".big-background").backstretch("assets/photos/full_width.jpg");
|
||||
$(".big-background").backstretch("assets/photos/full_width.jpg");
|
||||
|
||||
new Sidebar();
|
||||
</script>
|
||||
|
||||
<!-- Google analytics -->
|
||||
|
@ -129,4 +136,3 @@
|
|||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
|
|
@ -63,6 +63,25 @@
|
|||
padding: @baseline 0;
|
||||
}
|
||||
|
||||
.transition(@transition) {
|
||||
-webkit-transition: @transition;
|
||||
-o-transition: @transition;
|
||||
transition: @transition;
|
||||
}
|
||||
|
||||
.translate3d (@x, @y: 0, @z: 0) {
|
||||
-webkit-transform: translate3d(@x, @y, @z);
|
||||
-moz-transform: translate3d(@x, @y, @z);
|
||||
-ms-transform: translate3d(@x, @y, @z);
|
||||
-o-transform: translate3d(@x, @y, @z);
|
||||
}
|
||||
|
||||
.clearfix{
|
||||
zoom:1;
|
||||
&:before, &:after{ content:""; display:table; }
|
||||
&:after{ clear: both; }
|
||||
}
|
||||
|
||||
.inner-bg-large {
|
||||
background-image: #c1b4d5; /* Old browsers */
|
||||
background-image: url(/images/sidebar_background_inner.png), -moz-linear-gradient(45deg, #c1b4d5 0%, #98d3f8 100%); /* FF3.6+ */
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
//
|
||||
// Sidebar
|
||||
// - Project Specific
|
||||
// - Make sidebar edits here
|
||||
// --------------------------------------------------
|
||||
|
||||
.sidebar {
|
||||
.sidebar-nav {
|
||||
// Links
|
||||
//----------------
|
||||
li {
|
||||
a {
|
||||
color: $purple;
|
||||
|
||||
svg{
|
||||
path{
|
||||
fill: $purple;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,326 @@
|
|||
//
|
||||
// Hashicorp nav
|
||||
// --------------------------------------------------
|
||||
|
||||
#header{
|
||||
position: relative;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.navigation {
|
||||
color: black;
|
||||
text-rendering: optimizeLegibility;
|
||||
transition: all 1s ease;
|
||||
|
||||
&.white{
|
||||
.navbar-brand {
|
||||
.logo {
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
|
||||
.main-links,
|
||||
.external-links {
|
||||
li > a {
|
||||
&:hover{
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-toggle{
|
||||
height: @header-height;
|
||||
margin: 0;
|
||||
border-radius: 0;
|
||||
.icon-bar{
|
||||
border: 1px solid @black;
|
||||
border-radius: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.external-links {
|
||||
&.white{
|
||||
svg path{
|
||||
fill: @white;
|
||||
}
|
||||
}
|
||||
|
||||
li {
|
||||
position: relative;
|
||||
|
||||
svg path{
|
||||
.transition( all 300ms ease-in );
|
||||
}
|
||||
|
||||
&:hover{
|
||||
svg path{
|
||||
.transition( all 300ms ease-in );
|
||||
}
|
||||
}
|
||||
|
||||
&.download{
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
> a {
|
||||
padding-left: 12px !important;
|
||||
svg{
|
||||
position: absolute;
|
||||
left: -12px;
|
||||
top: 50%;
|
||||
margin-top: -7px;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.main-links{
|
||||
margin-right: @nav-margin-right * 2;
|
||||
}
|
||||
|
||||
.main-links,
|
||||
.external-links {
|
||||
&.white{
|
||||
li > a {
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
li > a {
|
||||
.hashi-a-style();
|
||||
margin: 0 10px;
|
||||
padding-top: 1px;
|
||||
line-height: @header-height;
|
||||
.project-a-style();
|
||||
}
|
||||
}
|
||||
|
||||
.nav > li > a:hover, .nav > li > a:focus {
|
||||
background-color: transparent;
|
||||
.transition( all 300ms ease-in );
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
display: block;
|
||||
height: @header-height;
|
||||
padding: 0;
|
||||
margin: 0 10px 0 0;
|
||||
|
||||
.logo{
|
||||
display: inline-block;
|
||||
height: @header-height;
|
||||
vertical-align:top;
|
||||
padding: 0;
|
||||
line-height: @header-height;
|
||||
padding-left: @project-logo-width + @project-logo-pad-left;
|
||||
background-position: 0 center;
|
||||
.transition(all 300ms ease-in);
|
||||
|
||||
&:hover{
|
||||
.transition(all 300ms ease-in);
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-toggle{
|
||||
&.white{
|
||||
.icon-bar{
|
||||
border: 1px solid white;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.by-hashicorp{
|
||||
display: inline-block;
|
||||
vertical-align:top;
|
||||
height: @header-height;
|
||||
margin-left: 3px;
|
||||
padding-top: 2px;
|
||||
color: black;
|
||||
line-height: @header-height;
|
||||
font-family: @header-font-family;
|
||||
font-weight: 600;
|
||||
font-size: 0;
|
||||
text-decoration: none;
|
||||
|
||||
&.white{
|
||||
color: white;
|
||||
font-weight: 300;
|
||||
svg{
|
||||
path,
|
||||
polygon{
|
||||
fill: white;
|
||||
}
|
||||
line{
|
||||
stroke: white;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&:focus,
|
||||
&:hover{
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.svg-wrap{
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
svg{
|
||||
&.svg-by{
|
||||
width: @by-hashicorp-width;
|
||||
height: @by-hashicorp-height;
|
||||
margin-bottom: -4px;
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
&.svg-logo{
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin-bottom: -3px;
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
path,
|
||||
polygon{
|
||||
fill: black;
|
||||
.transition(all 300ms ease-in);
|
||||
|
||||
&:hover{
|
||||
.transition(all 300ms ease-in);
|
||||
}
|
||||
}
|
||||
line{
|
||||
stroke: black;
|
||||
.transition(all 300ms ease-in);
|
||||
|
||||
&:hover{
|
||||
.transition(all 300ms ease-in);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.hashicorp-project{
|
||||
display: inline-block;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
text-decoration: none;
|
||||
font-size: 14px;
|
||||
color: @black;
|
||||
font-weight: 600;
|
||||
|
||||
&.white{
|
||||
color: white;
|
||||
svg{
|
||||
path,
|
||||
polygon{
|
||||
fill: white;
|
||||
}
|
||||
line{
|
||||
stroke: white;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&:focus{
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
&:hover{
|
||||
text-decoration: none;
|
||||
svg{
|
||||
&.svg-by{
|
||||
line{
|
||||
stroke: @purple;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
span{
|
||||
margin-right: 4px;
|
||||
font-family: @header-font-family;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
span,
|
||||
svg{
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
svg{
|
||||
&.svg-by{
|
||||
width: @by-hashicorp-width;
|
||||
height: @by-hashicorp-height;
|
||||
margin-bottom: -4px;
|
||||
margin-left: -3px;
|
||||
}
|
||||
|
||||
&.svg-logo{
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
margin-bottom: -10px;
|
||||
margin-left: -1px;
|
||||
}
|
||||
|
||||
path,
|
||||
line{
|
||||
fill: @black;
|
||||
.transition(all 300ms ease-in);
|
||||
|
||||
&:hover{
|
||||
.transition(all 300ms ease-in);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 992px) {
|
||||
.navigation {
|
||||
> .container{
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.navigation {
|
||||
.main-links{
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 414px) {
|
||||
#header {
|
||||
.navbar-toggle{
|
||||
padding-top: 10px;
|
||||
height: @header-mobile-height;
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
height: @header-mobile-height;
|
||||
|
||||
.logo{
|
||||
height: @header-mobile-height;
|
||||
line-height: @header-mobile-height;
|
||||
}
|
||||
.by-hashicorp{
|
||||
height: @header-mobile-height;
|
||||
line-height: @header-mobile-height;
|
||||
padding-top: 0;
|
||||
}
|
||||
}
|
||||
.main-links,
|
||||
.external-links {
|
||||
li > a {
|
||||
line-height: @header-mobile-height;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,293 @@
|
|||
//
|
||||
// Hashicorp Sidebar
|
||||
// - Shared throughout projects
|
||||
// - Edits should not be made here
|
||||
// --------------------------------------------------
|
||||
|
||||
// Base variables
|
||||
// --------------------------------------------------
|
||||
@screen-tablet: 768px;
|
||||
|
||||
@gray-darker: #212121; // #212121 - text
|
||||
@gray-secondary: #757575; // #757575 - secondary text, icons
|
||||
@gray: #bdbdbd; // #bdbdbd - hint text
|
||||
@gray-light: #e0e0e0; // #e0e0e0 - divider
|
||||
@gray-lighter: #f5f5f5; // #f5f5f5 - background
|
||||
@link-color: @gray-darker;
|
||||
@link-bg: transparent;
|
||||
@link-hover-color: @gray-lighter;
|
||||
@link-hover-bg: @gray-lighter;
|
||||
@link-active-color: @gray-darker;
|
||||
@link-active-bg: @gray-light;
|
||||
@link-disabled-color: @gray-light;
|
||||
@link-disabled-bg: transparent;
|
||||
|
||||
/* -- Sidebar style ------------------------------- */
|
||||
|
||||
// Sidebar variables
|
||||
// --------------------------------------------------
|
||||
@zindex-sidebar-fixed: 1035;
|
||||
|
||||
@sidebar-desktop-width: 280px;
|
||||
@sidebar-width: 240px;
|
||||
|
||||
@sidebar-padding: 16px;
|
||||
@sidebar-divider: @sidebar-padding/2;
|
||||
|
||||
@sidebar-icon-width: 40px;
|
||||
@sidebar-icon-height: 20px;
|
||||
|
||||
.sidebar-nav-base {
|
||||
text-align: center;
|
||||
|
||||
&:last-child{
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
li > a {
|
||||
background-color: @link-bg;
|
||||
}
|
||||
li:hover > a {
|
||||
background-color: @link-hover-bg;
|
||||
}
|
||||
li:focus > a, li > a:focus {
|
||||
background-color: @link-bg;
|
||||
}
|
||||
|
||||
> .open > a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
background-color: @link-hover-bg;
|
||||
}
|
||||
}
|
||||
|
||||
> .active > a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
background-color: @link-active-bg;
|
||||
}
|
||||
}
|
||||
> .disabled > a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
background-color: @link-disabled-bg;
|
||||
}
|
||||
}
|
||||
|
||||
// Dropdown menu items
|
||||
> .dropdown {
|
||||
// Remove background color from open dropdown
|
||||
> .dropdown-menu {
|
||||
background-color: @link-hover-bg;
|
||||
|
||||
> li > a {
|
||||
&:focus {
|
||||
background-color: @link-hover-bg;
|
||||
}
|
||||
&:hover {
|
||||
background-color: @link-hover-bg;
|
||||
}
|
||||
}
|
||||
|
||||
> .active > a {
|
||||
&,
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: @link-active-color;
|
||||
background-color: @link-active-bg;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Sidebar
|
||||
// --------------------------------------------------
|
||||
|
||||
// Sidebar Elements
|
||||
//
|
||||
// Basic style of sidebar elements
|
||||
.sidebar {
|
||||
position: relative;
|
||||
display: block;
|
||||
min-height: 100%;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
border: none;
|
||||
.transition(all 0.5s cubic-bezier(0.55, 0, 0.1, 1));
|
||||
.clearfix();
|
||||
background-color: @white;
|
||||
|
||||
ul{
|
||||
padding-left: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.sidebar-divider, .divider {
|
||||
width: 80%;
|
||||
height: 1px;
|
||||
margin: 8px auto;
|
||||
background-color: lighten(@gray, 20%);
|
||||
}
|
||||
|
||||
// Sidebar heading
|
||||
//----------------
|
||||
.sidebar-header {
|
||||
position: relative;
|
||||
margin-bottom: @sidebar-padding;
|
||||
.transition(all .2s ease-in-out);
|
||||
}
|
||||
|
||||
.sidebar-image {
|
||||
padding-top: 24px;
|
||||
img {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Sidebar icons
|
||||
//----------------
|
||||
.sidebar-icon {
|
||||
display: inline-block;
|
||||
height: @sidebar-icon-height;
|
||||
margin-right: @sidebar-divider;
|
||||
text-align: left;
|
||||
font-size: @sidebar-icon-height;
|
||||
vertical-align: middle;
|
||||
|
||||
&:before, &:after {
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar-nav {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
.sidebar-nav-base();
|
||||
|
||||
// Links
|
||||
//----------------
|
||||
li {
|
||||
position: relative;
|
||||
list-style-type: none;
|
||||
text-align: center;
|
||||
|
||||
a {
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
.hashi-a-style-core();
|
||||
|
||||
svg{
|
||||
top: 2px;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
margin-bottom: -2px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Sidebar toggling
|
||||
//
|
||||
// Hide sidebar
|
||||
.sidebar {
|
||||
width: 0;
|
||||
.translate3d(-@sidebar-desktop-width, 0, 0);
|
||||
|
||||
&.open {
|
||||
min-width: @sidebar-desktop-width;
|
||||
width: @sidebar-desktop-width;
|
||||
.translate3d(0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// Sidebar positions: fix the left/right sidebars
|
||||
.sidebar-fixed-left,
|
||||
.sidebar-fixed-right,
|
||||
.sidebar-stacked {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
z-index: @zindex-sidebar-fixed;
|
||||
}
|
||||
.sidebar-stacked {
|
||||
left: 0;
|
||||
}
|
||||
.sidebar-fixed-left {
|
||||
left: 0;
|
||||
box-shadow: 2px 0px 25px rgba(0,0,0,0.15);
|
||||
-webkit-box-shadow: 2px 0px 25px rgba(0,0,0,0.15);
|
||||
}
|
||||
.sidebar-fixed-right {
|
||||
right: 0;
|
||||
box-shadow: 0px 2px 25px rgba(0,0,0,0.15);
|
||||
-webkit-box-shadow: 0px 2px 25px rgba(0,0,0,0.15);
|
||||
|
||||
.translate3d(@sidebar-desktop-width, 0, 0);
|
||||
&.open {
|
||||
.translate3d(0, 0, 0);
|
||||
}
|
||||
.icon-material-sidebar-arrow:before {
|
||||
content: "\e614"; // icon-material-arrow-forward
|
||||
}
|
||||
}
|
||||
|
||||
// Sidebar size
|
||||
//
|
||||
// Change size of sidebar and sidebar elements on small screens
|
||||
@media (max-width: @screen-tablet) {
|
||||
.sidebar.open {
|
||||
min-width: @sidebar-width;
|
||||
width: @sidebar-width;
|
||||
}
|
||||
|
||||
.sidebar .sidebar-header {
|
||||
//height: @sidebar-width * 9/16; // 16:9 header dimension
|
||||
}
|
||||
|
||||
.sidebar .sidebar-image {
|
||||
/* img {
|
||||
width: @sidebar-width/4 - @sidebar-padding;
|
||||
height: @sidebar-width/4 - @sidebar-padding;
|
||||
} */
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar-overlay {
|
||||
visibility: hidden;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
opacity: 0;
|
||||
background: @white;
|
||||
z-index: @zindex-sidebar-fixed - 1;
|
||||
|
||||
-webkit-transition: visibility 0 linear .4s,opacity .4s cubic-bezier(.4,0,.2,1);
|
||||
-moz-transition: visibility 0 linear .4s,opacity .4s cubic-bezier(.4,0,.2,1);
|
||||
transition: visibility 0 linear .4s,opacity .4s cubic-bezier(.4,0,.2,1);
|
||||
-webkit-transform: translateZ(0);
|
||||
-moz-transform: translateZ(0);
|
||||
-ms-transform: translateZ(0);
|
||||
-o-transform: translateZ(0);
|
||||
transform: translateZ(0);
|
||||
}
|
||||
|
||||
.sidebar-overlay.active {
|
||||
opacity: 0.3;
|
||||
visibility: visible;
|
||||
-webkit-transition-delay: 0;
|
||||
-moz-transition-delay: 0;
|
||||
transition-delay: 0;
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
//
|
||||
// Hashicorp Nav (header/footer) Utiliy Vars and Mixins
|
||||
//
|
||||
// Notes:
|
||||
// - Include this in Application.scss before header and feature-footer
|
||||
// - Open Sans Google (Semibold - 600) font needs to be included if not already
|
||||
// --------------------------------------------------
|
||||
|
||||
// Variables
|
||||
@font-family-open-sans: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||
@header-font-family: @font-family-open-sans;
|
||||
@header-font-weight: 600; // semi-bold
|
||||
|
||||
@header-height: 74px;
|
||||
@header-mobile-height: 60px;
|
||||
@by-hashicorp-width: 74px;
|
||||
@by-hashicorp-height: 16px;
|
||||
@nav-margin-right: 12px;
|
||||
|
||||
// Mixins
|
||||
.hashi-a-style-core{
|
||||
font-family: @header-font-family;
|
||||
font-weight: @header-font-weight;
|
||||
font-size: 14px;
|
||||
//letter-spacing: 0.0625em;
|
||||
}
|
||||
|
||||
.hashi-a-style{
|
||||
margin: 0 15px;
|
||||
padding: 0;
|
||||
line-height: 22px;
|
||||
.hashi-a-style-core();
|
||||
.transition( all 0.3s ease );
|
||||
|
||||
&:hover{
|
||||
.transition( all 0.3s ease );
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// -------------------------
|
||||
.anti-alias() {
|
||||
text-rendering: optimizeLegibility;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
.open-light() {
|
||||
font-family: @font-family-open-sans;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
.open() {
|
||||
font-family: @font-family-open-sans;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.open-sb() {
|
||||
font-family: @font-family-open-sans;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.open-bold() {
|
||||
font-family: @font-family-open-sans;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.bez-1-transition{
|
||||
.transition( all 300ms ease-in-out );
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
//
|
||||
// Mixins Specific to project
|
||||
// - make edits to mixins here
|
||||
// --------------------------------------------------
|
||||
|
||||
// Variables
|
||||
@project-logo-width: 40px;
|
||||
@project-logo-height: 40px;
|
||||
@project-logo-pad-left: 0px;
|
||||
|
||||
// Mixins
|
||||
.project-a-style{
|
||||
font-weight: 300;
|
||||
opacity: .75;
|
||||
|
||||
&:hover{
|
||||
color: $white;
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.project-footer-a-style{
|
||||
line-height: 30px;
|
||||
|
||||
&:hover{
|
||||
opacity: .5;
|
||||
}
|
||||
}
|
|
@ -8,6 +8,12 @@ v a g r a n t u p
|
|||
@import '_type';
|
||||
@import '_mixins';
|
||||
@import '_base';
|
||||
|
||||
@import 'hashicorp-shared/_hashicorp-utility';
|
||||
@import 'hashicorp-shared/_project-utility';
|
||||
@import 'hashicorp-shared/_hashicorp-header';
|
||||
@import 'hashicorp-shared/_hashicorp-mobile-nav';
|
||||
|
||||
@import '_nav';
|
||||
@import '_components';
|
||||
@import '_modules';
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
<svg class="svg-by" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" viewBox="-668 566 50 11" xml:space="preserve" enable-background="new -668 566 50 11">
|
||||
<style type="text/css">
|
||||
.st0{fill:none;stroke:#000000;stroke-width:0.75;stroke-miterlimit:10;}
|
||||
</style>
|
||||
<g>
|
||||
<path d="M-663.3 574.4v-3.3h-3v3.4h-1.5v-8h1.5v3.3h3v-3.4h1.5v8H-663.3z"/>
|
||||
<path d="M-655.7 574.4h-1.2l-0.1-0.4c-0.5 0.3-1.2 0.5-1.7 0.5 -1.1 0-1.5-0.7-1.5-1.7 0-1.2 0.5-1.6 1.7-1.6h1.4v-0.6c0-0.6-0.2-0.9-1.1-0.9 -0.5 0-1.1 0.1-1.6 0.2l-0.3-1.2c0.6-0.2 1.4-0.3 2-0.3 1.8 0 2.4 0.6 2.4 2.1C-655.7 570.5-655.7 574.4-655.7 574.4zM-657.2 572.2h-1.1c-0.5 0-0.6 0.1-0.6 0.6 0 0.4 0.1 0.6 0.6 0.6 0.4 0 0.8-0.1 1.1-0.3V572.2z"/>
|
||||
<path d="M-652.3 574.6c-0.6 0-1.5-0.1-2-0.3l0.2-1.1c0.5 0.1 1.1 0.3 1.7 0.3s0.7-0.1 0.7-0.6c0-0.4-0.1-0.5-1-0.8 -1.4-0.3-1.6-0.7-1.6-1.8 0-1.2 0.5-1.7 2.2-1.7 0.5 0 1.2 0.1 1.8 0.2l-0.1 1.2c-0.4-0.1-1.2-0.2-1.6-0.2 -0.6 0-0.7 0.1-0.7 0.5 0 0.5 0 0.5 0.8 0.7 1.6 0.4 1.8 0.6 1.8 1.8C-650.2 573.9-650.6 574.6-652.3 574.6z"/>
|
||||
<path d="M-645.3 574.4v-4c0-0.3-0.1-0.5-0.5-0.5s-1 0.2-1.5 0.5v4.1h-1.5v-8.3l1.5-0.2v3c0.6-0.3 1.5-0.6 2.1-0.6 1 0 1.3 0.7 1.3 1.7v4.2L-645.3 574.4 -645.3 574.4z"/>
|
||||
<path d="M-642.3 567.8v-1.7h1.5v1.7H-642.3zM-642.3 574.4v-5.8h1.5v5.8H-642.3z"/>
|
||||
<path d="M-639.4 572.3v-1.6c0-1.6 0.7-2.2 2.5-2.2 0.4 0 1 0.1 1.4 0.2l-0.2 1.2c-0.4-0.1-0.9-0.2-1.2-0.2 -0.8 0-1.1 0.3-1.1 1v1.6c0 0.7 0.3 1 1.1 1 0.4 0 0.8 0 1.2-0.2l0.2 1.2c-0.4 0.1-0.9 0.2-1.4 0.2C-638.7 574.6-639.4 573.9-639.4 572.3z"/>
|
||||
<path d="M-631.9 574.6c-2 0-2.5-1.1-2.5-2.3v-1.5c0-1.2 0.5-2.3 2.5-2.3s2.5 1.1 2.5 2.3v1.5C-629.4 573.4-629.9 574.6-631.9 574.6zM-631.9 569.7c-0.8 0-1.1 0.3-1.1 1v1.6c0 0.7 0.3 1 1.1 1 0.8 0 1.1-0.3 1.1-1v-1.6C-630.8 570.1-631.1 569.7-631.9 569.7z"/>
|
||||
<path d="M-624.9 569.8c-0.6 0.3-1 0.5-1.5 0.9v3.8h-1.5v-5.9h1.2l0.1 0.6c0.3-0.2 1-0.6 1.5-0.8L-624.9 569.8z"/>
|
||||
<path d="M-619 572.5c0 1.3-0.6 2.1-1.9 2.1 -0.5 0-1.1-0.1-1.6-0.2v2.4l-1.4 0.2v-8.4h1.2l0.1 0.5c0.5-0.4 1.1-0.6 1.8-0.6 1.2 0 1.8 0.7 1.8 2V572.5zM-622.5 573.1c0.4 0.1 0.9 0.2 1.3 0.2 0.5 0 0.7-0.3 0.7-0.8v-2c0-0.5-0.2-0.7-0.7-0.7s-1 0.2-1.3 0.5V573.1z"/>
|
||||
</g>
|
||||
<line class="st0" x1="-620.9" y1="575.9" x2="-618" y2="575.9"/>
|
||||
<line class="st0" x1="-668" y1="575.9" x2="-625.2" y2="575.9"/>
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
|
@ -0,0 +1,4 @@
|
|||
<svg id="svg-download" xmlns="http://www.w3.org/2000/svg" viewBox="-345 275 28 28" style="enable-background:new -345 275 28 28;">
|
||||
<path d="M-319,275h-24c-1.1,0-2,0.9-2,2v24c0,1.1,0.9,2,2,2h24c1.1,0,2-0.9,2-2v-24C-317,275.9-317.9,275-319,275z M-331.2,297.9
|
||||
l-6.8-5.6l2-2.4l3.2,2.6V282h3.2v10.5l3.2-2.6l2,2.4L-331.2,297.9z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 333 B |
|
@ -0,0 +1,9 @@
|
|||
<svg id="svg-download" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" style="enable-background:new 0 0 14 14;">
|
||||
<style type="text/css">
|
||||
</style>
|
||||
<path class="" d="M13,0H1C0.5,0,0,0.5,0,1v12c0,0.5,0.5,1,1,1h4.7c0,0,0,0,0-0.1c0-0.2,0-0.6,0-1.1c-1.8,0.4-2.2-0.9-2.2-0.9
|
||||
c-0.3-0.8-0.7-1-0.7-1c-0.6-0.4,0-0.4,0-0.4c0.7,0,1,0.7,1,0.7c0.6,1,1.5,0.7,1.9,0.5c0.1-0.4,0.2-0.7,0.4-0.9c-1.5-0.2-3-0.7-3-3.2
|
||||
c0-0.7,0.3-1.3,0.7-1.8C3.7,5.8,3.5,5.1,3.9,4.2c0,0,0.6-0.2,1.8,0.7c0.5-0.1,1.1-0.2,1.6-0.2c0.6,0,1.1,0.1,1.6,0.2
|
||||
c1.3-0.8,1.8-0.7,1.8-0.7c0.4,0.9,0.1,1.6,0.1,1.7c0.4,0.5,0.7,1,0.7,1.8c0,2.5-1.5,3.1-3,3.2C8.7,11.1,9,11.5,9,12.1
|
||||
c0,0.9,0,1.6,0,1.8c0,0,0,0,0,0.1h4c0.5,0,1-0.5,1-1V1C14,0.5,13.5,0,13,0z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 735 B |
|
@ -0,0 +1,7 @@
|
|||
<svg class="svg-logo" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Isolation_Mode" x="0px" y="0px" viewBox="-344 273 29.4 32" xml:space="preserve" enable-background="new -344 273 29.4 32">
|
||||
<g>
|
||||
<polygon points="-326.2 296.7 -321.4 294.1 -321.4 275.8 -326.2 273 -326.2 286.6 -332.4 286.6 -332.4 281.3 -337.3 283.9 -337.3 302.2 -332.4 305 -332.4 291.4 -326.2 291.4 "/>
|
||||
<polygon points="-319.1 277.1 -319.1 295.6 -326.2 299.5 -326.2 305 -314.6 298.3 -314.6 279.7 "/>
|
||||
<polygon points="-332.4 273 -344 279.7 -344 298.3 -339.5 300.9 -339.5 282.4 -332.4 278.6 "/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 635 B |
Loading…
Reference in New Issue