This commit is contained in:
Vincent Fiduccia
2019-06-24 17:20:13 -07:00
parent c2692a5e47
commit cf5ab5c066
5 changed files with 110 additions and 327 deletions
-136
View File
@@ -1,136 +0,0 @@
/*!
* ml-stack-nav - v1.1.3
* Customizable, responsive, accessible, easy-to-use multi-level stack navigation menu with slide effect.
* https://github.com/damianwajer/ml-stack-nav
*
* Author: Damian Wajer
* License: MIT
*
* @preserve
*/
.ml-stack-nav-toggle {
position: relative;
display: inline-block;
overflow: hidden;
padding: 0;
width: 26px;
height: 22px;
border: 0;
background: none;
color: #525261;
cursor: pointer;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
.ml-stack-nav-toggle__line {
position: absolute;
top: 0;
left: 0;
display: block;
width: 100%;
height: 4px;
border-radius: 9px;
background: #525261;
opacity: 1;
-webkit-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
.ml-stack-nav-toggle__line:nth-child(2) {
top: 9px;
}
.ml-stack-nav-toggle__line:nth-child(3) {
top: 18px;
}
.ml-stack-nav-toggle.is-active .ml-stack-nav-toggle__line:nth-child(1) {
top: 9px;
left: 50%;
width: 0;
}
.ml-stack-nav-toggle.is-active .ml-stack-nav-toggle__line:nth-child(2) {
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.ml-stack-nav-toggle.is-active .ml-stack-nav-toggle__line:nth-child(3) {
top: 9px;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.ml-stack-nav {
position: absolute;
right: 0;
left: 0;
z-index: -1;
overflow: hidden;
box-sizing: border-box;
height: 100%;
}
.ml-stack-nav *,
.ml-stack-nav *:after,
.ml-stack-nav *:before {
box-sizing: inherit;
}
.ml-stack-nav__menu {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 20px;
z-index: 900;
visibility: hidden;
margin: 0;
padding: 0;
border: 1px solid #000;
background-color: #fff;
list-style-position: inside;
-webkit-transition: visibility 0.3s, -webkit-transform 0.3s;
transition: visibility 0.3s, -webkit-transform 0.3s;
transition: transform 0.3s, visibility 0.3s;
transition: transform 0.3s, visibility 0.3s, -webkit-transform 0.3s;
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
}
.ml-stack-nav > .ml-stack-nav__menu {
left: 0;
}
.ml-stack-nav--slide-left .ml-stack-nav__menu {
right: 20px;
left: 0;
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
}
.ml-stack-nav--slide-left > .ml-stack-nav__menu {
right: 0;
}
.no-js .ml-stack-nav:target {
position: static;
visibility: visible;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.no-js .ml-stack-nav:target .ml-stack-nav__menu {
position: static;
visibility: visible;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.no-js .ml-stack-nav .ml-stack-nav__next,
.no-js .ml-stack-nav .ml-stack-nav__back {
display: none;
}
.is-open > .ml-stack-nav__menu {
visibility: visible;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.is-active > .ml-stack-nav__menu {
overflow-x: hidden;
overflow-y: auto;
}
/*# sourceMappingURL=ml-stack-nav.css.map */
+27 -145
View File
@@ -18,36 +18,35 @@
<div class="row max-sized contents-container background-base-gray-side">
<div class="
col-xl-3
col-lg-4
col-md-4
col-sm-12
col-xs-12
col-12
col-xl-3
col-lg-4
col-md-4
col-sm-12
col-xs-12
col-12
side-menus">
<div class="search-container">
<input class="search input" placeholder="SEARCH" />
</div>
<!-- <div class="side-menus-wrap jquery-accordion-menu"> -->
{{ partial "docs-side-nav.html" . }}
<!-- </div> -->
</div>
<div class="
col-xl-9
col-lg-8
col-md-8
col-sm-12
col-xs-12
col-12
col-xl-9
col-lg-8
col-md-8
col-sm-12
col-xs-12
col-12
texts-container">
<div class="docs-wrap">
{{ with .Params.Title }}
<h1 class="m-t-0">{{ . }}</h1>
<hr/>
{{end}}
{{ if .Params.ctaBanner }}
{{ with index .Site.Data.cta .Params.ctaBanner }}
<div class="docs-banner">
@@ -69,23 +68,23 @@
</div>
{{ end }}
{{ end }}
<div class="main-content docs-body">
<!-- this is a test -->
<!-- {{ partial "page-nav.html" . }} -->
<!-- end test -->
{{ .Content }}
{{ $paginator := .Scratch.Get "paginator" }}
{{ range $paginator.Pages }}
<div class="box m-b-md">
<div class="p-a-sm">
<h3><a href="{{.URL}}">{{.Title}}</a></h3>
{{ if .Params.Image }}
<div class="thumbnail"><img src="{{ .Params.Image }}" alt="{{ .Params.Title }}"></div>
{{end}}
<p>{{ .Summary | safeHTML }}</p>
{{ if .Truncated }}
<div>
@@ -95,38 +94,38 @@
</div>
<div class="bg-default">
<div class="row">
{{ with .Params.Author }}
<div class="p-h-sm p-v-xs"><i class="material-icons">person_outline</i> By: {{ . }}</div>
{{end}}
{{ if eq .Section "events" }}
{{ with .Params.EventDate }}
<div class="p-h-sm p-v-xs"><i class="material-icons">event</i> {{ . }}</div>
{{end}}
{{ else }}
{{ with .Params.Date }}
<div class="p-h-sm p-v-xs"><i class="material-icons">event</i> {{ .Format "January 2, 2006" }}</div>
{{end}}
{{end}}
{{ if eq .Section "blog" }}
<div class="p-h-sm p-v-xs"><i class="material-icons">timer</i> Read Time: {{.ReadingTime}} minutes</div>
{{end}}
{{ with .Params.Location }}
<div class="p-h-sm p-v-xs"><i class="material-icons">location_on</i> {{ . }}</div>
{{end}}
</div>
</div>
</div>
{{ end }}
</div>
{{ template "_internal/pagination.html" . }}
<div class="p-v-xs">{{ partial "page-edit.html" . }}</div>
</article>
<!-- {{ with .TableOfContents }}
@@ -144,125 +143,8 @@
<script>
$(document).ready(function() {
// Side menu script
;(function ( $, window, document, undefined ) {
var pluginName = "jqueryAccordionMenu";
var defaults = {
speed: 300,
showDelay: 0,
hideDelay: 0,
singleOpen: true,
clickEffect: true
};
function Plugin ( element, options ) {
this.element = element;
this.settings = $.extend( {}, defaults, options );
this._defaults = defaults;
this._name = pluginName;
this.init();
};
$.extend(Plugin.prototype, {
init: function () {
this.submenuIndicators();
this.openSubmenu();
if(this.settings.clickEffect){
this.addClickEffect();
}
},
openSubmenu: function () {
var touchmoved;
opts = this.settings; //to differ from local variable "this"
$(this.element).children("ul").find("li").find('.submenu-indicator').bind("click", function(e){
var targetElement = $(this).parent().parent()
e.preventDefault();
if (targetElement.attr('class') === 'back-to-the-top') {
$('.side-menus-container').scrollTop(0);
}
if(targetElement.children(".submenu").length > 0) {
if(targetElement.children(".submenu").css("display") == "none") {
targetElement.children(".submenu").delay(opts.showDelay).slideDown(opts.speed);
targetElement.children(".submenu").siblings("a").addClass("submenu-indicator-minus");
targetElement.addClass("activate");
if(opts.singleOpen){
targetElement.siblings().children(".submenu").slideUp(opts.speed);
targetElement.siblings().children(".submenu").siblings("a").removeClass("submenu-indicator-minus");
targetElement.removeClass("activate");
}
return false;
} else {
targetElement.children(".submenu").delay(opts.hideDelay).slideUp(opts.speed);
targetElement.removeClass("activate");
}
if(targetElement.children(".submenu").siblings("a").hasClass("submenu-indicator-minus")){
targetElement.children(".submenu").siblings("a").removeClass("submenu-indicator-minus");
}
}
});
// .on('touchmove', function(e) {
// touchmoved = true;
// }).on('touchstart', function(e) {
// touchmoved = false;
// });
},
submenuIndicators: function () {
if($(this.element).find(".submenu").length > 0){
$(this.element).find(".submenu").siblings("a").append("<span class='submenu-indicator'><span class='object1'></span><span class='object2'></span><span class='object3'></span></span>");
}
},
addClickEffect: function () {
var ink, d, x, y;
$(this.element).find("a").bind("click touchstart", function(e){
$(".ink").remove();
if($(this).children(".ink").length === 0){
$(this).prepend("<span class='ink'></span>");
}
ink = $(this).find(".ink");
ink.removeClass("animate-ink");
if(!ink.height() && !ink.width()){
d = Math.max($(this).outerWidth(), $(this).outerHeight());
ink.css({height: d, width: d});
}
x = e.pageX - $(this).offset().left - ink.width()/2;
y = e.pageY - $(this).offset().top - ink.height()/2;
ink.css({top: y+'px', left: x+'px'}).addClass("animate-ink");
});
}
});
$.fn[ pluginName ] = function ( options ) {
this.each(function() {
if ( !$.data( this, "plugin_" + pluginName ) ) {
$.data( this, "plugin_" + pluginName, new Plugin( this, options ) );
}
});
return this;
};
})( jQuery, window, document );
var sideNavMenus = $('.side-menus-container');
sideNavMenus.jqueryAccordionMenu();
var sideNavMenusMobile = $('.docs-container .side-menus');
$('.guide-menus-activator').click(function() {
if (sideNavMenusMobile.hasClass('show')) {
sideNavMenusMobile.removeClass('show');
} else {
sideNavMenusMobile.addClass('show');
}
$('.docs-container .side-menus').toggleClass('show');
});
// anchor click control.
@@ -280,7 +162,7 @@
if (scrn < scrn_check) {
depth = 120;
}
if (objt_mt > 0) {
depth = depth + objt_mt
}
+83 -44
View File
@@ -12,26 +12,29 @@
{{end}}
<!-- product dropdown -->
<div class="side-menus-container product-select jquery-accordion-menu">
<div class="side-menus-container product-select tree-nav jquery-accordion-menu">
<ul class="side-menus-wrap">
<li class="">
<a href="{{ ($.Scratch.Get "topLevel").Permalink }}" class="">
<span class="">
{{ range $product := $.Site.Sections }}
{{ range $version := .Sections }}
{{ range $language := .Sections }}
{{if $.CurrentSection}}
{{ if .IsAncestor $.CurrentSection }}
{{ .Params.shortTitle }}
{{end}}
<li class="tree-nav-item">
<a>
{{ range $product := $.Site.Sections }}
{{ range $version := .Sections }}
{{ range $language := .Sections }}
{{if $.CurrentSection}}
{{ if .IsAncestor $.CurrentSection }}
{{ .Params.shortTitle }}
{{end}}
{{end}}
{{end}}
{{end}}
{{end}}
<span class="submenu-indicator">
<span class="object1"></span>
<span class="object2"></span>
<span class="object3"></span>
</span>
</a>
<ul class="submenu submenus-wrap">
<ul class="tree-nav-sublist submenu submenus-wrap hide">
{{ range $product := $.Site.Sections }}
{{ range $version := .Sections }}
{{ range $language := .Sections }}
@@ -48,11 +51,11 @@
</div>
<div class="guide-menus-activator">
{{ if .Title }}
{{.Title}}
{{ else }}
Quick Start Guide
{{end}}
{{ if .Title }}
{{.Title}}
{{ else }}
(No Title)
{{end}}
<span class="indicator">
<span class="object1"></span>
@@ -60,36 +63,72 @@ Quick Start Guide
<span class="object3"></span>
</span>
</div>
<div class="side-menus-container guide-menus jquery-accordion-menu">
<div class="side-menus-container guide-menus tree-nav jquery-accordion-menu">
<ul class="side-menus-wrap second">
{{ template "section-tree-nav" ($.Scratch.Get "topLevel") }}
<li class="back-to-the-top">
<a href="#" class="submenu-indicator-close">
Back to the top
<svg class="svg-icon" enable-background="new 0 0 34 34" viewBox="0 0 34 34" xmlns="http://www.w3.org/2000/svg">
<g class="svg-linear" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10">
<path d="m12 14.5 5-5 5 5"></path><path d="m17 9.5v15"></path>
</g>
</svg>
<span class="submenu-indicator"><span class="object1"></span><span class="object2"></span><span class="object3"></span></span>
</a>
</li>
{{ $activeNode := . }}
{{ range ($.Scratch.Get "topLevel").Sections }}
{{ template "menu" dict "node" . "activeNode" $activeNode }}
{{ end }}
</ul>
</div>
{{ define "section-tree-nav" }}
{{ range .Sections}}
<li class="tree-nav-item"><a href="{{ .RelPermalink}}">{{ .Title }}</a>
{{if gt (len .Sections) 0}}
<ul class="tree-nav-sublist submenu submenus-wrap">
{{ range .Pages }}
<li class="tree-nav-item-child"><a href="{{ .RelPermalink}}">{{ .Title }}</a></li>
{{ end }}
{{ template "section-tree-nav" . }}
</ul>
{{end}}
</li>
{{ define "menu" }}
{{/* .node and .activeNode come from the caller */}}
{{- $activeNode := .activeNode -}}
{{- with .node -}}
{{- $isActive := "" -}}
{{- if eq .UniqueID $activeNode.UniqueID -}}
{{- $isActive = "active" -}}
{{- end -}}
{{- $isOpen := false -}}
{{- if (or .Params.alwaysOpen (.IsAncestor $activeNode)) -}}
{{- $isOpen = true -}}
{{- end -}}
{{- if .IsSection -}}
{{- $children := (add (len .Pages) (len .Sections)) -}}
<li class="tree-nav-item {{ $isActive }}">
<a href="{{ .URL }}" class="{{if $isOpen}}submenu-indicator-minus{{end}}">
{{- if .Params.shortTitle -}}
{{ .Params.shortTitle}}
{{- else -}}
{{ .Title }}
{{- end -}}
{{- if gt $children 0 -}}
<span class="submenu-indicator">
<span class="object1"></span>
<span class="object2"></span>
<span class="object3"></span>
</span>
{{- end -}}
</a>
{{if gt $children 0}}
<ul class="tree-nav-sublist submenu submenus-wrap {{ if not $isOpen }}hide{{end}}">
{{- $pages := .Pages -}}
{{- if .Sections -}}
{{- $pages = (.Pages | union .Sections) -}}
{{- end -}}
{{- range $pages.ByWeight -}}
{{- if not .Params.hidden -}}
{{template "menu" dict "node" . "activeNode" $activeNode}}
{{- end -}}
{{- end -}}
</ul>
{{- end -}}
</li>
{{- else if not .Params.hidden -}}
<li class="{{ $isActive }}">
<a href="{{ .URL }}">
{{- if .Params.shortTitle -}}
{{ .Params.shortTitle}}
{{- else -}}
{{ .Title }}
{{- end -}}
</a>
</li>
{{- end -}}
{{ end }}
{{ end }}
-1
View File
@@ -7,7 +7,6 @@
{{ range .Sections}}
<li class=""><a href="{{ .RelPermalink}}">{{ .Title }}</a>
{{if gt (len .Sections) 0}}
<!-- <i class="material-icons expand-toggle">add_box</i> -->
<ul class="hide">
{{ range .Pages }}
<li class=""><a href="{{ .RelPermalink}}">{{ .Title }}</a></li>
-1
View File
@@ -18,7 +18,6 @@
"jsdom": "^11.11.0",
"lory.js": "^2.4.1",
"md5": "^2.2.1",
"ml-stack-nav": "^1.1.2",
"moment": "^2.20.1",
"rancher-website-theme": "https://github.com/rancherlabs/website-theme.git",
"request": "^2.87.0",