From 94257b5a01b720d9e320a31df442c54ffe101cb5 Mon Sep 17 00:00:00 2001 From: dpilafian Date: Sun, 16 Oct 2022 18:46:11 -0700 Subject: [PATCH] Release v1.5.9 --- dist/blogger-tweaks.min.css | 9 ++-- dist/layouts/block-duo.css | 4 +- dist/layouts/color-blocks.css | 4 +- dist/layouts/color-slide.css | 4 +- dist/layouts/letterbox.css | 4 +- dist/layouts/modern.css | 4 +- dist/layouts/neon.css | 2 +- dist/layouts/neon.min.js | 2 +- dist/layouts/vertical-bars.css | 4 +- dist/layouts/zebra-sections.css | 4 +- dist/lib-x.d.ts | 2 +- dist/lib-x.dev.js | 11 ++--- dist/lib-x.js | 11 ++--- dist/lib-x.min.js | 4 +- dist/reset.min.css | 6 +-- package.json | 2 +- src/css/layouts.html | 70 +++++++++++++++--------------- src/css/layouts/block-duo.css | 2 +- src/css/layouts/color-blocks.css | 2 +- src/css/layouts/color-slide.css | 2 +- src/css/layouts/color-slide.html | 42 +++++++++--------- src/css/layouts/letterbox.css | 2 +- src/css/layouts/modern.css | 2 +- src/css/layouts/vertical-bars.css | 2 +- src/css/layouts/zebra-sections.css | 2 +- src/css/reset-color-overrides.css | 2 +- task-runner.sh.command | 17 ++++++-- 27 files changed, 117 insertions(+), 105 deletions(-) diff --git a/dist/blogger-tweaks.min.css b/dist/blogger-tweaks.min.css index 5e7f283..73deb39 100644 --- a/dist/blogger-tweaks.min.css +++ b/dist/blogger-tweaks.min.css @@ -1,6 +1,5 @@ -/*! web-ignition v1.5.8 ~~ https://github.com/center-key/web-ignition ~~ MIT License */ -#header-container #header .header-bar .title h3{border-bottom:2px solid transparent;margin-left:20px;transition:all .4s}#header-container #header .header-bar .title h3:hover{border-color:#000}#header-container #header .header-drawer{top:35px}#header-container #header .header-drawer #views.menu{display:none;max-height:0;max-width:0;opacity:0;visibility:hidden;z-index:-10000}#main #sidebar{margin-top:-30px;width:340px}#main #sidebar .items .item h3.title{font-size:1rem}#main #content{margin-left:360px}#main #content .article .article-header h1.title{font-size:2rem;font-weight:700;padding-right:0}#main #content .article .article-content{font-size:1.2rem;margin-bottom:40px;text-align:left;word-break:normal}#main #content .article .article-content table{border-collapse:collapse;margin-bottom:20px}#main #content .article .article-content table caption{color:dimgray;font-size:.9rem;font-weight:700;letter-spacing:.16em;margin:.4rem 0;text-transform:uppercase}#main #content .article .article-content table thead tr{border-bottom:3px solid #4682b4}#main #content .article .article-content table thead tr th{padding:4px 10px;text-align:left}#main #content .article .article-content table tbody tr{border-bottom:1px solid #4682b4;transition:all .4s}#main #content .article .article-content table tbody tr:hover{background-color:#f0f8ff}#main #content .article .article-content table tbody tr td{padding:4px 10px;vertical-align:top}#main #content .article .article-content output{background-color:#f0fff0;border:3px solid #8fbc8f;display:block;margin-bottom:20px;overflow:hidden;padding:0 10px 5px}#main #content .article .article-content output>h2{background-color:#8fbc8f;color:#fff;font-size:1.3rem;margin:0 -10px 5px;padding:0 10px 3px}#main #content .article .article-content output>pre{margin:0 0 -1.2em -3.3em;overflow-x:scroll;overflow-y:hidden}#main #content .article .article-content .hide-me{display:none;max-height:0;max-width:0;opacity:0;visibility:hidden;z-index:-10000}#main #content .article .article-content .indent{display:block;margin-left:30px}#main #content .article .article-content .framed,#main #content .article .article-content .framed-padded{border:15px solid silver}#main #content .article .article-content .framed-padded{padding:15px}#main #content .article .article-content .highlight,#main #content .article .article-content .highlight2{background-color:#ffffe0;padding:0 3px}#main #content .article .article-content .highlight2{background-color:#ffe4e1}#main #content .article .article-content *{box-sizing:border-box}#main #content .article .article-content h2{color:gray;font-size:1.2rem;font-weight:100;letter-spacing:.08rem;margin:-10px 0 20px;text-align:center}#main #content .article .article-content h3{margin-bottom:5px}#main #content .article .article-content nav{background-color:#f5f5f5;border:1px solid silver;clear:both;margin-bottom:20px;padding:10px 20px}#main #content .article .article-content nav ol,#main #content .article .article-content nav ul{margin:0}#main #content .article .article-content p{margin-top:0}#main #content .article .article-content ol,#main #content .article .article-content ul{margin:0 0 1em;padding-left:3em}#main #content .article .article-content pre{word-wrap:normal;word-break:normal}#main #content .article .article-content img{-o-border-image:none;border-image:none;border-width:0;margin:0;max-width:100%;padding:0}#main #content .article .article-content figure{margin:0 0 20px;text-align:center}#main #content .article .article-content figure.full-width img{max-height:none}#main #content .article .article-content figure.small-image img{max-height:120px}#main #content .article .article-content figure figcaption{font-weight:700}#main #content .article .article-content figure img{max-height:200px}#main #content .article .article-content figure.hljs-enhance{clear:both;text-align:left}#main #content .article .article-content figure.hljs-enhance figcaption{font-size:1.1rem}#main #content .article .article-content aside{float:right;margin:0 0 15px 20px;max-width:150px}#main #content .article .article-content aside.left{float:left;margin:0 20px 15px 0}#main #content .article .article-content>footer{border-top:1px solid silver;margin-top:40px;padding-top:35px;text-align:center}#main #content .article .article-content>footer>i{font-weight:lighter}#main #content .article .article-footer{border-top:1px solid silver}#attribution-container,body>.viewitem-panel{display:none;max-height:0;max-width:0;opacity:0;visibility:hidden;z-index:-10000} - +/*! web-ignition v1.5.9 ~~ https://github.com/center-key/web-ignition ~~ MIT License */ +#header-container #header .header-bar .title h3{border-bottom:2px solid transparent;margin-left:20px;transition:all 400ms}#header-container #header .header-bar .title h3:hover{border-color:#000}#header-container #header .header-drawer{top:35px}#attribution-container,#header-container #header .header-drawer #views.menu,#main #content .article .article-content .hide-me,body>.viewitem-panel{display:none;visibility:hidden;max-width:0;max-height:0;opacity:0;z-index:-10000}#main #sidebar{width:340px;margin-top:-30px}#main #sidebar .items .item h3.title{font-size:1rem}#main #content{margin-left:360px}#main #content .article .article-header h1.title{font-size:2rem;font-weight:700;padding-right:0}#main #content .article .article-content{font-size:1.2rem;text-align:left;word-break:normal;margin-bottom:40px}#main #content .article .article-content table{border-collapse:collapse;margin-bottom:20px}#main #content .article .article-content table caption{font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:#696969;margin:.4rem 0}#main #content .article .article-content table thead tr{border-bottom:3px solid #4682b4}#main #content .article .article-content table thead tr th{text-align:left;padding:4px 10px}#main #content .article .article-content table tbody tr{border-bottom:1px solid #4682b4;transition:all 400ms}#main #content .article .article-content table tbody tr:hover{background-color:#f0f8ff}#main #content .article .article-content table tbody tr td{vertical-align:top;padding:4px 10px}#main #content .article .article-content output{display:block;background-color:#f0fff0;border:3px solid #8fbc8f;padding:0 10px 5px;margin-bottom:20px;overflow:hidden}#main #content .article .article-content output>h2{font-size:1.3rem;color:#fff;background-color:#8fbc8f;padding:0 10px 3px;margin:0-10px 5px}#main #content .article .article-content output>pre{margin:0 0-1.2em -3.3em;overflow-x:scroll;overflow-y:hidden}#main #content .article .article-content .indent{display:block;margin-left:30px}#main #content .article .article-content .framed,#main #content .article .article-content .framed-padded{border:15px solid silver}#main #content .article .article-content .framed-padded{padding:15px}#main #content .article .article-content .highlight{background-color:#ffffe0;padding:0 3px}#main #content .article .article-content .highlight2{padding:0 3px;background-color:#ffe4e1}#main #content .article .article-content *{box-sizing:border-box}#main #content .article .article-content h2{font-size:1.2rem;font-weight:100;letter-spacing:.08rem;text-align:center;color:gray;margin:-10px 0 20px}#main #content .article .article-content h3{margin-bottom:5px}#main #content .article .article-content nav{clear:both;border:1px solid silver;padding:10px 20px;background-color:#f5f5f5;margin-bottom:20px}#main #content .article .article-content nav ol,#main #content .article .article-content nav ul{margin:0}#main #content .article .article-content p{margin-top:0}#main #content .article .article-content ol,#main #content .article .article-content ul{padding-left:3em;margin:0 0 1em}#main #content .article .article-content pre{word-break:normal;word-wrap:normal}#main #content .article .article-content img{max-width:100%;border-image:none;border-width:0;padding:0;margin:0}#main #content .article .article-content figure{text-align:center;margin:0 0 20px}#main #content .article .article-content figure.full-width img{max-height:none}#main #content .article .article-content figure.small-image img{max-height:120px}#main #content .article .article-content figure figcaption{font-weight:700}#main #content .article .article-content figure img{max-height:200px}#main #content .article .article-content figure.hljs-enhance{clear:both;text-align:left}#main #content .article .article-content figure.hljs-enhance figcaption{font-size:1.1rem}#main #content .article .article-content aside{float:right;max-width:150px;margin:0 0 15px 20px}#main #content .article .article-content aside.left{float:left;margin:0 20px 15px 0}#main #content .article .article-content>footer{text-align:center;border-top:1px solid silver;padding-top:35px;margin-top:40px}#main #content .article .article-content>footer>i{font-weight:lighter}#main #content .article .article-footer{border-top:1px solid silver} /* @@ -19,8 +18,8 @@ - - + + diff --git a/dist/layouts/block-duo.css b/dist/layouts/block-duo.css index 69f515d..2842e93 100644 --- a/dist/layouts/block-duo.css +++ b/dist/layouts/block-duo.css @@ -1,4 +1,4 @@ -/*! web-ignition v1.5.8 ~~ https://github.com/center-key/web-ignition ~~ MIT License */ +/*! web-ignition v1.5.9 ~~ https://github.com/center-key/web-ignition ~~ MIT License */ /* Block Duo layout -- Two big columns followed by a single footer @@ -132,7 +132,7 @@ body >footer >p a i.font-icon { padding: 50px 15px; } } -/**************************************************************************************************/ +/******************************************************************************/ /* Block Duo layout -- customize colors */ main >section:nth-child(1) { color: white; background-color: steelblue; } diff --git a/dist/layouts/color-blocks.css b/dist/layouts/color-blocks.css index 810f7e2..9c940fb 100644 --- a/dist/layouts/color-blocks.css +++ b/dist/layouts/color-blocks.css @@ -1,4 +1,4 @@ -/*! web-ignition v1.5.8 ~~ https://github.com/center-key/web-ignition ~~ MIT License */ +/*! web-ignition v1.5.9 ~~ https://github.com/center-key/web-ignition ~~ MIT License */ /* Color Blocks layout -- Two columns of colorful blocks @@ -145,7 +145,7 @@ body >footer a:hover { main { flex-direction: column; } main >div:nth-child(n) { flex: auto; } } -/**************************************************************************************************/ +/******************************************************************************/ /* Color Blocks layout -- customize colors */ /* Block colors (2 columns * 3 blocks --> 6 colors) */ diff --git a/dist/layouts/color-slide.css b/dist/layouts/color-slide.css index 39a32cd..f068ab6 100644 --- a/dist/layouts/color-slide.css +++ b/dist/layouts/color-slide.css @@ -1,4 +1,4 @@ -/*! web-ignition v1.5.8 ~~ https://github.com/center-key/web-ignition ~~ MIT License */ +/*! web-ignition v1.5.9 ~~ https://github.com/center-key/web-ignition ~~ MIT License */ /* Color Slide layout -- Top to botttom color transition @@ -46,7 +46,7 @@ body >header >nav >a:hover { body >header img { max-height: 60px; } -/**************************************************************************************************/ +/******************************************************************************/ /* Color Slide layout -- customize colors */ html { background: linear-gradient(to bottom, gold, black); } diff --git a/dist/layouts/letterbox.css b/dist/layouts/letterbox.css index 22cde03..cf427a5 100644 --- a/dist/layouts/letterbox.css +++ b/dist/layouts/letterbox.css @@ -1,4 +1,4 @@ -/*! web-ignition v1.5.8 ~~ https://github.com/center-key/web-ignition ~~ MIT License */ +/*! web-ignition v1.5.9 ~~ https://github.com/center-key/web-ignition ~~ MIT License */ /* Letterbox layout -- Edge-to-edge semi-opaque bar over cover background image @@ -86,7 +86,7 @@ main >cite { @media (max-width: 667px) { /* selects iPhone 6/6s/7/8/SE(2020) landscape and anything narrower */ main >section+section { padding: 10px; } } -/**************************************************************************************************/ +/******************************************************************************/ /* Letterbox layout -- customize colors */ html { background-image: url(#); } diff --git a/dist/layouts/modern.css b/dist/layouts/modern.css index 845e173..bd68b9e 100644 --- a/dist/layouts/modern.css +++ b/dist/layouts/modern.css @@ -1,4 +1,4 @@ -/*! web-ignition v1.5.8 ~~ https://github.com/center-key/web-ignition ~~ MIT License */ +/*! web-ignition v1.5.9 ~~ https://github.com/center-key/web-ignition ~~ MIT License */ /* Modern layout -- Clean blog post page @@ -180,7 +180,7 @@ body >footer >small { body >footer { padding: 10px 10px; } main >nav { padding: 40px 0px; } } -/**************************************************************************************************/ +/******************************************************************************/ /* Modern layout -- customize colors */ main >div >article { background-color: aliceblue; border-color: steelblue; } diff --git a/dist/layouts/neon.css b/dist/layouts/neon.css index 705b3a0..94c5f07 100644 --- a/dist/layouts/neon.css +++ b/dist/layouts/neon.css @@ -1,4 +1,4 @@ -/*! web-ignition v1.5.8 ~~ https://github.com/center-key/web-ignition ~~ MIT License */ +/*! web-ignition v1.5.9 ~~ https://github.com/center-key/web-ignition ~~ MIT License */ /* Neon layout -- For hackers and space junkies diff --git a/dist/layouts/neon.min.js b/dist/layouts/neon.min.js index d5ccf1c..904839e 100644 --- a/dist/layouts/neon.min.js +++ b/dist/layouts/neon.min.js @@ -1,2 +1,2 @@ -//! web-ignition v1.5.8 ~~ https://github.com/center-key/web-ignition ~~ MIT License +//! web-ignition v1.5.9 ~~ https://github.com/center-key/web-ignition ~~ MIT License const numNeonImages=8;$("body").addClass("neon-image-"+(Date.now()%numNeonImages+1)); diff --git a/dist/layouts/vertical-bars.css b/dist/layouts/vertical-bars.css index 6edb742..1f8610d 100644 --- a/dist/layouts/vertical-bars.css +++ b/dist/layouts/vertical-bars.css @@ -1,4 +1,4 @@ -/*! web-ignition v1.5.8 ~~ https://github.com/center-key/web-ignition ~~ MIT License */ +/*! web-ignition v1.5.9 ~~ https://github.com/center-key/web-ignition ~~ MIT License */ /* Vertical Bars layout -- traditional boring old-school webpage @@ -71,7 +71,7 @@ body >footer #social-buttons { body { border: none; padding: 5px 15px; } body >header h1 { font-size: 1.7rem; } } -/**************************************************************************************************/ +/******************************************************************************/ /* Vertical Bars layout -- customize colors */ html { background-color: dimgray; } diff --git a/dist/layouts/zebra-sections.css b/dist/layouts/zebra-sections.css index c55873a..9d313f6 100644 --- a/dist/layouts/zebra-sections.css +++ b/dist/layouts/zebra-sections.css @@ -1,4 +1,4 @@ -/*! web-ignition v1.5.8 ~~ https://github.com/center-key/web-ignition ~~ MIT License */ +/*! web-ignition v1.5.9 ~~ https://github.com/center-key/web-ignition ~~ MIT License */ /* Zebra Sections layout -- Edge-to-edge blocks with alternating background colors @@ -182,7 +182,7 @@ body >footer i[data-brand] { font-size: 1.6rem; margin: 0px 5px; } -/**************************************************************************************************/ +/******************************************************************************/ /* Zebra Sections layout -- customize colors */ body >header nav a { color: white; text-shadow: 0px 0px 0.6em black; } diff --git a/dist/lib-x.d.ts b/dist/lib-x.d.ts index e5c2e8f..e7b2bb0 100644 --- a/dist/lib-x.d.ts +++ b/dist/lib-x.d.ts @@ -1,4 +1,4 @@ -//! web-ignition v1.5.8 ~~ https://github.com/center-key/web-ignition ~~ MIT License +//! web-ignition v1.5.9 ~~ https://github.com/center-key/web-ignition ~~ MIT License /// declare global { diff --git a/dist/lib-x.dev.js b/dist/lib-x.dev.js index 0731732..bbac02b 100644 --- a/dist/lib-x.dev.js +++ b/dist/lib-x.dev.js @@ -1,4 +1,4 @@ -//! web-ignition v1.5.8 ~~ https://github.com/center-key/web-ignition ~~ MIT License +//! web-ignition v1.5.9 ~~ https://github.com/center-key/web-ignition ~~ MIT License const libXUi = { plugin: { @@ -109,7 +109,8 @@ const libXUi = { }, setupVideos() { const makeVideoClickable = (elem) => { - const src = elem.find('iframe').attr('src'); + var _a; + const src = (_a = elem.find('iframe').attr('src')) !== null && _a !== void 0 ? _a : ''; const url = src.replace('//www.youtube.com/embed', '//youtu.be'); elem.attr('data-href', url).addClass('external-site'); }; @@ -117,9 +118,9 @@ const libXUi = { return $('figure.video-container iframe').attr({ allow: 'fullscreen' }).parent(); }, setupForkMe() { - const forkMe = $('#fork-me').removeAttr('id').wrap($('
')); + const forkMe = $('#fork-me').wrap($('
')); const icon = $('', { 'data-brand': 'github', 'data-href': forkMe.attr('href') }); - return forkMe.after(icon).parent().show().parent().addClass('forkable'); + return forkMe.after(icon).parent().parent().addClass('forkable'); }, }; const libXUtil = { @@ -361,7 +362,7 @@ const libXExtra = { }, }; const libX = { - version: '1.5.8', + version: '1.5.9', ui: libXUi, util: libXUtil, crypto: libXCrypto, diff --git a/dist/lib-x.js b/dist/lib-x.js index 4f827cf..beaf65c 100644 --- a/dist/lib-x.js +++ b/dist/lib-x.js @@ -1,4 +1,4 @@ -//! web-ignition v1.5.8 ~~ https://github.com/center-key/web-ignition ~~ MIT License +//! web-ignition v1.5.9 ~~ https://github.com/center-key/web-ignition ~~ MIT License import { dna } from 'dna-engine'; const libXUi = { @@ -110,7 +110,8 @@ const libXUi = { }, setupVideos() { const makeVideoClickable = (elem) => { - const src = elem.find('iframe').attr('src'); + var _a; + const src = (_a = elem.find('iframe').attr('src')) !== null && _a !== void 0 ? _a : ''; const url = src.replace('//www.youtube.com/embed', '//youtu.be'); elem.attr('data-href', url).addClass('external-site'); }; @@ -118,9 +119,9 @@ const libXUi = { return $('figure.video-container iframe').attr({ allow: 'fullscreen' }).parent(); }, setupForkMe() { - const forkMe = $('#fork-me').removeAttr('id').wrap($('
')); + const forkMe = $('#fork-me').wrap($('
')); const icon = $('', { 'data-brand': 'github', 'data-href': forkMe.attr('href') }); - return forkMe.after(icon).parent().show().parent().addClass('forkable'); + return forkMe.after(icon).parent().parent().addClass('forkable'); }, }; const libXUtil = { @@ -362,7 +363,7 @@ const libXExtra = { }, }; const libX = { - version: '1.5.8', + version: '1.5.9', ui: libXUi, util: libXUtil, crypto: libXCrypto, diff --git a/dist/lib-x.min.js b/dist/lib-x.min.js index a8ec1d7..2f5b05d 100644 --- a/dist/lib-x.min.js +++ b/dist/lib-x.min.js @@ -1,2 +1,2 @@ -//! web-ignition v1.5.8 ~~ https://github.com/center-key/web-ignition ~~ MIT License -const libXUi={plugin:{id:function(name){const elem=this;return name===undefined?elem.attr("id"):elem.attr({id:name})},enable:function(setOn){const elem=this;return elem.prop({disabled:setOn!==undefined&&!setOn})},disable:function(setOff){const elem=this;return elem.prop({disabled:setOff===undefined||!!setOff})},findAll:function(selector){const elem=this;return elem.find(selector).addBack(selector)},forEach:function(fn){const elems=this;return elems.each((index,node)=>fn($(node),index))}},toElem(elemOrNodeOrEventOrIndex,that){const elem=elemOrNodeOrEventOrIndex instanceof $&&elemOrNodeOrEventOrIndex;const target=elemOrNodeOrEventOrIndex&&elemOrNodeOrEventOrIndex.target;return elem||$(target||elemOrNodeOrEventOrIndex||that)},makeIcons(holder){const makeIcon=elem=>elem.addClass("fa-"+elem.data().icon);const makeBrand=elem=>elem.addClass("fa-"+elem.data().brand);holder["findAll"]("i[data-icon]").addClass("font-icon fas").forEach(makeIcon);holder["findAll"]("i[data-brand]").addClass("font-icon fab").forEach(makeBrand);return holder},normalize(holder){const elem=holder||$(document.body);libX.ui.makeIcons(elem);elem.find("button:not([type])").attr({type:"button"});elem.find("input:not([type])").attr({type:"text"});elem.find("input[type=email]").attr({autocorrect:"off",spellcheck:false});elem.find("a img, a i.font-icon").closest("a").addClass("image-link");if(!libX.browser.iOS())elem.find("a.external-site, .external-site a").attr({target:"_blank"});return elem},displayAddr(){const elems=$(".display-addr");const display=elem=>elem.html(elem.data().name+""+String.fromCharCode(64)+elem.data().domain+"");return elems.forEach(display)},popup(url,options){const defaults={width:600,height:400};const settings=Object.assign(Object.assign({},defaults),options);const dimensions="left=200,top=100,width="+settings.width+",height="+settings.height;return globalThis.open(url,"_blank",dimensions+",scrollbars,resizable,status")},popupClick(event){const data=$(event.target).data();return libX.ui.popup(data.hrefPopup,data)},revealSection(event){const button=$(event.target).closest(".reveal-button");const findTarget=".reveal-target[data-reveal="+button.data().reveal+"]";const target=button.data().reveal?$(findTarget):button.next();dna.ui.slideFadeOut(button);return dna.ui.slideFadeIn(target)},keepOnScreen(elem,options){const defaults={padding:10};const settings=Object.assign(Object.assign({},defaults),options);const pad=settings.padding;const win={width:$(window).width(),height:$(window).height(),scroll:$(window).scrollTop()};const offset=elem.offset();const moveR=Math.max(-offset.left,-pad)+pad;const moveL=Math.max(offset.left+elem.width()-win.width,-pad)+pad;const moveU=Math.min(win.scroll+win.height-offset.top-elem.height()-pad,0);const moveD=Math.max(moveU,win.scroll-offset.top+pad);return elem.css({left:`+=${moveR-moveL}px`,top:`+=${moveD}px`})},autoDisableButtons(){const disableButton=event=>{const elem=$(event.target);if(!elem.closest("nav,.no-disable").length)elem.closest("button").disable()};const disableFormButton=event=>$(event.target).find("button:not(.no-disable)").disable();$(globalThis.document).on({submit:disableFormButton},"form").on({click:disableButton},"button:not([type=submit],[data-href],[data-href-popup])")},loadImageFadeIn(elem,url,duration){const handleImg=event=>{elem.fadeIn(duration!==null&&duration!==void 0?duration:1500);return elem[0].nodeName==="IMG"?elem.attr({src:event.target.src}):elem.css({backgroundImage:"url("+event.target.src+")"})};const img=new Image;img.onload=handleImg;img.src=url;return elem},setupVideos(){const makeVideoClickable=elem=>{const src=elem.find("iframe").attr("src");const url=src.replace("//www.youtube.com/embed","//youtu.be");elem.attr("data-href",url).addClass("external-site")};$("figure.video-container-link").forEach(makeVideoClickable);return $("figure.video-container iframe").attr({allow:"fullscreen"}).parent()},setupForkMe(){const forkMe=$("#fork-me").removeAttr("id").wrap($("
"));const icon=$("",{"data-brand":"github","data-href":forkMe.attr("href")});return forkMe.after(icon).parent().show().parent().addClass("forkable")}};const libXUtil={cleanupEmail(email){email=email&&email.replace(/\s/g,"").toLowerCase();return/.+@.+[.].+/.test(email)?email:null},isObj(thing){return!!thing&&thing.constructor===Object},removeWhitespace(text){return text.replace(/\s/g,"")},details(thing){const obj=thing;const elem=thing;let msg=typeof thing+" --\x3e ";const addProp=property=>{msg+=property+":"+obj[property]+" "};const jQueryDetials=elem=>elem.length===0?"":" [#1"+" elem:"+elem.first()[0].nodeName+" id:"+elem.first().id()+" class:"+elem.first().attr("class")+" kids:"+elem.first().children().length+"]";if(thing instanceof $)msg+="jquery:"+elem.jquery+" elems:"+elem.length+jQueryDetials(elem);else if(thing===null)msg+="[null]";else if(typeof thing==="object")Object.keys(obj).forEach(addProp);else msg+=thing;return msg},debug(thing){console.log(Date.now()+": "+libX.util.details(thing))}};const libXCrypto={hash(message,options){const defaults={algorithm:"SHA-256",salt:""};const settings=Object.assign(Object.assign({},defaults),options);const byteArray=(new TextEncoder).encode(message+settings.salt);const toHex=byte=>byte.toString(16).padStart(2,"0").slice(-2);const handleDigest=digest=>Array.from(new Uint8Array(digest)).map(toHex).join("");return crypto.subtle.digest("SHA-256",byteArray).then(handleDigest)}};const libXStorage={dbSave(key,obj){localStorage[key]=JSON.stringify(obj);return libX.storage.dbRead(key)},dbRead(key){return globalThis.localStorage[key]===undefined?{}:JSON.parse(globalThis.localStorage[key])},sessionSave(key,obj){globalThis.sessionStorage[key]=JSON.stringify(obj);return libX.storage.sessionRead(key)},sessionRead(key){return globalThis.sessionStorage[key]===undefined?{}:JSON.parse(globalThis.sessionStorage[key])}};const libXCounter={key:"counters",list(){const counters=sessionStorage[libX.counter.key];return counters?JSON.parse(counters):{}},get(name="default"){const counters=libX.counter.list();return counters[name]||0},set(count=0,name="default"){const counters=libX.counter.list();counters[name]=count;sessionStorage[libX.counter.key]=JSON.stringify(counters);return count},reset(name="default"){return libX.counter.set(0,name)},increment(name="default"){return libX.counter.set(libX.counter.get(name)+1,name)}};const libXBrowser={macOS(){const agent=globalThis.navigator.userAgent;return/Macintosh/.test(agent)&&/Mac OS X|macOS/i.test(agent)},iOS(){const iDevice=/iPad|iPhone|iPod/.test(globalThis.navigator.userAgent);return iDevice&&/Apple/.test(globalThis.navigator.vendor)}};const libXPopupImage={show(event){const defaultPopupWidth=1e3;const thumbnail=$(event.target).addClass("popup-image");thumbnail.parent().css({position:"relative"});thumbnail.next(".popup-image-layer").remove();const keyUpEventName="keyup."+String(Date.now());const close=()=>{$(globalThis.document).off(keyUpEventName);thumbnail.next().fadeOut()};const escKeyClose=event=>event.key==="Escape"&&close();const width=thumbnail.data().popupWidth||defaultPopupWidth;const maxWidth=Math.min(width,$(window).width()-30)+"px";const imageSrc=thumbnail.data().popupImage||thumbnail.attr("src");const popup=$("
").addClass("popup-image-layer").on({click:close}).append(libX.ui.makeIcons($(""))).append($("").attr({src:imageSrc}).css({maxWidth:maxWidth}));popup.insertAfter(thumbnail);libX.ui.keepOnScreen(popup,{padding:30}).fadeTo("slow",1);$(document).on({[keyUpEventName]:escKeyClose})}};const libXAnimate={jiggleIt(elemOrEvent){const node=libX.ui.toElem(elemOrEvent)[0];node.style.animation="none";globalThis.requestAnimationFrame(()=>node.style.animation="jiggle-it 0.2s 3");return $(node)},rollIn(holderOrElems){let elems=holderOrElems.length===1?holderOrElems.children():holderOrElems;const startDelay=300;const fadeDelay=1500;const fadeIn={opacity:1,transition:"opacity 5s"};const roll=()=>{elems.first().css(fadeIn).delay(fadeDelay).queue(roll);elems=elems.slice(1)};elems.css({opacity:0});return globalThis.setTimeout(roll,startDelay)},montageLoop(optionsOrContainer){var _a;const options=optionsOrContainer instanceof $?{container:optionsOrContainer}:optionsOrContainer;const defaults={container:".montage-loop",start:null,intervalMs:1e4,fadeMs:3e3};const settings=Object.assign(Object.assign({},defaults),options);const container=typeof settings.container==="string"?$(settings.container):settings.container;const imgs=container.first().addClass("montage-loop").children("img");if(!imgs.length)console.error("[montage-loop] No images found:",settings.container);imgs.css({transition:`all ${settings.fadeMs}ms`});imgs.eq((_a=settings.start)!==null&&_a!==void 0?_a:Date.now()%imgs.length).addClass("current");const nextImage=()=>{const previous=imgs.removeClass("previous").filter(".current").addClass("previous");const index=(previous.index()+1)%imgs.length;imgs.removeClass("current").eq(index).addClass("current")};globalThis.setInterval(nextImage,settings.intervalMs);return imgs}};const libXBubbleHelp={setup(holder){const uninitialized=".bubble-help:not(.bubble-initialized)";const elems=(holder||$(globalThis.document)).find(uninitialized).addBack(uninitialized);const wrapperHtml="";const pointerHtml="";const getHover=event=>$(event.target).closest(".bubble-help-hover");const hi=event=>{const help=getHover(event).find(".bubble-help");const wrapIt=()=>help.wrap(wrapperHtml).parent().append(pointerHtml);const wrapper=help.parent().hasClass("bubble-wrap")?help.parent():wrapIt();wrapper.find(".bubble-help").show();wrapper.css({top:-wrapper.height()}).stop(true).hide().fadeIn()};const bye=event=>getHover(event).find(".bubble-wrap").fadeOut("slow");const hoverEvents={mouseenter:hi,mouseleave:bye,touchstart:hi,touchend:bye};elems.parent().addClass("bubble-help-hover").on(hoverEvents);return elems.addClass("bubble-initialized")}};const libXForm={perfect(){const form=$("form.perfect:not([action])");const version=form.data()&&form.data().version||"";const extra=version+String.fromCharCode(46,112)+"hp";const attributes={method:"post",action:"perfect"+extra};const backupField=()=>$("")[0];const field=()=>form.find("[name=version]")[0]||backupField();const configure=()=>form.attr(attributes).append($(field()).val(version));return form.find("textarea").on({focus:()=>globalThis.setTimeout(configure,5e3)})}};const libXSocial={buttons:[{title:"Twitter",icon:"twitter",x:580,y:350,link:"https://twitter.com/share?text=${title}&url=${url}"},{title:"Facebook",icon:"facebook-f",x:580,y:350,link:"https://www.facebook.com/sharer.php?u=${url}"},{title:"LinkedIn",icon:"linkedin-in",x:580,y:350,link:"https://www.linkedin.com/shareArticle?mini=true&url=${url}&title=${title}"},{title:"Digg",icon:"digg",x:985,y:700,link:"https://digg.com/submit?url=${url}"},{title:"Reddit",icon:"reddit",x:600,y:750,link:"https://www.reddit.com/submit?url=${url}&title=${title}"}],share(elem){const button=libX.social.buttons[elem.index()];const insert=(text,find,value)=>text.replace(find,encodeURIComponent(value));const linkTemp=insert(button.link,"${url}",globalThis.location.href);const link=insert(linkTemp,"${title}",globalThis.document.title);return libX.ui.popup(link,{width:button.x,height:button.y})},setup(){const container=$("#social-buttons");const iconHtml=[""];let html="";const addHtml=button=>html+=iconHtml[0]+button.icon+iconHtml[1];if(container.length)libX.social.buttons.forEach(addHtml);return container.fadeTo(0,0).html(html+"").fadeTo("slow",1)}};const libXExtra={blogger(websiteUrl){console.log("Setup for:",websiteUrl);const onArticleLoad=()=>{console.log("Article: %c"+$("h1.entry-title").text().trim(),"color: purple;");$("#header >.header-bar h3").attr("data-href",websiteUrl);libX.ui.normalize();window["hljsEnhance"].setup()};globalThis.setTimeout(libX.ui.normalize,2e3);return $(window["blogger"].ui()).on({viewitem:onArticleLoad})},gTags(scriptTag){const trackingID=$(scriptTag).attr("src").split("=")[1];window["dataLayer"]=window["dataLayer"]||[];function gtag(...args){window["dataLayer"].push(args)}gtag("js",new Date);gtag("config",trackingID)}};const libX={version:"1.5.8",ui:libXUi,util:libXUtil,crypto:libXCrypto,storage:libXStorage,counter:libXCounter,browser:libXBrowser,popupImage:libXPopupImage,animate:libXAnimate,bubbleHelp:libXBubbleHelp,form:libXForm,social:libXSocial,extra:libXExtra,initialize(){globalThis["libX"+""]=libX;$.fn.id=libX.ui.plugin.id;$.fn.enable=libX.ui.plugin.enable;$.fn.disable=libX.ui.plugin.disable;$.fn.findAll=libX.ui.plugin.findAll;$.fn.forEach=libX.ui.plugin.forEach;libX.social.setup();libX.ui.setupForkMe();dna.registerInitializer(libX.ui.normalize);const clickAndTap=callback=>({click:callback,touchstart:callback});const onLoadSetup=()=>{libX.ui.displayAddr();libX.ui.setupVideos();libX.form.perfect();libX.bubbleHelp.setup();$(globalThis.document).on(clickAndTap(libX.ui.revealSection),".reveal-button").on({click:libX.ui.popupClick},"[data-href-popup]").on({click:libX.popupImage.show},"[data-popup-image], .popup-image")};$(onLoadSetup)}};libX.initialize();globalThis.libX=libX; +//! web-ignition v1.5.9 ~~ https://github.com/center-key/web-ignition ~~ MIT License +const libXUi={plugin:{id:function(name){const elem=this;return name===undefined?elem.attr("id"):elem.attr({id:name})},enable:function(setOn){const elem=this;return elem.prop({disabled:setOn!==undefined&&!setOn})},disable:function(setOff){const elem=this;return elem.prop({disabled:setOff===undefined||!!setOff})},findAll:function(selector){const elem=this;return elem.find(selector).addBack(selector)},forEach:function(fn){const elems=this;return elems.each((index,node)=>fn($(node),index))}},toElem(elemOrNodeOrEventOrIndex,that){const elem=elemOrNodeOrEventOrIndex instanceof $&&elemOrNodeOrEventOrIndex;const target=elemOrNodeOrEventOrIndex&&elemOrNodeOrEventOrIndex.target;return elem||$(target||elemOrNodeOrEventOrIndex||that)},makeIcons(holder){const makeIcon=elem=>elem.addClass("fa-"+elem.data().icon);const makeBrand=elem=>elem.addClass("fa-"+elem.data().brand);holder["findAll"]("i[data-icon]").addClass("font-icon fas").forEach(makeIcon);holder["findAll"]("i[data-brand]").addClass("font-icon fab").forEach(makeBrand);return holder},normalize(holder){const elem=holder||$(document.body);libX.ui.makeIcons(elem);elem.find("button:not([type])").attr({type:"button"});elem.find("input:not([type])").attr({type:"text"});elem.find("input[type=email]").attr({autocorrect:"off",spellcheck:false});elem.find("a img, a i.font-icon").closest("a").addClass("image-link");if(!libX.browser.iOS())elem.find("a.external-site, .external-site a").attr({target:"_blank"});return elem},displayAddr(){const elems=$(".display-addr");const display=elem=>elem.html(elem.data().name+""+String.fromCharCode(64)+elem.data().domain+"");return elems.forEach(display)},popup(url,options){const defaults={width:600,height:400};const settings=Object.assign(Object.assign({},defaults),options);const dimensions="left=200,top=100,width="+settings.width+",height="+settings.height;return globalThis.open(url,"_blank",dimensions+",scrollbars,resizable,status")},popupClick(event){const data=$(event.target).data();return libX.ui.popup(data.hrefPopup,data)},revealSection(event){const button=$(event.target).closest(".reveal-button");const findTarget=".reveal-target[data-reveal="+button.data().reveal+"]";const target=button.data().reveal?$(findTarget):button.next();dna.ui.slideFadeOut(button);return dna.ui.slideFadeIn(target)},keepOnScreen(elem,options){const defaults={padding:10};const settings=Object.assign(Object.assign({},defaults),options);const pad=settings.padding;const win={width:$(window).width(),height:$(window).height(),scroll:$(window).scrollTop()};const offset=elem.offset();const moveR=Math.max(-offset.left,-pad)+pad;const moveL=Math.max(offset.left+elem.width()-win.width,-pad)+pad;const moveU=Math.min(win.scroll+win.height-offset.top-elem.height()-pad,0);const moveD=Math.max(moveU,win.scroll-offset.top+pad);return elem.css({left:`+=${moveR-moveL}px`,top:`+=${moveD}px`})},autoDisableButtons(){const disableButton=event=>{const elem=$(event.target);if(!elem.closest("nav,.no-disable").length)elem.closest("button").disable()};const disableFormButton=event=>$(event.target).find("button:not(.no-disable)").disable();$(globalThis.document).on({submit:disableFormButton},"form").on({click:disableButton},"button:not([type=submit],[data-href],[data-href-popup])")},loadImageFadeIn(elem,url,duration){const handleImg=event=>{elem.fadeIn(duration!==null&&duration!==void 0?duration:1500);return elem[0].nodeName==="IMG"?elem.attr({src:event.target.src}):elem.css({backgroundImage:"url("+event.target.src+")"})};const img=new Image;img.onload=handleImg;img.src=url;return elem},setupVideos(){const makeVideoClickable=elem=>{var _a;const src=(_a=elem.find("iframe").attr("src"))!==null&&_a!==void 0?_a:"";const url=src.replace("//www.youtube.com/embed","//youtu.be");elem.attr("data-href",url).addClass("external-site")};$("figure.video-container-link").forEach(makeVideoClickable);return $("figure.video-container iframe").attr({allow:"fullscreen"}).parent()},setupForkMe(){const forkMe=$("#fork-me").wrap($("
"));const icon=$("",{"data-brand":"github","data-href":forkMe.attr("href")});return forkMe.after(icon).parent().parent().addClass("forkable")}};const libXUtil={cleanupEmail(email){email=email&&email.replace(/\s/g,"").toLowerCase();return/.+@.+[.].+/.test(email)?email:null},isObj(thing){return!!thing&&thing.constructor===Object},removeWhitespace(text){return text.replace(/\s/g,"")},details(thing){const obj=thing;const elem=thing;let msg=typeof thing+" --\x3e ";const addProp=property=>{msg+=property+":"+obj[property]+" "};const jQueryDetials=elem=>elem.length===0?"":" [#1"+" elem:"+elem.first()[0].nodeName+" id:"+elem.first().id()+" class:"+elem.first().attr("class")+" kids:"+elem.first().children().length+"]";if(thing instanceof $)msg+="jquery:"+elem.jquery+" elems:"+elem.length+jQueryDetials(elem);else if(thing===null)msg+="[null]";else if(typeof thing==="object")Object.keys(obj).forEach(addProp);else msg+=thing;return msg},debug(thing){console.log(Date.now()+": "+libX.util.details(thing))}};const libXCrypto={hash(message,options){const defaults={algorithm:"SHA-256",salt:""};const settings=Object.assign(Object.assign({},defaults),options);const byteArray=(new TextEncoder).encode(message+settings.salt);const toHex=byte=>byte.toString(16).padStart(2,"0").slice(-2);const handleDigest=digest=>Array.from(new Uint8Array(digest)).map(toHex).join("");return crypto.subtle.digest("SHA-256",byteArray).then(handleDigest)}};const libXStorage={dbSave(key,obj){localStorage[key]=JSON.stringify(obj);return libX.storage.dbRead(key)},dbRead(key){return globalThis.localStorage[key]===undefined?{}:JSON.parse(globalThis.localStorage[key])},sessionSave(key,obj){globalThis.sessionStorage[key]=JSON.stringify(obj);return libX.storage.sessionRead(key)},sessionRead(key){return globalThis.sessionStorage[key]===undefined?{}:JSON.parse(globalThis.sessionStorage[key])}};const libXCounter={key:"counters",list(){const counters=sessionStorage[libX.counter.key];return counters?JSON.parse(counters):{}},get(name="default"){const counters=libX.counter.list();return counters[name]||0},set(count=0,name="default"){const counters=libX.counter.list();counters[name]=count;sessionStorage[libX.counter.key]=JSON.stringify(counters);return count},reset(name="default"){return libX.counter.set(0,name)},increment(name="default"){return libX.counter.set(libX.counter.get(name)+1,name)}};const libXBrowser={macOS(){const agent=globalThis.navigator.userAgent;return/Macintosh/.test(agent)&&/Mac OS X|macOS/i.test(agent)},iOS(){const iDevice=/iPad|iPhone|iPod/.test(globalThis.navigator.userAgent);return iDevice&&/Apple/.test(globalThis.navigator.vendor)}};const libXPopupImage={show(event){const defaultPopupWidth=1e3;const thumbnail=$(event.target).addClass("popup-image");thumbnail.parent().css({position:"relative"});thumbnail.next(".popup-image-layer").remove();const keyUpEventName="keyup."+String(Date.now());const close=()=>{$(globalThis.document).off(keyUpEventName);thumbnail.next().fadeOut()};const escKeyClose=event=>event.key==="Escape"&&close();const width=thumbnail.data().popupWidth||defaultPopupWidth;const maxWidth=Math.min(width,$(window).width()-30)+"px";const imageSrc=thumbnail.data().popupImage||thumbnail.attr("src");const popup=$("
").addClass("popup-image-layer").on({click:close}).append(libX.ui.makeIcons($(""))).append($("").attr({src:imageSrc}).css({maxWidth:maxWidth}));popup.insertAfter(thumbnail);libX.ui.keepOnScreen(popup,{padding:30}).fadeTo("slow",1);$(document).on({[keyUpEventName]:escKeyClose})}};const libXAnimate={jiggleIt(elemOrEvent){const node=libX.ui.toElem(elemOrEvent)[0];node.style.animation="none";globalThis.requestAnimationFrame(()=>node.style.animation="jiggle-it 0.2s 3");return $(node)},rollIn(holderOrElems){let elems=holderOrElems.length===1?holderOrElems.children():holderOrElems;const startDelay=300;const fadeDelay=1500;const fadeIn={opacity:1,transition:"opacity 5s"};const roll=()=>{elems.first().css(fadeIn).delay(fadeDelay).queue(roll);elems=elems.slice(1)};elems.css({opacity:0});return globalThis.setTimeout(roll,startDelay)},montageLoop(optionsOrContainer){var _a;const options=optionsOrContainer instanceof $?{container:optionsOrContainer}:optionsOrContainer;const defaults={container:".montage-loop",start:null,intervalMs:1e4,fadeMs:3e3};const settings=Object.assign(Object.assign({},defaults),options);const container=typeof settings.container==="string"?$(settings.container):settings.container;const imgs=container.first().addClass("montage-loop").children("img");if(!imgs.length)console.error("[montage-loop] No images found:",settings.container);imgs.css({transition:`all ${settings.fadeMs}ms`});imgs.eq((_a=settings.start)!==null&&_a!==void 0?_a:Date.now()%imgs.length).addClass("current");const nextImage=()=>{const previous=imgs.removeClass("previous").filter(".current").addClass("previous");const index=(previous.index()+1)%imgs.length;imgs.removeClass("current").eq(index).addClass("current")};globalThis.setInterval(nextImage,settings.intervalMs);return imgs}};const libXBubbleHelp={setup(holder){const uninitialized=".bubble-help:not(.bubble-initialized)";const elems=(holder||$(globalThis.document)).find(uninitialized).addBack(uninitialized);const wrapperHtml="";const pointerHtml="";const getHover=event=>$(event.target).closest(".bubble-help-hover");const hi=event=>{const help=getHover(event).find(".bubble-help");const wrapIt=()=>help.wrap(wrapperHtml).parent().append(pointerHtml);const wrapper=help.parent().hasClass("bubble-wrap")?help.parent():wrapIt();wrapper.find(".bubble-help").show();wrapper.css({top:-wrapper.height()}).stop(true).hide().fadeIn()};const bye=event=>getHover(event).find(".bubble-wrap").fadeOut("slow");const hoverEvents={mouseenter:hi,mouseleave:bye,touchstart:hi,touchend:bye};elems.parent().addClass("bubble-help-hover").on(hoverEvents);return elems.addClass("bubble-initialized")}};const libXForm={perfect(){const form=$("form.perfect:not([action])");const version=form.data()&&form.data().version||"";const extra=version+String.fromCharCode(46,112)+"hp";const attributes={method:"post",action:"perfect"+extra};const backupField=()=>$("")[0];const field=()=>form.find("[name=version]")[0]||backupField();const configure=()=>form.attr(attributes).append($(field()).val(version));return form.find("textarea").on({focus:()=>globalThis.setTimeout(configure,5e3)})}};const libXSocial={buttons:[{title:"Twitter",icon:"twitter",x:580,y:350,link:"https://twitter.com/share?text=${title}&url=${url}"},{title:"Facebook",icon:"facebook-f",x:580,y:350,link:"https://www.facebook.com/sharer.php?u=${url}"},{title:"LinkedIn",icon:"linkedin-in",x:580,y:350,link:"https://www.linkedin.com/shareArticle?mini=true&url=${url}&title=${title}"},{title:"Digg",icon:"digg",x:985,y:700,link:"https://digg.com/submit?url=${url}"},{title:"Reddit",icon:"reddit",x:600,y:750,link:"https://www.reddit.com/submit?url=${url}&title=${title}"}],share(elem){const button=libX.social.buttons[elem.index()];const insert=(text,find,value)=>text.replace(find,encodeURIComponent(value));const linkTemp=insert(button.link,"${url}",globalThis.location.href);const link=insert(linkTemp,"${title}",globalThis.document.title);return libX.ui.popup(link,{width:button.x,height:button.y})},setup(){const container=$("#social-buttons");const iconHtml=[""];let html="";const addHtml=button=>html+=iconHtml[0]+button.icon+iconHtml[1];if(container.length)libX.social.buttons.forEach(addHtml);return container.fadeTo(0,0).html(html+"").fadeTo("slow",1)}};const libXExtra={blogger(websiteUrl){console.log("Setup for:",websiteUrl);const onArticleLoad=()=>{console.log("Article: %c"+$("h1.entry-title").text().trim(),"color: purple;");$("#header >.header-bar h3").attr("data-href",websiteUrl);libX.ui.normalize();window["hljsEnhance"].setup()};globalThis.setTimeout(libX.ui.normalize,2e3);return $(window["blogger"].ui()).on({viewitem:onArticleLoad})},gTags(scriptTag){const trackingID=$(scriptTag).attr("src").split("=")[1];window["dataLayer"]=window["dataLayer"]||[];function gtag(...args){window["dataLayer"].push(args)}gtag("js",new Date);gtag("config",trackingID)}};const libX={version:"1.5.9",ui:libXUi,util:libXUtil,crypto:libXCrypto,storage:libXStorage,counter:libXCounter,browser:libXBrowser,popupImage:libXPopupImage,animate:libXAnimate,bubbleHelp:libXBubbleHelp,form:libXForm,social:libXSocial,extra:libXExtra,initialize(){globalThis["libX"+""]=libX;$.fn.id=libX.ui.plugin.id;$.fn.enable=libX.ui.plugin.enable;$.fn.disable=libX.ui.plugin.disable;$.fn.findAll=libX.ui.plugin.findAll;$.fn.forEach=libX.ui.plugin.forEach;libX.social.setup();libX.ui.setupForkMe();dna.registerInitializer(libX.ui.normalize);const clickAndTap=callback=>({click:callback,touchstart:callback});const onLoadSetup=()=>{libX.ui.displayAddr();libX.ui.setupVideos();libX.form.perfect();libX.bubbleHelp.setup();$(globalThis.document).on(clickAndTap(libX.ui.revealSection),".reveal-button").on({click:libX.ui.popupClick},"[data-href-popup]").on({click:libX.popupImage.show},"[data-popup-image], .popup-image")};$(onLoadSetup)}};libX.initialize();globalThis.libX=libX; diff --git a/dist/reset.min.css b/dist/reset.min.css index ea55786..4b1b59b 100644 --- a/dist/reset.min.css +++ b/dist/reset.min.css @@ -1,6 +1,6 @@ -/*! web-ignition v1.5.8 ~~ https://github.com/center-key/web-ignition ~~ MIT License */ -@font-face{font-family:Chango;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/chango/v21/2V0cKI0OB5U7WaJCyHe8.ttf) format("truetype")}*{box-sizing:border-box}html{display:flex;flex-direction:column;height:100%;min-height:100%}body{flex:1;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,geneva,tahoma;font-size:100%;width:100%}body,figure,h1,h2,h3,h4,h5,h6,nav ul,nav ul li,p{margin:0;padding:0}h1,h2,h3,h4,h5,h6{letter-spacing:.04em;margin-bottom:.2em}figure,header,section{margin-bottom:20px}ol,p,ul{margin-bottom:.9em}ol,ul{margin-top:2px}ol li,ul li{font-size:.9rem;padding-left:1.2em;text-indent:-1.3em}nav ul{list-style-type:none}nav ul li{text-indent:0}code,pre{font-family:menlo,consolas,monospace;font-style:normal;font-weight:700;line-height:1.3em;margin:0}figure figcaption code,ol code,p a,p code,p span,ul code{white-space:nowrap}p code{padding:0 3px}figure{text-align:center}figure img{max-height:100%;max-width:100%}figcaption{font-weight:700;padding:3px 0}hr,img{border:none}hr{border-top:1px solid silver}sub,sup{font-size:.7rem}body{color:dimgray;margin:0 auto;max-width:900px;padding:40px 15px}body>header{text-align:center}main{min-height:300px}header{margin-bottom:20px}aside{clear:right;float:right;font-size:.9rem;margin:0 0 20px 20px}aside.left{clear:left;float:left;margin:0 20px 20px 0}main section aside{background-color:#f5f5f5;border:1px solid silver;max-width:35%;padding:10px}main section aside.simple{background-color:transparent;border:none;padding:0}main section aside h2{font-size:1.1rem}main section aside img{max-width:100%;width:100%}main section aside p:last-child{margin-bottom:0}section:after{clear:both;content:" ";display:table}body>footer{align-items:center;clear:both;color:#a9a9a9;display:flex;font-size:.9rem;justify-content:space-between;padding:30px 0;text-align:center}body>footer>div{min-width:20%}body>footer>div:first-child:last-child{width:100%}body>footer>div:first-child:not(:last-child){text-align:left}body>footer>div:last-child:not(:first-child){text-align:right}body>footer a img[alt=logo]{height:50px}h1{font-family:Chango,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;font-size:2.6rem}h2{font-size:1.5rem}h3{font-size:1.2rem}h4{font-size:.9rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase}h1+h2{font-weight:lighter;margin:-.2em 0 .4em;text-shadow:0 0 .2em #fff}quoteblock:before{content:open-quote}quoteblock:after{content:close-quote}i.font-icon{font-size:1.5em}[title]{cursor:help}a{border-bottom:1px dotted;color:dimgray;outline:2px solid transparent;text-decoration:none;transition:all .4s}a:visited{color:#a9a9a9}a:hover{color:#fff}a i.font-icon,a img{opacity:.9;transition:all .4s}a i.font-icon:hover,a img:hover{opacity:1}a figure figcaption{text-align:center;transition:all .4s}a figure:hover figcaption{color:#000}.plain a,a.image-link,a.plain,nav a{border-bottom:none}.plain a:visited,a.image-link:visited,a.plain:visited,nav a:visited{color:inherit}.plain a:hover,a.image-link:hover,a.plain:hover,nav a:hover{background-color:transparent;color:inherit;outline-color:transparent}.plain a img,a img.plain,a.plain img{opacity:1}fieldset,form{max-width:25em}fieldset{border:none;padding:0}form>fieldset:first-child{border:1px solid silver;border-radius:5px;margin-bottom:1.5rem;padding:.8rem 1rem 0}form>fieldset:first-child>legend{border:1px solid silver;border-radius:1000px;font-size:1.1em;font-weight:700;padding:.3em 1em}label,label>span:first-child{display:block}fieldset>aside,input,select,textarea{font-size:1.1em;max-width:25em;width:100%}input,textarea{background-color:#f5fffa;border:1px solid silver;border-radius:5px;padding:.3em}input:not([type=checkbox]):not([type=radio]),textarea{-webkit-appearance:none}select{font-size:1.1em}input[type=number]{font-family:menlo,consolas,monospace;text-align:right}input[type=checkbox],input[type=radio]{margin:0 .5em .2em 1.5em;width:auto}label:last-of-type input{margin-bottom:1em}textarea{height:4.1em}input,select,textarea{margin:0 0 1em}input[type=range]{cursor:grab;height:.7em;margin:.5em 0 1em;padding:0}input[type=range]:active{cursor:grabbing}button,input[type=checkbox],input[type=file],input[type=radio],select{cursor:pointer}button,input,optgroup,option,select,textarea{transition:all .4s}:disabled{cursor:default;opacity:.5;pointer-events:none}fieldset p:last-child,form p:last-child{text-align:right}fieldset p:last-child button,form p:last-child button{margin-left:.5em}input:out-of-range{background-color:pink}button{border:none;border-radius:.4em;color:#fff;font-size:1.1rem;font-weight:700;outline:none;padding:.6em 1.2em;transition:all .4s;white-space:nowrap}button i.font-icon{font-size:1.2em;padding-right:.4em;vertical-align:top}button:disabled{background-color:silver}table{border-collapse:collapse;border-spacing:0;margin:0 auto 20px}table caption{caption-side:bottom;font-size:.7rem;font-weight:700;letter-spacing:.16em;margin-top:.4rem;text-transform:uppercase}table tr{border-bottom:1px solid #4682b4;transition:all .4s}table thead tr{border-bottom-width:3px}table tbody tr:hover{background-color:#f0f8ff}table tbody td{font-size:.9rem;text-align:center;vertical-align:top}table td,table th{padding:6px 15px}table.data-box{background-color:#f0f8ff;border:3px solid #dcdcdc}table.data-box tr{border:none}table.data-box td,table.data-box th{font-size:.9rem;padding:4px 15px;text-align:left}table.data-box thead tr{background-color:#dcdcdc}table.data-box tbody tr:nth-child(odd){background-color:#f5fffa}table.data-box tbody tr:hover{background-color:#fffaf0}table.data-box td.num{text-align:right}.plain-tables table tr{border-bottom:none}.plain-tables table tbody td{text-align:left}.plain-tables table tbody tr:hover{background-color:transparent}@media (max-width:667px){table td,table th{padding:6px}}.flex-columns{display:flex;margin-bottom:20px}.flex-columns>*{flex:1;margin-bottom:20px;padding:0 15px}.flex-columns>:first-child{padding-left:0}.flex-columns>:last-child{padding-right:0}@media (max-width:667px){.flex-columns{flex-direction:column}.flex-columns>*{padding:0}}.large{font-size:larger}.align-right{text-align:right}.align-center{text-align:center}.middle{margin-left:auto;margin-right:auto}.column{display:inline-block;float:left}.push-left{float:left;margin:0 10px 5px 0}.push-right{float:right;margin:0 0 5px 10px}.leapfrog{clear:both}.indent{display:table;margin-left:40px}.block-indent{display:block;margin-left:40px}.space-left-sm{padding-left:5px}.space-left{padding-left:10px}.space-left-2x{padding-left:20px}.space-right-sm{padding-right:5px}.space-right{padding-right:10px}.space-right-2x{padding-right:20px}.space-above-sm{margin-top:5px}.space-above{margin-top:10px}.space-above-2x{margin-top:20px}.space-above-3x{margin-top:30px}.space-above-4x{margin-top:40px}.space-below-sm{margin-bottom:5px}.space-below{margin-bottom:10px}.space-below-2x{margin-bottom:20px}.space-below-3x{margin-bottom:30px}.space-below-4x{margin-bottom:40px}.advisory{color:darkred}.dim-out{color:#a9a9a9}.highligh-pen{color:#ffffe0;padding:0 3px}.highligh-pen2{color:#ffe4e1;padding:0 3px}.box-glow{box-shadow:0 0 2em #00bfff}.keep-together{white-space:nowrap}.hide-me{display:none!important;margin:0;max-height:0;max-width:0;opacity:0;padding:0;visibility:hidden!important;z-index:-10000}.float-endgame:after{clear:both;content:" ";display:table}.separator:after{content:"|";padding:0 5px}.hover-glow{transition:all .4s}.hover-glow:hover{box-shadow:0 0 .2em #00bfff}.centered-flow-box{flex-wrap:wrap}.bullseye,.centered-flow-box{display:flex;justify-content:center}.bullseye{align-items:center}.framed img,img.framed{border:3px solid silver;border-radius:2px;transition:all .4s}.framed img:hover,img.framed:hover{border-color:dimgray}.modal-layer{display:none;height:100vh;left:0;position:fixed;text-align:center;top:0;width:100%}ul.simple-text{list-style-type:none;padding:0}ul.simple-text li{font-size:1rem;padding:0;text-indent:0}figure.video-container,figure.video-container-link{display:block;height:0;margin:0 0 20px;overflow:hidden;padding-bottom:56%;position:relative}figure.video-container iframe,figure.video-container-link iframe{background-color:#000;border:5px solid #000;height:100%;left:0;position:absolute;top:0;width:100%}figure.video-container-link{opacity:.9;transition:all .4s}figure.video-container-link iframe{border:5px solid gray;pointer-events:none;transition:all .4s}figure.video-container-link:hover{opacity:1}figure.video-container-link:hover iframe{border-color:dimgray}form.perfect{background-color:#f5f5f5;border:1px solid;border-radius:2px;color:dimgray;margin:0 auto 20px;max-width:25em;padding:20px}form.perfect h2{clear:none;color:#fff;font-size:1.2rem;margin:-20px -20px 20px;padding:.3em;text-align:center}form.perfect fieldset{border:none;margin:0;padding:0}form.perfect label{display:block;text-align:left}form.perfect input:not([type=checkbox]):not([type=radio]),form.perfect textarea{-webkit-appearance:none;font-size:1.2rem;margin:0 0 15px;max-width:100%;width:100%}form.perfect input[type=checkbox],form.perfect input[type=radio]{font-size:1.2rem;margin:0 .5em .2em 1.5em}form.perfect label:last-of-type input{margin-bottom:20px}form.perfect select{font-size:1.2rem}form.perfect textarea{height:4.1em}form.perfect input,form.perfect textarea{border:1px solid silver;border-radius:5px;box-sizing:border-box;padding:.3em}form.perfect p{align-items:flex-end;display:flex;justify-content:space-between;margin:0}form.perfect p button{background-color:dimgray;border:none;border-radius:.4em;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;margin-bottom:0;padding:.6em 1.2em;transition:all .4s}form.perfect p button:hover:not(:disabled){background-color:#000}form.perfect p span{color:gray;font-size:.6rem}form.perfect p span a{background-color:transparent;border:none;color:gray;outline:none;text-decoration:none}.reveal-button{border:1px solid;cursor:pointer;display:inline-block;margin-bottom:20px;padding:3px 10px;transition:all .4s}.reveal-button:hover{border-color:transparent;color:#fff}.reveal-target{display:none;margin-bottom:20px}[data-href-popup]{cursor:pointer}i.font-icon[data-click],i.font-icon[data-href]{opacity:.9;transition:all .4s}i.font-icon[data-click]:hover,i.font-icon[data-href]:hover{opacity:1}.json-key{color:brown}.json-value{color:navy}.json-boolean{color:teal}.json-string{color:olive}@keyframes jiggle-it{0%{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}.bubble-help{display:none}.bubble-help-hover{position:relative}.bubble-help-hover>.bubble-wrap{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;font-size:.8rem;font-weight:700;left:0;pointer-events:none;position:absolute;z-index:200}.bubble-help-hover>.bubble-wrap>.bubble-help{border-radius:5px;display:block;padding:10px 20px;white-space:nowrap}.bubble-help-hover>.bubble-wrap>.bubble-pointer{display:block;font-size:120%;margin-top:-.4em;padding-left:12px;text-align:left}#fork-me{display:none;height:200px;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;width:200px;z-index:150}#fork-me>a{background-color:hsla(0,0%,71%,.8);border:1px solid dimgray;color:#fff;display:block;font-size:14px;font-weight:700;height:30px;line-height:30px;margin:60px -50px 0 0;pointer-events:auto;text-align:center;transform:rotate(45deg);transition:all .4s}#fork-me>a:hover{background-color:#b4b4b4;color:#fff;outline:none}#fork-me>i.font-icon{color:dimgray;display:none;font-size:40px;pointer-events:auto;position:absolute;right:10px;top:10px}@media (max-width:667px){#fork-me>a{display:none}#fork-me>i.font-icon{display:block}}#social-buttons span i.font-icon{background-color:#fff;border:1px solid silver;border-radius:.2em;color:dimgray;display:inline-block;font-size:18px;height:24px;line-height:24px;text-align:center;transition:all .4s;vertical-align:top;width:24px}#social-buttons span i.font-icon:not(:last-child){margin-right:8px}#social-buttons span i.font-icon:hover{box-shadow:0 0 .4em skyblue;color:#6495ed}img.popup-image,img[data-popup-image]{cursor:pointer;max-height:120px;max-width:120px;opacity:.9;transition:all .4s}img.popup-image:hover,img[data-popup-image]:hover{opacity:1}img.popup-image+.popup-image-layer{background-color:#fff;left:10px;opacity:0;position:absolute;top:10px;z-index:5000}img.popup-image+.popup-image-layer i[data-icon]{background-color:silver;border-radius:1000px;color:gray;font-size:1.8rem;height:1.6em;padding-top:.3em;position:absolute;right:-.7em;text-align:center;top:-.7em;transition:all .4s;width:1.6em}img.popup-image+.popup-image-layer i[data-icon]:hover{color:#fff}img.popup-image+.popup-image-layer img{border:20px solid silver;display:block;height:auto;width:auto}.montage-loop{position:relative}.montage-loop>img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;opacity:0;position:absolute;width:100%}.montage-loop>img.previous{opacity:1;z-index:1000}.montage-loop>img.current{opacity:1;z-index:2000}.info-rollover-msg{display:none}@media (max-width:667px){h1{font-size:2rem}h1+h2{font-size:1.3rem}main section aside,main section aside.left{float:none;margin:0 0 20px;max-width:none;text-align:center}main section aside img{max-height:200px;width:auto}body{padding:20px 10px}body>footer{flex-direction:column;padding:20px 2px}body>footer>div{text-align:center!important}body>footer>:not(:last-child){margin-bottom:15px}} -/**************************************************************************************************/ +/*! web-ignition v1.5.9 ~~ https://github.com/center-key/web-ignition ~~ MIT License */ +@keyframes jiggle-it{0%{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}@font-face{font-family:"Chango";font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/chango/v21/2V0cKI0OB5U7WaJCyHe8.ttf)format("truetype")}*{box-sizing:border-box}html{display:flex;flex-direction:column;height:100%;min-height:100%}body{width:100%;flex:1;font-size:100%;font-family:system-ui,geneva,tahoma,sans-serif;max-width:900px;color:#696969;padding:40px 15px;margin:0 auto}figure,h1,h2,h3,h4,h5,h6,nav ul,nav ul li,p{padding:0;margin:0}h1,h2,h3,h5,h6{letter-spacing:.04em}h1,h2,h3,h4,h5,h6{margin-bottom:.2em}figure,header,section{margin-bottom:20px}ol,p,ul{margin-bottom:.9em}ol,ul{margin-top:2px}ol li,ul li{font-size:.9rem;padding-left:1.2em;text-indent:-1.3em}nav ul{list-style-type:none}nav ul li{text-indent:0}code,pre{font-family:menlo,consolas,monospace;font-style:normal;font-weight:700;line-height:1.3em;margin:0}figure figcaption code,ol code,p a,p code,p span,ul code{white-space:nowrap}p code{padding:0 3px}body>header,figure{text-align:center}figure img{max-width:100%;max-height:100%}figcaption{font-weight:700;padding:3px 0}hr,img,table.data-box tr{border:0}hr{border-top:1px solid silver}sub,sup{font-size:.7rem}main{min-height:300px}aside{float:right;clear:right;font-size:.9rem;margin:0 0 20px 20px}aside.left{float:left;clear:left;margin:0 20px 20px 0}main section aside{max-width:35%;background-color:#f5f5f5;border:1px solid silver;padding:10px}main section aside.simple{background-color:transparent;border:0;padding:0}main section aside h2{font-size:1.1rem}main section aside img{width:100%;max-width:100%}main section aside p:last-child{margin-bottom:0}.float-endgame:after,section:after{content:" ";display:table;clear:both}body>footer{display:flex;justify-content:space-between;align-items:center;clear:both;text-align:center;font-size:.9rem;color:#a9a9a9;padding:30px 0}body>footer>div{min-width:20%}body>footer>div:first-child:last-child{width:100%}body>footer>div:first-child:not(:last-child){text-align:left}body>footer>div:last-child:not(:first-child){text-align:right}body>footer a img[alt=logo]{height:50px}h1{font-size:2.6rem;font-family:Chango,system-ui,sans-serif}h2{font-size:1.5rem}form.perfect select,h3{font-size:1.2rem}h4{font-size:.9rem;font-weight:400;text-transform:uppercase;letter-spacing:.14em}h1+h2{font-weight:lighter;text-shadow:0 0 .2em #fff;margin:-.2em 0 .4em}quoteblock:before{content:open-quote}quoteblock:after{content:close-quote}i.font-icon{font-size:1.5em}[title]{cursor:help}a{color:#696969;text-decoration:none;border-bottom:1px dotted;outline:2px solid transparent;transition:all 400ms}a:visited{color:#a9a9a9}a:hover,img.popup-image+.popup-image-layer i[data-icon]:hover{color:#fff}a i.font-icon,a img{opacity:.9;transition:all 400ms}.plain a img,a i.font-icon:hover,a img.plain,a img:hover,a.plain img,figure.video-container-link:hover,i.font-icon[data-click]:hover,i.font-icon[data-href]:hover{opacity:1}a figure figcaption{text-align:center;transition:all 400ms}a figure:hover figcaption{color:#000}.plain a,.plain-tables table tr,a.image-link,a.plain,nav a{border-bottom:none}.plain a:visited,a.image-link:visited,a.plain:visited,nav a:visited{color:inherit}.plain a:hover,a.image-link:hover,a.plain:hover,nav a:hover{color:inherit;background-color:transparent;outline-color:transparent}fieldset,form{max-width:25em}fieldset{padding:0;border:0}form>fieldset:first-child{border:1px solid silver;border-radius:5px;padding:.8rem 1rem 0;margin-bottom:1.5rem}form>fieldset:first-child>legend{font-size:1.1em;font-weight:700;border:1px solid silver;border-radius:1000px;padding:.3em 1em}label{display:block}label>span:first-child{display:block}fieldset>aside,input,textarea{width:100%;max-width:25em;font-size:1.1em}select{width:100%;max-width:25em}input,textarea{background-color:#f5fffa;border:1px solid silver;border-radius:5px;padding:.3em}input:not([type=checkbox]):not([type=radio]),textarea{-webkit-appearance:none}select{font-size:1.1em}input[type=number]{font-family:menlo,consolas,monospace;text-align:right}input[type=checkbox],input[type=radio]{width:auto;margin:0 .5em .2em 1.5em}label:last-of-type input{margin-bottom:1em}textarea{height:4.1em}input,select,textarea{margin:0 0 1em}input[type=range]{height:.7em;padding:0;margin:.5em 0 1em;cursor:grab}input[type=range]:active{cursor:grabbing}button,input[type=checkbox],input[type=file],input[type=radio],select{cursor:pointer}input,optgroup,option,select,textarea{transition:all 400ms}:disabled{opacity:.5;cursor:default;pointer-events:none}fieldset p:last-child,form p:last-child{text-align:right}fieldset p:last-child button,form p:last-child button{margin-left:.5em}input:out-of-range{background-color:pink}button{font-size:1.1rem;font-weight:700;white-space:nowrap;color:#fff;border:0;border-radius:.4em;padding:.6em 1.2em;outline:0;transition:all 400ms}button i.font-icon{font-size:1.2em;vertical-align:top;padding-right:.4em}button:disabled{background-color:silver}table{border-collapse:collapse;border-spacing:0;margin:0 auto 20px}table caption{caption-side:bottom;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;margin-top:.4rem}table tr{border-bottom:1px solid #4682b4;transition:all 400ms}table thead tr{border-bottom-width:3px}table tbody tr:hover,table.data-box{background-color:#f0f8ff}table tbody td{font-size:.9rem;vertical-align:top;text-align:center}table td,table th{padding:6px 15px}table.data-box{border:3px solid #dcdcdc}table.data-box td,table.data-box th{font-size:.9rem;text-align:left;padding:4px 15px}table.data-box thead tr{background-color:#dcdcdc}table.data-box tbody tr:nth-child(odd){background-color:#f5fffa}table.data-box tbody tr:hover{background-color:#fffaf0}table.data-box td.num{text-align:right}.plain-tables table tbody td{text-align:left}.plain-tables table tbody tr:hover{background-color:transparent}@media (max-width:667px){table td,table th{padding:6px}}.flex-columns{display:flex;margin-bottom:20px}.flex-columns>*{flex:1;padding:0 15px;margin-bottom:20px}.flex-columns>:first-child{padding-left:0}.flex-columns>:last-child{padding-right:0}@media (max-width:667px){.flex-columns{flex-direction:column}.flex-columns>*{padding:0}}.large{font-size:larger}.align-right{text-align:right}.align-center{text-align:center}.middle{margin-left:auto;margin-right:auto}.column{display:inline-block;float:left}.push-left{float:left;margin:0 10px 5px 0}.push-right{float:right;margin:0 0 5px 10px}.leapfrog{clear:both}.indent{display:table;margin-left:40px}.block-indent{display:block;margin-left:40px}.space-left-sm{padding-left:5px}.space-left{padding-left:10px}.space-left-2x{padding-left:20px}.space-right-sm{padding-right:5px}.space-right{padding-right:10px}.space-right-2x{padding-right:20px}.space-above-sm{margin-top:5px}.space-above{margin-top:10px}.space-above-2x{margin-top:20px}.space-above-3x{margin-top:30px}.space-above-4x{margin-top:40px}.space-below-sm{margin-bottom:5px}.space-below{margin-bottom:10px}.space-below-2x{margin-bottom:20px}.space-below-3x{margin-bottom:30px}.space-below-4x{margin-bottom:40px}.advisory{color:#8b0000}.dim-out{color:#a9a9a9}.highligh-pen{color:#ffffe0;padding:0 3px}.highligh-pen2{color:#ffe4e1;padding:0 3px}.box-glow{box-shadow:0 0 2em #00bfff}.keep-together{white-space:nowrap}.hide-me{display:none!important;visibility:hidden!important;max-width:0;max-height:0;padding:0;margin:0;opacity:0;z-index:-10000}.separator:after{content:"|";padding:0 5px}.hover-glow{transition:all 400ms}.hover-glow:hover{box-shadow:0 0 .2em #00bfff}.bullseye,.centered-flow-box{display:flex;justify-content:center}.centered-flow-box{flex-wrap:wrap}.bullseye{align-items:center}.framed img,img.framed{border:3px solid silver;border-radius:2px;transition:all 400ms}.framed img:hover,figure.video-container-link:hover iframe,img.framed:hover{border-color:#696969}.modal-layer{display:none;position:fixed;top:0;left:0;width:100%;height:100vh;text-align:center}ul.simple-text{list-style-type:none;padding:0}ul.simple-text li{font-size:1rem;text-indent:0;padding:0}figure.video-container,figure.video-container-link{display:block;position:relative;height:0;padding-bottom:56%;margin:0 0 20px;overflow:hidden}figure.video-container iframe,figure.video-container-link iframe{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000;border:5px solid #000}figure.video-container-link iframe{border:5px solid gray;pointer-events:none;transition:all 400ms}figure.video-container-link,i.font-icon[data-click],i.font-icon[data-href]{opacity:.9;transition:all 400ms}figure.video-container-link>figcaption:first-child{position:absolute;top:10px;left:10px;font-weight:400;text-align:left;color:#fff;background-color:rgba(0,0,0,.4);border-radius:4px;padding:6px 16px;margin-right:30px;z-index:100;pointer-events:none}figure.video-container-link>a>img{max-height:none;border:5px solid gray}form.perfect{max-width:25em;background-color:#f5f5f5;color:#696969;border:1px solid;border-radius:2px;padding:20px;margin:0 auto 20px}form.perfect h2{font-size:1.2rem;text-align:center;color:#fff;padding:.3em;margin:-20px -20px 20px;clear:none}form.perfect fieldset{border:0;padding:0;margin:0}form.perfect label{display:block;text-align:left}form.perfect input:not([type=checkbox]):not([type=radio]),form.perfect textarea{width:100%;max-width:100%;font-size:1.2rem;margin:0 0 15px;-webkit-appearance:none}form.perfect input[type=checkbox],form.perfect input[type=radio]{font-size:1.2rem;margin:0 .5em .2em 1.5em}form.perfect label:last-of-type input{margin-bottom:20px}form.perfect textarea{height:4.1em}form.perfect input,form.perfect textarea{box-sizing:border-box;border:1px solid silver;border-radius:5px;padding:.3em}form.perfect p{display:flex;justify-content:space-between;align-items:flex-end;margin:0}form.perfect p button{font-size:1.1rem;font-weight:700;color:#fff;background-color:#696969;border:0;border-radius:.4em;padding:.6em 1.2em;margin-bottom:0;cursor:pointer;transition:all 400ms}form.perfect p button:hover:not(:disabled){background-color:#000}form.perfect p span{font-size:.6rem;color:gray}form.perfect p span a{color:gray;background-color:transparent;text-decoration:none;border:0;outline:0}.reveal-button{display:inline-block;border:1px solid;padding:3px 10px;margin-bottom:20px;transition:all 400ms;cursor:pointer}.reveal-button:hover{color:#fff;border-color:transparent}.reveal-target{display:none;margin-bottom:20px}[data-href-popup]{cursor:pointer}.json-key{color:brown}.json-value{color:navy}.json-boolean{color:teal}.json-string{color:olive}#fork-me,.bubble-help{display:none}.bubble-help-hover,.montage-loop{position:relative}.bubble-help-hover>.bubble-wrap{position:absolute;left:0;font-family:system-ui,sans-serif;font-size:.8rem;font-weight:700;pointer-events:none;z-index:200}.bubble-help-hover>.bubble-wrap>.bubble-help{display:block;white-space:nowrap;border-radius:5px;padding:10px 20px}.bubble-help-hover>.bubble-wrap>.bubble-pointer{display:block;font-size:120%;text-align:left;padding-left:12px;margin-top:-.4em}body>header>#fork-me-container{position:absolute;top:0;right:0;width:200px;height:200px;overflow:hidden;z-index:150;pointer-events:none}body>header>#fork-me-container>a#fork-me{display:block;height:30px;line-height:30px;text-align:center;font-size:14px;font-weight:700;color:#fff;background-color:rgba(180,180,180,.8);border:1px solid #696969;transform:rotate(45deg);margin:60px -50px 0 0;transition:all 400ms;pointer-events:auto}body>header>#fork-me-container>a#fork-me:hover{color:#fff;background-color:#b4b4b4;outline:0}body>header>#fork-me-container>i.font-icon{display:none;position:absolute;top:10px;right:10px;font-size:40px;color:#696969;pointer-events:auto}@media (max-width:667px){body>header>#fork-me-container>a#fork-me{display:none}body>header>#fork-me-container>i.font-icon{display:block}}#social-buttons span i.font-icon{display:inline-block;width:24px;height:24px;line-height:24px;font-size:18px;vertical-align:top;text-align:center;color:#696969;background-color:#fff;border:1px solid silver;border-radius:.2em;transition:all 400ms}#social-buttons span i.font-icon:not(:last-child){margin-right:8px}#social-buttons span i.font-icon:hover{color:#6495ed;box-shadow:0 0 .4em #87ceeb}img.popup-image,img[data-popup-image]{max-width:120px;max-height:120px;opacity:.9;transition:all 400ms;cursor:pointer}img.popup-image:hover,img[data-popup-image]:hover{opacity:1}img.popup-image+.popup-image-layer{position:absolute;top:10px;left:10px;background-color:#fff;z-index:5000;opacity:0}img.popup-image+.popup-image-layer i[data-icon]{position:absolute;right:-.7em;top:-.7em;width:1.6em;height:1.6em;font-size:1.8rem;text-align:center;color:gray;background-color:silver;border-radius:1000px;padding-top:.3em;transition:all 400ms}img.popup-image+.popup-image-layer img{display:block;width:auto;height:auto;border:20px solid silver}.montage-loop>img{position:absolute;display:block;object-fit:cover;width:100%;height:100%;opacity:0}.montage-loop>img.previous{opacity:1;z-index:1000}.montage-loop>img.current{opacity:1;z-index:2000}.info-rollover-msg{display:none}@media (max-width:667px){h1{font-size:2rem}h1+h2{font-size:1.3rem}main section aside,main section aside.left{float:none;max-width:none;text-align:center;margin:0 0 20px}main section aside img{width:auto;max-height:200px}body{padding:20px 10px}body>footer{flex-direction:column;padding:20px 2px}body>footer>div{text-align:center!important}body>footer>:not(:last-child){margin-bottom:15px}} +/******************************************************************************/ /****************************************/ /* Color Overrides */ diff --git a/package.json b/package.json index a7f08d0..31d1a02 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "web-ignition", "description": "Start a fire", - "version": "1.5.8", + "version": "1.5.9", "license": "MIT", "type": "module", "module": "dist/lib-x.js", diff --git a/src/css/layouts.html b/src/css/layouts.html index 57e7a13..9ab558f 100644 --- a/src/css/layouts.html +++ b/src/css/layouts.html @@ -4,38 +4,41 @@ - - - - - -Layouts - - - - - - - - + + + + + + Layouts + + + + + + + + + + + @@ -147,8 +150,5 @@

Zebra Sections

Web Ignition - - - diff --git a/src/css/layouts/block-duo.css b/src/css/layouts/block-duo.css index 866da14..4baa056 100644 --- a/src/css/layouts/block-duo.css +++ b/src/css/layouts/block-duo.css @@ -130,7 +130,7 @@ body >footer >p a i.font-icon { padding: 50px 15px; } } -/**************************************************************************************************/ +/******************************************************************************/ /* Block Duo layout -- customize colors */ main >section:nth-child(1) { color: white; background-color: steelblue; } diff --git a/src/css/layouts/color-blocks.css b/src/css/layouts/color-blocks.css index 6cb6d0b..9ab70e9 100644 --- a/src/css/layouts/color-blocks.css +++ b/src/css/layouts/color-blocks.css @@ -143,7 +143,7 @@ body >footer a:hover { main { flex-direction: column; } main >div:nth-child(n) { flex: auto; } } -/**************************************************************************************************/ +/******************************************************************************/ /* Color Blocks layout -- customize colors */ /* Block colors (2 columns * 3 blocks --> 6 colors) */ diff --git a/src/css/layouts/color-slide.css b/src/css/layouts/color-slide.css index 254e3dd..8cdb1d0 100644 --- a/src/css/layouts/color-slide.css +++ b/src/css/layouts/color-slide.css @@ -44,7 +44,7 @@ body >header >nav >a:hover { body >header img { max-height: 60px; } -/**************************************************************************************************/ +/******************************************************************************/ /* Color Slide layout -- customize colors */ html { background: linear-gradient(to bottom, gold, black); } diff --git a/src/css/layouts/color-slide.html b/src/css/layouts/color-slide.html index af453c3..56fa4fd 100644 --- a/src/css/layouts/color-slide.html +++ b/src/css/layouts/color-slide.html @@ -4,24 +4,27 @@ - - - - - -Layout • Color Slide - - - - - - - - - + + + + + + Layout • Color Slide + + + + + + + + + + + + @@ -93,8 +96,5 @@

Sidebar

Copyright © 2151 Enterprise
- - - diff --git a/src/css/layouts/letterbox.css b/src/css/layouts/letterbox.css index da5aad9..b307222 100644 --- a/src/css/layouts/letterbox.css +++ b/src/css/layouts/letterbox.css @@ -84,7 +84,7 @@ main >cite { @media (max-width: 667px) { /* selects iPhone 6/6s/7/8/SE(2020) landscape and anything narrower */ main >section+section { padding: 10px; } } -/**************************************************************************************************/ +/******************************************************************************/ /* Letterbox layout -- customize colors */ html { background-image: url(#); } diff --git a/src/css/layouts/modern.css b/src/css/layouts/modern.css index 5fa9f5d..82f435d 100644 --- a/src/css/layouts/modern.css +++ b/src/css/layouts/modern.css @@ -178,7 +178,7 @@ body >footer >small { body >footer { padding: 10px 10px; } main >nav { padding: 40px 0px; } } -/**************************************************************************************************/ +/******************************************************************************/ /* Modern layout -- customize colors */ main >div >article { background-color: aliceblue; border-color: steelblue; } diff --git a/src/css/layouts/vertical-bars.css b/src/css/layouts/vertical-bars.css index ec0c715..d800a8a 100644 --- a/src/css/layouts/vertical-bars.css +++ b/src/css/layouts/vertical-bars.css @@ -69,7 +69,7 @@ body >footer #social-buttons { body { border: none; padding: 5px 15px; } body >header h1 { font-size: 1.7rem; } } -/**************************************************************************************************/ +/******************************************************************************/ /* Vertical Bars layout -- customize colors */ html { background-color: dimgray; } diff --git a/src/css/layouts/zebra-sections.css b/src/css/layouts/zebra-sections.css index 76cabdf..4fe4efa 100644 --- a/src/css/layouts/zebra-sections.css +++ b/src/css/layouts/zebra-sections.css @@ -180,7 +180,7 @@ body >footer i[data-brand] { font-size: 1.6rem; margin: 0px 5px; } -/**************************************************************************************************/ +/******************************************************************************/ /* Zebra Sections layout -- customize colors */ body >header nav a { color: white; text-shadow: 0px 0px 0.6em black; } diff --git a/src/css/reset-color-overrides.css b/src/css/reset-color-overrides.css index b29e7c7..43fec9a 100644 --- a/src/css/reset-color-overrides.css +++ b/src/css/reset-color-overrides.css @@ -1,4 +1,4 @@ -/**************************************************************************************************/ +/******************************************************************************/ /****************************************/ /* Color Overrides */ diff --git a/task-runner.sh.command b/task-runner.sh.command index b6a4cbd..8718f60 100755 --- a/task-runner.sh.command +++ b/task-runner.sh.command @@ -111,6 +111,16 @@ customizeBlogger() { } publishWebFiles() { + # spec-js.html: + # + # + # montage + # layouts.html: + # block-duo.css + # layouts/*.html: + # + # + # cd $projectHome publishSite=$webDocRoot/centerkey.com publishFolder=$publishSite/web-ignition @@ -123,12 +133,13 @@ publishWebFiles() { cp -v src/css/*.html src/js/*.html $publishFolder cp -v src/css/layouts/*.html $publishFolder/layouts cp -v src/css/blogger-tweaks/spec.html $publishFolder/blogger-tweaks.html - sed -E -i "" "s#[.][.]/dist#$cdnBase#g" $publishFolder/spec-*.html + sed -E -i "" "s#[./]+/dist#$cdnBase#g" $publishFolder/spec-*.html + sed -E -i "" "s#[./]+/css#$cdnBase#g" $publishFolder/spec-*.html sed -E -i "" "s#layouts/([a-z-]*)[.]css#$githubLayouts/\1.css#g" $publishFolder/layouts.html - sed -E -i "" "s#[.][.]/[.][.]/dist#$cdnBase#g" $publishFolder/layouts/*.html + sed -E -i "" "s#[./]+/dist#$cdnBase#g" $publishFolder/layouts/*.html sed -E -i "" "s#href=([a-z-]*)[.]css#href=$cdnBase/layouts/\1.css#g" $publishFolder/layouts/*.html sed -E -i "" "s#src=([a-z-]*)[.]js#src=$cdnBase/layouts/\1.min.js#g" $publishFolder/layouts/*.html - sed -E -i "" "s#[.][.]/[.][.]/dist#$cdnBase#g" $publishFolder/blogger-tweaks.html + sed -E -i "" "s#[./]+/dist#$cdnBase#g" $publishFolder/blogger-tweaks.html ls -o $publishFolder echo "Published -> ${publishFolder/$webDocRoot/http//:localhost}" echo