Site cleanup
- Remove unreferenced files - Stop using sitemap_exclude in front matter since nothing is looking at this. - Minify the javascript files for faster loading. - Cleanup and add favicons - Fill some of the app manifests for Android and Windows to integrate more nicely. - Address a few Lighthouse auditing issues.
1
404.md
|
@ -6,7 +6,6 @@ order: 0
|
|||
|
||||
layout: notfound
|
||||
type: markdown
|
||||
sitemap_exclude: y
|
||||
---
|
||||
{% include home.html %}
|
||||
|
||||
|
|
|
@ -1,56 +0,0 @@
|
|||
#!groovy
|
||||
|
||||
@Library('testutils@stable-41b0bf6')
|
||||
|
||||
import org.istio.testutils.Utilities
|
||||
import org.istio.testutils.GitUtilities
|
||||
|
||||
// Utilities shared amongst modules
|
||||
def gitUtils = new GitUtilities()
|
||||
def utils = new Utilities()
|
||||
|
||||
mainFlow(utils) {
|
||||
node {
|
||||
gitUtils.initialize()
|
||||
}
|
||||
// PR on every branch
|
||||
if (utils.runStage('PRESUBMIT')) {
|
||||
presubmit(gitUtils)
|
||||
}
|
||||
// Postsubmit from every branch
|
||||
if (utils.runStage('POSTSUBMIT')) {
|
||||
postsubmit(gitUtils, utils)
|
||||
}
|
||||
}
|
||||
|
||||
def checkJekyll() {
|
||||
sh('docker run --rm --label=jekyll --volume=\$(pwd):/srv/jekyll ' +
|
||||
'jekyll/jekyll sh -c "bundle install && rake test"')
|
||||
}
|
||||
|
||||
def pushDocs(utils) {
|
||||
projectId = utils.getParam('FIREBASE_PROJECT_ID')
|
||||
release = utils.getParam('MINOR_RELEASE')
|
||||
if (projectId == '' || release == '') {
|
||||
return
|
||||
}
|
||||
withEnv("PROJECT_ID=${projectId}", "RELEASE=${release}") {
|
||||
withCredentials([string(credentialsId: FIREBASE_TOKEN, variable: 'FIREBASE_TOKEN')]) {
|
||||
sh('scripts/build.sh')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def presubmit(gitUtils) {
|
||||
defaultNode(gitUtils) {
|
||||
checkJekyll()
|
||||
}
|
||||
}
|
||||
|
||||
def postsubmit(gitUtils, utils) {
|
||||
defaultNode(gitUtils) {
|
||||
checkJekyll()
|
||||
pushDocs(utils)
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 51 KiB |
|
@ -9,5 +9,5 @@ Contributions are highly welcome. We look forward to community feedback, additio
|
|||
|
||||
The code repositories are hosted on [GitHub](https://github.com/istio). Please see our [Contribution Guidelines](https://github.com/istio/community/blob/master/CONTRIBUTING.md) to learn how to contribute.
|
||||
|
||||
In addition to the code, there are other ways to contribute to the Istio [community]({{home}}/community/), including on
|
||||
In addition to the code, there are other ways to contribute to the Istio [community]({{home}}/community), including on
|
||||
[Stack Overflow](https://stackoverflow.com/questions/tagged/istio), and the [mailing list](https://groups.google.com/forum/#!forum/istio-users).
|
||||
|
|
|
@ -39,13 +39,13 @@
|
|||
|
||||
<ul>
|
||||
<li>
|
||||
<a href="https://groups.google.com/forum/#!forum/istio-users" target="_blank"><span class="list">User</span></a> |
|
||||
<a href="https://groups.google.com/forum/#!forum/istio-dev" target="_blank">Dev Mailing Lists</a>
|
||||
<a href="https://groups.google.com/forum/#!forum/istio-users" target="_blank" rel="noopener"><span class="list">User</span></a> |
|
||||
<a href="https://groups.google.com/forum/#!forum/istio-dev" target="_blank" rel="noopener">Dev Mailing Lists</a>
|
||||
</li>
|
||||
<li><a href="https://twitter.com/IstioMesh" target="_blank"><span class="twitter">Twitter</span></a></li>
|
||||
<li><a href="https://stackoverflow.com/questions/tagged/istio" target="_blank"><span class="stack-overflow">Stack Overflow</span></a></li>
|
||||
<li><a href="https://github.com/istio/community" target="_blank"><span class="github">GitHub</span></a></li>
|
||||
<li><a href="https://github.com/istio/community/blob/master/WORKING-GROUPS.md" target="_blank"><span class="group">Working Groups</span></a></li>
|
||||
<li><a href="https://twitter.com/IstioMesh" target="_blank" rel="noopener"><span class="twitter">Twitter</span></a></li>
|
||||
<li><a href="https://stackoverflow.com/questions/tagged/istio" target="_blank" rel="noopener"><span class="stack-overflow">Stack Overflow</span></a></li>
|
||||
<li><a href="https://github.com/istio/community" target="_blank" rel="noopener"><span class="github">GitHub</span></a></li>
|
||||
<li><a href="https://github.com/istio/community/blob/master/WORKING-GROUPS.md" target="_blank" rel="noopener"><span class="group">Working Groups</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -31,11 +31,11 @@
|
|||
|
||||
<div class="collapse navbar-collapse" id="navbar-collapse-1">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li><a href="{{home}}/about/" {% if current[1] == 'about' %}class='current'{% endif %}>About</a></li>
|
||||
<li><a href="{{home}}/blog/" {% if current[1] == 'blog' %}class='current'{% endif %}>Blog</a></li>
|
||||
<li><a href="{{home}}/docs/" {% if current[1] == 'docs' %}class='current'{% endif %}>Docs</a></li>
|
||||
<li><a href="{{home}}/help/" {% if current[1] == 'help' %}class='current'{% endif %}>Help</a></li>
|
||||
<li><a href="{{home}}/community/" {% if current[1] == 'community' %}class='current'{% endif %}>Community</a></li>
|
||||
<li><a href="{{home}}/about" {% if current[1] == 'about' %}class='current'{% endif %}>About</a></li>
|
||||
<li><a href="{{home}}/blog" {% if current[1] == 'blog' %}class='current'{% endif %}>Blog</a></li>
|
||||
<li><a href="{{home}}/docs" {% if current[1] == 'docs' %}class='current'{% endif %}>Docs</a></li>
|
||||
<li><a href="{{home}}/help" {% if current[1] == 'help' %}class='current'{% endif %}>Help</a></li>
|
||||
<li><a href="{{home}}/community" {% if current[1] == 'community' %}class='current'{% endif %}>Community</a></li>
|
||||
<li>{% include search-box.html %}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -12,6 +12,7 @@ layout: compress
|
|||
<meta name="title" content="{{page.title}}">
|
||||
<meta name="og:title" content="{{page.title}}">
|
||||
<meta name="og:image" content="{{home}}/img/logo.png"/>
|
||||
<meta name="theme-color" content="#466BB0"/>
|
||||
|
||||
{% if page.overview == nil %}
|
||||
<meta name="description" content="An open platform to connect, manage, and secure microservices.">
|
||||
|
@ -39,15 +40,22 @@ layout: compress
|
|||
<!-- RSS -->
|
||||
<link rel="alternate" type="application/rss+xml" title="Istio Blog RSS" href="{{home}}/feed.xml">
|
||||
|
||||
<!-- Favicons -->
|
||||
<link rel="apple-touch-icon" href="{{home}}/favicons/apple-touch-icon.png" sizes="180x180">
|
||||
<link rel="icon" type="image/png" href="{{home}}/favicons/android-chrome-96x96.png" sizes="96x96" >
|
||||
<link rel="icon" type="image/png" href="{{home}}/favicons/favicon-32x32.png" sizes="32x32">
|
||||
<!-- Favicons: generated from img/istio-logo.svg by http://cthedot.de/icongen -->
|
||||
<link rel="shortcut icon" href="{{home}}/favicons/favicon.ico" >
|
||||
<link rel="apple-touch-icon" href="{{home}}/favicons/apple-touch-icon-180x180.png" sizes="180x180">
|
||||
<link rel="icon" type="image/png" href="{{home}}/favicons/favicon-16x16.png" sizes="16x16">
|
||||
<link rel="manifest" href="{{home}}/favicons/manifest.json">
|
||||
<link rel="mask-icon" href="{{home}}/favicons/safari-pinned-tab.svg" color="#2DA6B0">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="{{home}}/favicons/mstile-150x150.png">
|
||||
<link rel="icon" type="image/png" href="{{home}}/favicons/favicon-32x32.png" sizes="32x32">
|
||||
<link rel="icon" type="image/png" href="{{home}}/favicons/android-36x36.png" sizes="36x36">
|
||||
<link rel="icon" type="image/png" href="{{home}}/favicons/android-48x48.png" sizes="48x48">
|
||||
<link rel="icon" type="image/png" href="{{home}}/favicons/android-72x72.png" sizes="72x72">
|
||||
<link rel="icon" type="image/png" href="{{home}}/favicons/android-96x196.png" sizes="96x196">
|
||||
<link rel="icon" type="image/png" href="{{home}}/favicons/android-144x144.png" sizes="144x144">
|
||||
<link rel="icon" type="image/png" href="{{home}}/favicons/android-192x192.png" sizes="192x192">
|
||||
|
||||
<!-- app manifests -->
|
||||
<link rel="manifest" href="{{home}}/manifest.json">
|
||||
<meta name="apple-mobile-web-app-title" content="Istio">
|
||||
<meta name="application-name" content="Istio">
|
||||
|
||||
<!-- style sheets -->
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700,700italic,900,900italic">
|
||||
|
@ -75,9 +83,9 @@ layout: compress
|
|||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
|
||||
|
||||
<!-- our own scripts -->
|
||||
<script src="{{home}}/js/common.js"></script>
|
||||
<script src="{{home}}/js/buttons.js"></script>
|
||||
<script src="{{home}}/js/search.js"></script>
|
||||
<script src="{{home}}/js/prism.js"></script>
|
||||
<script src="{{home}}/js/common.min.js"></script>
|
||||
<script src="{{home}}/js/buttons.min.js"></script>
|
||||
<script src="{{home}}/js/search.min.js"></script>
|
||||
<script src="{{home}}/js/prism.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -4,7 +4,7 @@ layout: default
|
|||
{% include home.html %}
|
||||
{% include doc-top-nav.html %}
|
||||
|
||||
<script src="{{home}}/js/navtree.js"></script>
|
||||
<script src="{{home}}/js/navtree.min.js"></script>
|
||||
|
||||
<div class="container docs">
|
||||
<div class="row">
|
||||
|
@ -15,7 +15,7 @@ layout: default
|
|||
</div>
|
||||
|
||||
<div id="tab-container" class="col-xs-1 tab-neg-margin pull-left">
|
||||
<a id="sidebar-tab" class="glyphicon glyphicon-chevron-left" href="javascript:void 0;"></a>
|
||||
<a id="sidebar-tab" class="glyphicon glyphicon-chevron-left" href="javascript:void 0;">Chevron</a>
|
||||
</div>
|
||||
|
||||
<div id="content-container" class="thin-left-border col-sm-9 {{ page.type }}">
|
||||
|
@ -33,4 +33,4 @@ layout: default
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<script src="{{home}}/js/sidemenu.js"></script>
|
||||
<script src="{{home}}/js/sidemenu.min.js"></script>
|
|
@ -3,7 +3,7 @@ layout: default
|
|||
---
|
||||
{% include home.html %}
|
||||
|
||||
<script src="{{home}}/js/faq.js"></script>
|
||||
<script src="{{home}}/js/faq.min.js"></script>
|
||||
|
||||
<div class="container faq">
|
||||
<div class="row">
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<browserconfig>
|
||||
<msapplication>
|
||||
<tile>
|
||||
<square70x70logo src="favicons/tile70x70.png" />
|
||||
<square150x150logo src="favicons/tile150x150.png" />
|
||||
<wide310x150logo src="favicons/tile310x150.png" />
|
||||
<square310x310logo src="favicons/tile310x310.png" />
|
||||
<tilecolor>#466BB0</tilecolor>
|
||||
</tile>
|
||||
</msapplication>
|
||||
</browserconfig>
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
sitemap_exclude: y
|
||||
---
|
||||
|
||||
@import "base/config";
|
||||
@import "base/reset";
|
||||
@import "base/colors";
|
||||
|
|
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 813 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 2.0 KiB |
|
@ -1,9 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<browserconfig>
|
||||
<msapplication>
|
||||
<tile>
|
||||
<square150x150logo src="/mstile-150x150.png"/>
|
||||
<TileColor>#da532c</TileColor>
|
||||
</tile>
|
||||
</msapplication>
|
||||
</browserconfig>
|
Before Width: | Height: | Size: 768 B After Width: | Height: | Size: 367 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 636 B |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 1.1 KiB |
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"name": "istio",
|
||||
"icons": [
|
||||
{
|
||||
"src": "/android-chrome-96x96.png",
|
||||
"sizes": "96x96",
|
||||
"type": "image/png"
|
||||
}
|
||||
],
|
||||
"theme_color": "#ffffff",
|
||||
"background_color": "#ffffff",
|
||||
"display": "standalone"
|
||||
}
|
Before Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 20 KiB |
|
@ -1,14 +0,0 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||
width="16.000000pt" height="16.000000pt" viewBox="0 0 16.000000 16.000000"
|
||||
preserveAspectRatio="xMidYMid meet">
|
||||
<metadata>
|
||||
Created by potrace 1.11, written by Peter Selinger 2001-2013
|
||||
</metadata>
|
||||
<g transform="translate(0.000000,16.000000) scale(0.016000,-0.016000)"
|
||||
fill="#000000" stroke="none">
|
||||
<path d="M0 495 l0 -445 498 0 499 0 0 445 0 445 -499 0 -498 0 0 -445z"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 589 B |
After Width: | Height: | Size: 8.8 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 2.6 KiB |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="321.13" height="201.813" viewBox="0 0 321.13036 201.81341"><path fill="#4285f4" d="M20 20h281.13v161.813H20z" opacity=".709"/><path d="M180.694 121.27l-29.245 7.853-11.825-7.846 41.07-.008zM152.454 86.26v27.983l-13.81 4.513 13.81-32.495zM155.782 66.26l-.092 47.983 25.004 4.693-24.912-52.676z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 360 B |
Before Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 300 KiB |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="57" height="59" viewBox="0 0 57 59"><path fill="#FFF" d="M39.436 21.061l-2.122-2.122-8.814 8.815-8.814-8.815-2.122 2.122 8.815 8.814-8.815 8.814 2.122 2.122 8.814-8.815 8.814 8.815 2.122-2.122-8.815-8.814z"/></svg>
|
Before Width: | Height: | Size: 261 B |
|
@ -0,0 +1 @@
|
|||
!function(t){t(document).ready(function(){t.fn.reverse=[].reverse,t(document).on("mouseenter.fixedActionBtn",".fixed-action-btn:not(.click-to-toggle)",function(i){var a=t(this);n(a)}),t(document).on("mouseleave.fixedActionBtn",".fixed-action-btn:not(.click-to-toggle)",function(n){var a=t(this);i(a)}),t(document).on("click.fixedActionBtn",".fixed-action-btn.click-to-toggle > a",function(a){var e=t(this),o=e.parent();o.hasClass("active")?i(o):n(o)})}),t.fn.extend({openFAB:function(){n(t(this))},closeFAB:function(){i(t(this))}});var n=function(n){if($this=n,$this.hasClass("active")===!1){var i,a,e=$this.hasClass("horizontal");e===!0?a=40:i=40,$this.addClass("active"),$this.find("ul .btn-floating").velocity({scaleY:".4",scaleX:".4",translateY:i+"px",translateX:a+"px"},{duration:0});var o=0;$this.find("ul .btn-floating").reverse().each(function(){t(this).velocity({opacity:"1",scaleX:"1",scaleY:"1",translateY:"0",translateX:"0"},{duration:80,delay:o}),o+=40})}},i=function(t){$this=t;var n,i,a=$this.hasClass("horizontal");a===!0?i=40:n=40,$this.removeClass("active");$this.find("ul .btn-floating").velocity("stop",!0),$this.find("ul .btn-floating").velocity({opacity:"0",scaleX:".4",scaleY:".4",translateY:n+"px",translateX:i+"px"},{duration:80})}}(jQuery);
|
|
@ -1,5 +1,4 @@
|
|||
---
|
||||
sitemap_exclude: y
|
||||
---
|
||||
|
||||
// Set up tabs
|
||||
|
@ -88,7 +87,7 @@ $(document).ready(function() {
|
|||
});
|
||||
|
||||
// Collapsible navbar menu, using https://github.com/jordnkr/collapsible
|
||||
$.getScript("{{ site.baseurl }}/js/jquery.collapsible.js", function(){
|
||||
$.getScript("{{ site.baseurl }}/js/jquery.collapsible.min.js", function(){
|
||||
highlightActive();
|
||||
$('.submenu').collapsible();
|
||||
});
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
---
|
||||
|
||||
function setupTabs(n){n=n||document;var i=$(n).find("div.tabs");i.length>0&&i.tabs()}$(document).ready(function(){var n=$(window),i=0;n.scroll(function(){var n=$(this).scrollTop();n>i?$("#sticky-nav").visible()&&$("#sticky-nav").removeClass("on-page"):$(".nav-hero-container").visible(!0)&&$("#sticky-nav").visible()?$("#sticky-nav").removeClass("on-page"):$(".nav-hero-container").visible(!0)||$("#sticky-nav").addClass("on-page"),i=n}),$(".toc").click(function(){setTimeout(function(){$("#sticky-nav").addClass("on-page")},1e3)}),setTimeout(function(){-1!=document.URL.indexOf("#")&&-1==document.URL.indexOf("contribute")&&$("#sticky-nav").addClass("on-page")},1e3),$(".btn-floating").on("click",function(){$("html, body").scrollTo("#"+$(this).data("target"),350)}),$("#toc").toc({listType:"ul"}),$(".nav-toggle, .hamburger").on("click",function(){$(".top-nav").toggleClass("right")}),$(".nav-doc-toggle").on("click",function(){$(".doc-list").toggleClass("active")}),$(window).on("resize",function(){$(window).width()>=768&&!$(".top-nav").hasClass("right")&&$(".top-nav").addClass("right")}),$(".toggle").on("click",function(){$(this).toggleClass("active")}),$(".hero-down-arrow").on("click",function(){var n=$(".hero-wrapper:eq(0)").position().top;$("html,body").animate({scrollTop:n},300)}),window.Prism&&window.Prism.hooks.add("complete",function(n){var i=$(n.element).closest("pre"),o=$('<div class="code-block">');i.wrap(o)})}),$.getScript("{{ site.baseurl }}/js/jquery.collapsible.min.js",function(){highlightActive(),$(".submenu").collapsible()}),function(n){n.fn.toc=function(o){function e(n){return encodeURIComponent(n).replace(/[!'()*]/g,function(n){return"%"+n.charCodeAt(0).toString(16)})}var t={noBackToTopLinks:!1,title:"",minimumHeaders:2,headers:"h2, h3, h4, h5, h6",listType:"ol",showEffect:"none",showSpeed:"0"},a=n.extend(t,o),s=n(a.headers).filter(function(){var i=n(this).prev().attr("name");return!this.id&&i&&(this.id=n(this).attr("id",i.replace(/\./g,"-"))),this.id}),c=n(this);if(s.length&&!(s.length<a.minimumHeaders)&&c.length){0===a.showSpeed&&(a.showEffect="none");var l,r={show:function(){n("#toc").addClass("toc"),c.hide().html(p).show(a.showSpeed)},slideDown:function(){c.hide().html(p).slideDown(a.showSpeed)},fadeIn:function(){c.hide().html(p).fadeIn(a.showSpeed)},none:function(){c.html(p)}},d=function(n){return parseInt(n.nodeName.replace("H",""),10)},h=s.map(function(n,i){return d(i)}).get().sort()[0],f='<i class="icon-arrow-up back-to-top"> </i>',u=d(s[0]),p=a.title+" <"+a.listType+">";s.on("click",function(){a.noBackToTopLinks||(window.location.hash=this.id)}).addClass("clickable-header").each(function(o,t){if(l=d(t),a.noBackToTopLinks||l!==h||n(t).addClass("top-level-header").after(f),l===u)p+="<li><a href='#"+e(t.id)+"'>"+t.innerHTML+"</a>";else if(u>=l){for(i=l;i<u;i++)p+="</li></"+a.listType+">";p+="<li><a href='#"+e(t.id)+"'>"+t.innerHTML+"</a>"}else if(l>u){for(i=l;i>u;i--)p+="<"+a.listType+"><li>";p+="<a href='#"+e(t.id)+"'>"+t.innerHTML+"</a>"}u=l}),p+="</"+a.listType+">",a.noBackToTopLinks||n(document).on("click",".back-to-top",function(){n(window).scrollTop(0),window.location.hash=""}),r[a.showEffect]()}}}(jQuery);
|
|
@ -0,0 +1 @@
|
|||
$(function(){$(".list-group-item").on("click",function(t){var i=$(this).closest(".list-group").children(".active");i.removeClass("active"),$(t.target).addClass("active")})});
|
|
@ -0,0 +1 @@
|
|||
function highlightActive(){function e(e,a){var s=e.indexOf(a);return s>=0&&e.length==a.length+s?!0:!1}$(".docs-side-nav a.active").removeClass("active");var a=window.location.hostname+window.location.pathname;$(".docs-side-nav li a[href]").each(function(s,o){e(a,o.href.replace(/^.*\/\//,"").replace(/\:\d+/,""))&&$(o).addClass("active")})}!function(e,a){e.fn.collapsible=function(a,s){var o={accordionUpSpeed:400,accordionDownSpeed:400,collapseSpeed:400,contentOpen:0,arrowRclass:"arrow-r",arrowDclass:"arrow-d",animate:!0};if("object"==typeof a)var c=e.extend(o,a);else var c=e.extend(o,s);return this.each(function(){c.animate===!1&&(c.accordionUpSpeed=0,c.accordionDownSpeed=0,c.collapseSpeed=0);var s=e(this).children(":even"),o=e(this).children(":odd"),n="accordion-active";switch(a){case"accordion-open":case"accordion":"accordion-open"===a&&(e(s[c.contentOpen]).children(":first-child").toggleClass(c.arrowRclass+" "+c.arrowDclass),e(o[c.contentOpen]).show().addClass(n)),e(s).click(function(){e(this).next().attr("class")===n?(e(this).next().slideUp(c.accordionUpSpeed).removeClass(n),e(this).children(":first-child").toggleClass(c.arrowRclass+" "+c.arrowDclass)):(e(s).children().removeClass(c.arrowDclass).addClass(c.arrowRclass),e(o).slideUp(c.accordionUpSpeed).removeClass(n),e(this).next().slideDown(c.accordionDownSpeed).addClass(n),e(this).children(":first-child").toggleClass(c.arrowRclass+" "+c.arrowDclass))});break;case"default-open":default:("default-open"===a||e(this).find("a.active").length)&&(e(s[c.contentOpen]).toggleClass(c.arrowRclass+" "+c.arrowDclass),e(o[c.contentOpen]).show()),e(s).click(function(){e(this).toggleClass(c.arrowRclass+" "+c.arrowDclass),e(this).next().slideToggle(c.collapseSpeed)})}})}}(jQuery);
|
|
@ -1,204 +0,0 @@
|
|||
$(document).ready(function() {
|
||||
|
||||
// Expose extra mc form methods in global var
|
||||
window.mc = {
|
||||
openPopup: function() {
|
||||
$('#mc_embed_signup a.mc_embed_close').show();
|
||||
setTimeout( function(){ $('#mc_embed_signup').fadeIn(); } , mc.delayPopup);
|
||||
},
|
||||
closePopup: function() {
|
||||
$('#mc_embed_signup').hide();
|
||||
var now = new Date();
|
||||
var expires_date = new Date( now.getTime() + 31536000000 );
|
||||
document.cookie = 'MCEvilPopupClosed=yes;expires=' + expires_date.toGMTString()+';path=/';
|
||||
},
|
||||
/**
|
||||
* Figure out if we should show the popup (if they've closed it before, don't show it.)
|
||||
*/
|
||||
evalPopup: function() {
|
||||
$('#mc_embed_signup').hide();
|
||||
cks = document.cookie.split(';');
|
||||
for(i=0; i<cks.length; i++){
|
||||
parts = cks[i].split('=');
|
||||
if (parts[0].indexOf('MCEvilPopupClosed') != -1) mc.showPopup = false;
|
||||
}
|
||||
if (mc.showPopup) mc.openPopup();
|
||||
},
|
||||
/**
|
||||
* Grab the list subscribe url from the form action and make it work for an ajax post.
|
||||
*/
|
||||
getAjaxSubmitUrl: function() {
|
||||
var url = $("form#mc-embedded-subscribe-form").attr("action");
|
||||
if (url) {
|
||||
url = url.replace("/post?u=", "/post-json?u=");
|
||||
url += "&c=?";
|
||||
}
|
||||
return url;
|
||||
},
|
||||
/**
|
||||
* Classify text inputs in the same field group as group for validation purposes.
|
||||
* All this does is tell jQueryValidation to create one error div for the group, rather
|
||||
* than one for each input. Primary use case is birthday and date fields, where we want
|
||||
* to display errors about the inputs collectively, not individually.
|
||||
*
|
||||
* NOTE: Grouping inputs will give you one error div, but you still need to specify where
|
||||
* that div should be displayed. By default, it's inserted after the first input with a
|
||||
* validation error, which can break up a set of inputs. Use the errorPlacement setting in
|
||||
* the validator to control error div placement.
|
||||
*/
|
||||
getGroups: function (){
|
||||
var groups = {};
|
||||
$(".mc-field-group").each(function(index) {
|
||||
var inputs = $(this).find("input:text:not(:hidden)");
|
||||
if (inputs.length > 1) {
|
||||
var mergeName = inputs.first().attr("name");
|
||||
var fieldNames = $.map(inputs, function(f) { return f.name; });
|
||||
groups[mergeName.substring(0, mergeName.indexOf("["))] = fieldNames.join(" ");
|
||||
}
|
||||
});
|
||||
return groups;
|
||||
},
|
||||
/**
|
||||
* Check if a field is part of a multipart field
|
||||
* (e.g., A date merge field is composed of individual inputs for month, day and year)
|
||||
* Used in jQuery validation onkeyup method to ensure that we don't evaluate a field
|
||||
* if a user hasn't reached the last input in a multipart field yet.
|
||||
*/
|
||||
isMultiPartField: function(element) {
|
||||
return ($('input:not(:hidden)' , $(element).closest(".mc-field-group")).length > 1);
|
||||
},
|
||||
/**
|
||||
* Checks if the element is the last input in its fieldgroup.
|
||||
* If the field is not the last in a set of inputs we don't want to validate it on certain events (onfocusout, onblur)
|
||||
* because the user might not be finished yet.
|
||||
*/
|
||||
isTooEarly: function(element) {
|
||||
var fields = $('input:not(:hidden)' , $(element).closest(".mc-field-group"));
|
||||
return ($(fields).eq(-1).attr('id') != $(element).attr('id'));
|
||||
},
|
||||
/**
|
||||
* Handle the error/success message after successful form submission.
|
||||
* Success messages are appended to #mce-success-response
|
||||
* Error messages are displayed with the invalid input when possible, or appended to #mce-error-response
|
||||
*/
|
||||
mce_success_cb: function(resp){
|
||||
|
||||
$('#mce-success-response').hide();
|
||||
$('#mce-error-response').hide();
|
||||
|
||||
// On successful form submission, display a success message and reset the form
|
||||
if (resp.result == "success"){
|
||||
$('#mce-'+resp.result+'-response').show();
|
||||
$('#mce-'+resp.result+'-response').html(resp.msg);
|
||||
$('#mc-embedded-subscribe-form').each(function(){
|
||||
this.reset();
|
||||
});
|
||||
|
||||
// If the form has errors, display them, inline if possible, or appended to #mce-error-response
|
||||
} else {
|
||||
|
||||
// Example errors - Note: You only get one back at a time even if you submit several that are bad.
|
||||
// Error structure - number indicates the index of the merge field that was invalid, then details
|
||||
// Object {result: "error", msg: "6 - Please enter the date"}
|
||||
// Object {result: "error", msg: "4 - Please enter a value"}
|
||||
// Object {result: "error", msg: "9 - Please enter a complete address"}
|
||||
|
||||
// Try to parse the error into a field index and a message.
|
||||
// On failure, just put the dump thing into in the msg variable.
|
||||
var index = -1;
|
||||
var msg;
|
||||
try {
|
||||
var parts = resp.msg.split(' - ',2);
|
||||
if (parts[1]==undefined){
|
||||
msg = resp.msg;
|
||||
} else {
|
||||
i = parseInt(parts[0]);
|
||||
if (i.toString() == parts[0]){
|
||||
index = parts[0];
|
||||
msg = parts[1];
|
||||
} else {
|
||||
index = -1;
|
||||
msg = resp.msg;
|
||||
}
|
||||
}
|
||||
} catch(e){
|
||||
index = -1;
|
||||
msg = resp.msg;
|
||||
}
|
||||
|
||||
try {
|
||||
// If index is -1 if means we don't have data on specifically which field was invalid.
|
||||
// Just lump the error message into the generic response div.
|
||||
if (index == -1){
|
||||
$('#mce-'+resp.result+'-response').show();
|
||||
$('#mce-'+resp.result+'-response').html(msg);
|
||||
|
||||
} else {
|
||||
var fieldName = $("input[name*='"+fnames[index]+"']").attr('name'); // Make sure this exists (they haven't deleted the fnames array lookup)
|
||||
var data = {};
|
||||
data[fieldName] = msg;
|
||||
mc.mce_validator.showErrors(data);
|
||||
}
|
||||
} catch(e){
|
||||
$('#mce-'+resp.result+'-response').show();
|
||||
$('#mce-'+resp.result+'-response').html(msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
window.mc.mce_validator = $("#mc-embedded-subscribe-form").validate({
|
||||
|
||||
// Set error HTML: <div class="mce_inline_error"></div>
|
||||
errorClass: "mce_inline_error",
|
||||
errorElement: "div",
|
||||
|
||||
// Validate fields on keyup, focusout and blur.
|
||||
onkeyup: false,
|
||||
onfocusout: function(element) {
|
||||
if (!mc.isTooEarly(element)) {
|
||||
$(element).valid();
|
||||
}
|
||||
},
|
||||
onblur: function(element) {
|
||||
if (!mc.isTooEarly(element)) {
|
||||
$(element).valid();
|
||||
}
|
||||
},
|
||||
// Grouping fields makes jQuery Validation display one error for all the fields in the group
|
||||
// It doesn't have anything to do with how the fields are validated (together or separately),
|
||||
// it's strictly for visual display of errors
|
||||
groups: mc.getGroups(),
|
||||
// Place a field's inline error HTML just before the div.mc-field-group closing tag
|
||||
errorPlacement: function(error, element) {
|
||||
element.closest('#mc-embedded-subscribe-form').append(error);
|
||||
},
|
||||
// Submit the form via ajax (see: jQuery Form plugin)
|
||||
submitHandler: function(form) {
|
||||
$(form).ajaxSubmit(mc.ajaxOptions);
|
||||
}
|
||||
});
|
||||
|
||||
window.mc.ajaxOptions = {
|
||||
url: mc.getAjaxSubmitUrl(),
|
||||
type: 'GET',
|
||||
dataType: 'json',
|
||||
contentType: "application/json; charset=utf-8",
|
||||
success: mc.mce_success_cb
|
||||
};
|
||||
|
||||
// Custom validation methods for fields with certain css classes
|
||||
$.validator.addClassRules("birthday", { digits: true, mc_birthday: ".datefield" });
|
||||
$.validator.addClassRules("datepart", { digits: true, mc_date: ".datefield" });
|
||||
$.validator.addClassRules("phonepart", { digits: true, mc_phone: ".phonefield" });
|
||||
|
||||
// Evil Popup
|
||||
$('#mc_embed_signup a.mc_embed_close').click(function(){
|
||||
mc.closePopup();
|
||||
});
|
||||
$(document).keydown(function(e){
|
||||
keycode = (e == null) ? event.keyCode : e.which;
|
||||
if (keycode == 27 && typeof mc.showPopup != 'undefined') mc.closePopup();
|
||||
});
|
||||
|
||||
});
|
|
@ -1,8 +1,7 @@
|
|||
---
|
||||
sitemap_exclude: y
|
||||
---
|
||||
|
||||
{% assign home = site.baseurl %}
|
||||
// {% assign home = site.baseurl %}
|
||||
|
||||
// Given an array of documents, constructs a tree of items
|
||||
//
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
---
|
||||
|
||||
{% assign home = site.baseurl %}
|
||||
|
||||
function makeNavTree(e,t,n){for(var r=[],o=0;o<t.length;o++){var l=t[o],c=l.path[n];if("index.md"!=c){for(var i=null,d=0;d<r.length;d++)if(r[d].name===c){i=r[d];break}null===i&&(i={name:c,doc:null,children:[]},r.push(i)),l.path.length>n+1?i.children.push(l):i.doc=l}else null!=e&&(e.doc=l)}for(o=0;o<r.length;o++)i=r[o],i.children=makeNavTree(i,i.children,n+1);return r.sort(function(e,t){return e.doc.order<t.doc.order?-1:e.doc.order>t.doc.order?1:0}),r}function outputNavBarTree(e){document.writeln("<ul class='list-unstyled tree'>");for(var t=0;t<e.length;t++){var n=e[t];0==n.children.length&&(n.doc.url==location.pathname?document.write("<li class='doc-side-nav-list-item'><a class='current' href='"):document.write("<li class='doc-side-nav-list-item'><a href='"),document.write("{{home}}"),document.write(n.doc.url),document.write("'>"),document.write(n.doc.title),document.writeln("</a>"),9999==n.doc.order&&document.writeln("(please set order: front matter for this document)"),document.writeln("</li>"))}for(var t=0;t<e.length;t++){var n=e[t];n.children.length>0&&(document.writeln("<li class='doc-side-nav-list-item'>"),document.writeln("<label class='tree-toggle'>"),document.writeln("<i class='fa fa-lg fa-caret-down'></i>"),document.writeln("<a class='tree-toggle-link' href='javascript:void 0;'>"),null==n.doc?document.writeln(n.name):document.writeln(n.doc.title),document.writeln("</a>"),document.writeln("</label>"),9999==n.doc.order&&document.writeln("(please set order: front matter for this document)"),outputNavBarTree(n.children),document.writeln("</li>"))}document.writeln("</ul>")}function genNavBarTree(e){var t=makeNavTree(null,e,0);outputNavBarTree(t)}function outputSectionNavTree(e){document.writeln("<ul>");for(var t=0;t<e.length;t++){var n=e[t];0==n.children.length&&(document.write("<li class='file'>"),document.write("<a href='{{home}}"),document.write(n.doc.url),document.write("'>"),document.write(n.doc.title),document.write("</a>. "+n.doc.overview),document.writeln("</li>"))}for(var t=0;t<e.length;t++){var n=e[t];n.children.length>0&&(document.write("<li class='directory'>"),null==n.doc?document.writeln(n.name):(document.write("<a href='"),document.write("{{home}}"),document.write(n.doc.url),document.write("'>"),document.write(n.doc.title),document.write("</a>"),document.writeln("")),outputSectionNavTree(n.children),document.writeln("</li>"))}document.writeln("</ul>")}function genSectionNavTree(e){var t=makeNavTree(null,e,0);document.writeln("<div class='section-index'>"),outputSectionNavTree(t),document.writeln("</div>")}
|
|
@ -0,0 +1 @@
|
|||
!function(n){function e(){var n="/search/?q="+document.getElementsByName("q")[0].value;window.location.assign(n)}n(document).ready(function(){function t(){var e=screen.width<1024?"20":"30";n("input[name='q']").attr("size",e)}function o(){function n(){u=null,i()}u||(u=setTimeout(n,66))}function i(){t()}n("#searchbox_demo").on("submit",function(n){n.preventDefault(),e()}),n(".btn-search").on("click",function(n){n.preventDefault(),e()});var u;n(window).on("resize",o),t()})}(jQuery);
|
|
@ -0,0 +1 @@
|
|||
!function(e){e(document).ready(function(){function n(){var n=e(document).width();992>n&&!c&&(l.hide(),s.removeClass("glyphicon-chevron-left"),s.addClass("glyphicon-chevron-right"),o=!1)}function t(){n()}var o=!0,l=e("#sidebar-container"),i=e("#content-container"),a=e("#tab-container"),s=e("#sidebar-tab"),c=!1;e(document).on("click","#sidebar-tab",function(){c=!0,e(this).toggleClass("glyphicon-chevron-right"),e(this).toggleClass("glyphicon-chevron-left"),l.toggle(250),o=!o,o?(a.addClass("col-xs-1 tab-neg-margin pull-left"),i.removeClass("col-sm-11"),i.addClass("thin-left-border col-sm-9")):(a.removeClass("col-xs-1 tab-neg-margin pull-left"),i.removeClass("thin-left-border col-sm-9"),i.addClass("col-sm-11"))}),e(document).on("click",".tree-toggle",function(){e(this).children("i.fa").toggleClass("fa-caret-right"),e(this).children("i.fa").toggleClass("fa-caret-down"),e(this).parent().children("ul.tree").toggle(200)}),window.addEventListener("resize",t,!1),window.onload=function(){n()}})}(jQuery);
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"name": "Istio Service Mesh",
|
||||
"short_name": "Istio",
|
||||
"icons": [
|
||||
{
|
||||
"src": "favicons/pwa-192x192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png"
|
||||
},
|
||||
|
||||
{
|
||||
"src": "favicons/pwa-512x512.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png"
|
||||
}
|
||||
],
|
||||
"theme_color": "#466BB0",
|
||||
"background_color": "#ffffff",
|
||||
"display": "standalone"
|
||||
}
|
|
@ -219,7 +219,7 @@ or [manual]({{home}}/docs/setup/kubernetes/sidecar-injection.html#manual-sidecar
|
|||
Look for errors related to your configuration or your service in the
|
||||
returned logs.
|
||||
|
||||
More on viewing Mixer configuration can be found [here]({{home}}/faq/index.html#mixer-self-monitoring)
|
||||
More on viewing Mixer configuration can be found [here]({{home}}/faq#mixer-self-monitoring)
|
||||
|
||||
### Verify Mixer is sending metric instances to the Prometheus adapter
|
||||
|
||||
|
|