diff options
Diffstat (limited to 'docs/assets')
47 files changed, 1429 insertions, 0 deletions
diff --git a/docs/assets/disqus.js b/docs/assets/disqus.js new file mode 100644 index 0000000..0c52381 --- /dev/null +++ b/docs/assets/disqus.js @@ -0,0 +1,5 @@ +(function() { + var t = document, + e = t.createElement("script"); + e.src = "https://navan-chauhan.disqus.com/embed.js", e.setAttribute("data-timestamp", +new Date), (t.head || t.body).appendChild(e) +})(); diff --git a/docs/assets/gciTales/01-teachableMachines/.01-collect.png.icloud b/docs/assets/gciTales/01-teachableMachines/.01-collect.png.icloud Binary files differnew file mode 100644 index 0000000..b291112 --- /dev/null +++ b/docs/assets/gciTales/01-teachableMachines/.01-collect.png.icloud diff --git a/docs/assets/gciTales/01-teachableMachines/02-train.png b/docs/assets/gciTales/01-teachableMachines/02-train.png Binary files differnew file mode 100644 index 0000000..a69fd63 --- /dev/null +++ b/docs/assets/gciTales/01-teachableMachines/02-train.png diff --git a/docs/assets/gciTales/01-teachableMachines/03-label.png b/docs/assets/gciTales/01-teachableMachines/03-label.png Binary files differnew file mode 100644 index 0000000..efe450d --- /dev/null +++ b/docs/assets/gciTales/01-teachableMachines/03-label.png diff --git a/docs/assets/gciTales/01-teachableMachines/04-alert.png b/docs/assets/gciTales/01-teachableMachines/04-alert.png Binary files differnew file mode 100644 index 0000000..f648bad --- /dev/null +++ b/docs/assets/gciTales/01-teachableMachines/04-alert.png diff --git a/docs/assets/gciTales/01-teachableMachines/05-html.png b/docs/assets/gciTales/01-teachableMachines/05-html.png Binary files differnew file mode 100644 index 0000000..f917c07 --- /dev/null +++ b/docs/assets/gciTales/01-teachableMachines/05-html.png diff --git a/docs/assets/gciTales/01-teachableMachines/06-js.png b/docs/assets/gciTales/01-teachableMachines/06-js.png Binary files differnew file mode 100644 index 0000000..173a8aa --- /dev/null +++ b/docs/assets/gciTales/01-teachableMachines/06-js.png diff --git a/docs/assets/gciTales/01-teachableMachines/07-eg.png b/docs/assets/gciTales/01-teachableMachines/07-eg.png Binary files differnew file mode 100644 index 0000000..cc8198e --- /dev/null +++ b/docs/assets/gciTales/01-teachableMachines/07-eg.png diff --git a/docs/assets/gciTales/01-teachableMachines/08-eg.png b/docs/assets/gciTales/01-teachableMachines/08-eg.png Binary files differnew file mode 100644 index 0000000..b1261fa --- /dev/null +++ b/docs/assets/gciTales/01-teachableMachines/08-eg.png diff --git a/docs/assets/gciTales/03-regression/1.png b/docs/assets/gciTales/03-regression/1.png Binary files differnew file mode 100644 index 0000000..b07d172 --- /dev/null +++ b/docs/assets/gciTales/03-regression/1.png diff --git a/docs/assets/gciTales/03-regression/2.png b/docs/assets/gciTales/03-regression/2.png Binary files differnew file mode 100644 index 0000000..53531ad --- /dev/null +++ b/docs/assets/gciTales/03-regression/2.png diff --git a/docs/assets/gciTales/03-regression/3.png b/docs/assets/gciTales/03-regression/3.png Binary files differnew file mode 100644 index 0000000..542d76e --- /dev/null +++ b/docs/assets/gciTales/03-regression/3.png diff --git a/docs/assets/gciTales/03-regression/4.png b/docs/assets/gciTales/03-regression/4.png Binary files differnew file mode 100644 index 0000000..16101cd --- /dev/null +++ b/docs/assets/gciTales/03-regression/4.png diff --git a/docs/assets/gciTales/03-regression/5.png b/docs/assets/gciTales/03-regression/5.png Binary files differnew file mode 100644 index 0000000..36b9c26 --- /dev/null +++ b/docs/assets/gciTales/03-regression/5.png diff --git a/docs/assets/gciTales/03-regression/6.png b/docs/assets/gciTales/03-regression/6.png Binary files differnew file mode 100644 index 0000000..479d0e5 --- /dev/null +++ b/docs/assets/gciTales/03-regression/6.png diff --git a/docs/assets/main.css b/docs/assets/main.css new file mode 100644 index 0000000..99962e2 --- /dev/null +++ b/docs/assets/main.css @@ -0,0 +1,369 @@ +/* Generated by Pygments CSS Theme Builder - https://jwarby.github.io/jekyll-pygments-themes/builder.html */ +/* Base Style */ +.codehilite pre { + overflow-x:auto; + color: #fefefe; + text-shadow: 0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975; + background-image: linear-gradient(to bottom, #2a2139 75%, #34294f); + background-color: #2a2139; + margin-bottom: 1rem; + margin-top: 1rem; +} +/* Punctuation */ +.codehilite .p { + color: #ff7edb; + text-shadow: 0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3; + background-color: #2a2139; +} +/* Error */ +.codehilite .err { + color: #ff7edb; + text-shadow: 0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3; + background-color: #2a2139; +} +/* Base Style */ +.codehilite .n { + color: #ff7edb; + text-shadow: 0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3; + text-shadow: 0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3; + background-color: transparent; +} +/* Name Attribute */ +.codehilite .na { + color: #fede5d; + background-color: transparent; +} +/* Name Builtin */ +.codehilite .nb { + color: #fe4450; + background-color: transparent; +} +/* Name Class */ +.codehilite .nc { + color: #fe4450; + background-color: transparent; +} +/* Name Constant */ +.codehilite .no { + color: transparent; + background-color: transparent; +} +/* Name Decorator */ +.codehilite .nd { + color: transparent; + background-color: transparent; +} +/* Name Entity */ +.codehilite .ni { + color: transparent; + background-color: transparent; +} +/* Name Exception */ +.codehilite .ne { + color: #fe4450; + background-color: transparent; +} +/* Name Function */ +.codehilite .nf { + color: #36f9f6; + background-color: transparent; +} +/* Name Label */ +.codehilite .nl { + color: transparent; + background-color: transparent; +} +/* Name Namespace */ +.codehilite .nn { + color: #f97e72; + background-color: transparent; +} +/* Name Other */ +.codehilite .nx { + color: #36f9f6; + background-color: transparent; +} +/* Name Property */ +.codehilite .py { + color: transparent; + background-color: transparent; +} +/* Name Tag */ +.codehilite .nt { + color: #72f1b8; + text-shadow: 0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475; + background-color: transparent; +} +/* Name Variable */ +.codehilite .nv { + color: #bbbbbb; + background-color: transparent; +} +/* Name Variable Class */ +.codehilite .vc { + color: transparent; + background-color: transparent; +} +/* Name Variable Global */ +.codehilite .vg { + color: transparent; + background-color: transparent; +} +/* Name Variable Instance */ +.codehilite .vi { + color: transparent; + background-color: transparent; +} +/* Name Builtin Pseudo */ +.codehilite .bp { + color: #36f9f6; + background-color: transparent; +} +/* Base Style */ +.codehilite .g { + color: transparent; + background-color: transparent; +} +/* */ +.codehilite .gd { + color: transparent; + background-color: transparent; +} +/* Base Style */ +.codehilite .o { + color: #fefefe; + text-shadow: 0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975; + background-color: transparent; +} +/* Operator Word */ +.codehilite .ow { + color: #fede5d; + background-color: transparent; +} +/* Base Style */ +.codehilite .c { + color: #848bbd; + background-color: transparent; +} +/* Comment Multiline */ +.codehilite .cm { + color: #848bbd; + background-color: transparent; +} +/* Comment Preproc */ +.codehilite .cp { + color: #848bbd; + background-color: transparent; +} +/* Comment Single */ +.codehilite .c1 { + color: #848bbd; + background-color: transparent; +} +/* Comment Special */ +.codehilite .cs { + color: #848bbd; + background-color: transparent; +} +/* Base Style */ +.codehilite .k { + color: #fede5d; + background-color: transparent; +} +/* Keyword Constant */ +.codehilite .kc { + color: #f97e72; + background-color: transparent; +} +/* Keyword Declaration */ +.codehilite .kd { + color: #fede5d; + background-color: transparent; +} +/* Keyword Namespace */ +.codehilite .kn { + color: #fede5d; + background-color: transparent; +} +/* Keyword Pseudo */ +.codehilite .kp { + color: #fede5d; + background-color: transparent; +} +/* Keyword Reserved */ +.codehilite .kr { + color: #fede5d; + background-color: transparent; +} +/* Keyword Type */ +.codehilite .kt { + color: #fede5d; + background-color: transparent; +} +/* Base Style */ +.codehilite .l { + color: #36f9f6; + background-color: transparent; +} +/* Literal Date */ +.codehilite .ld { + color: #36f9f6; + background-color: transparent; +} +/* Literal Number */ +.codehilite .m { + color: #36f9f6; + background-color: transparent; +} +/* Literal Number Float */ +.codehilite .mf { + color: #36f9f6; + background-color: transparent; +} +/* Literal Number Hex */ +.codehilite .mh { + color: #36f9f6; + background-color: transparent; +} +/* Literal Number Integer */ +.codehilite .mi { + color: #f97e72; + background-color: transparent; +} +/* Literal Number Oct */ +.codehilite .mo { + color: #36f9f6; + background-color: transparent; +} +/* Literal Number Integer Long */ +.codehilite .il { + color: #36f9f6; + background-color: transparent; +} +/* Literal String */ +.codehilite .s { + color: #ff8b39; + text-shadow: 0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575; + background-color: transparent; +} +/* Literal String Backtick */ +.codehilite .sb { + color: #36f9f6; + background-color: transparent; +} +/* Literal String Char */ +.codehilite .sc { + color: #36f9f6; + background-color: transparent; +} +/* Literal String Doc */ +.codehilite .sd { + color: #848bbd; + background-color: transparent; +} +/* Literal String Double */ +.codehilite .s2 { + color: #36f9f6; + background-color: transparent; +} +/* Literal String Escape */ +.codehilite .se { + color: #36f9f6; + background-color: transparent; +} +/* Literal String Heredoc */ +.codehilite .sh { + color: #36f9f6; + background-color: transparent; +} +/* Literal String Interpol */ +.codehilite .si { + color: #36f9f6; + background-color: transparent; +} +/* Literal String Other */ +.codehilite .sx { + color: #36f9f6; + background-color: transparent; +} +/* Literal String Regex */ +.codehilite .sr { + color: transparent; + background-color: transparent; +} +/* Literal String Single */ +.codehilite .s1 { + color: #ff8b39; + text-shadow: 0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575; + background-color: transparent; +} +/* Literal String Symbol */ +.codehilite .ss { + color: #36f9f6; + background-color: transparent; +} +/* Base Style */ +.codehilite .g { + color: transparent; + background-color: transparent; +} +/* Generic Deleted */ +.codehilite .gd { + color: transparent; + background-color: transparent; +} +/* Generic Emph */ +.codehilite .ge { + color: transparent; + background-color: transparent; +} +/* Generic Error */ +.codehilite .gr { + color: transparent; + background-color: transparent; +} +/* Generic Heading */ +.codehilite .gh { + color: transparent; + background-color: transparent; +} +/* Generic Inserted */ +.codehilite .gi { + color: transparent; + background-color: transparent; +} +/* Generic Output */ +.codehilite .go { + color: transparent; + background-color: transparent; +} +/* Generic Prompt */ +.codehilite .gp { + color: transparent; + background-color: transparent; +} +/* Generic Strong */ +.codehilite .gs { + color: transparent; + background-color: transparent; +} +/* Generic Subheading */ +.codehilite .gu { + color: transparent; + background-color: transparent; +} +/* Generic Traceback */ +.codehilite .gt { + color: transparent; + background-color: transparent; +} +/* Other */ +.codehilite .x { + color: transparent; + background-color: transparent; +} +/* Text Whitespace */ +.codehilite .w { + color: transparent; + background-color: transparent; +} diff --git a/docs/assets/manup.min.js b/docs/assets/manup.min.js new file mode 100644 index 0000000..20bc3a1 --- /dev/null +++ b/docs/assets/manup.min.js @@ -0,0 +1 @@ +var manUpObject,tagArray=[],linkArray=[],validMetaValues=[{name:"mobile-web-app-capable",manifestName:"display"},{name:"apple-mobile-web-app-capable",manifestName:"display"},{name:"apple-mobile-web-app-title",manifestName:"short_name"},{name:"application-name",manifestName:"short_name"},{name:"msapplication-TileColor",manifestName:"ms_TileColor"},{name:"msapplication-square70x70logo",manifestName:"icons",imageSize:"70x70"},{name:"msapplication-square150x150logo",manifestName:"icons",imageSize:"150x150"},{name:"msapplication-wide310x150logo",manifestName:"icons",imageSize:"310x150"},{name:"msapplication-square310x310logo",manifestName:"icons",imageSize:"310x310"}],validLinkValues=[{name:"apple-touch-icon",manifestName:"icons",imageSize:"152x152"},{name:"apple-touch-icon",manifestName:"icons",imageSize:"120x120"},{name:"apple-touch-icon",manifestName:"icons",imageSize:"76x76"},{name:"apple-touch-icon",manifestName:"icons",imageSize:"60x60"},{name:"apple-touch-icon",manifestName:"icons",imageSize:"57x57"},{name:"apple-touch-icon",manifestName:"icons",imageSize:"72x72"},{name:"apple-touch-icon",manifestName:"icons",imageSize:"114x114"},{name:"icon",manifestName:"icons",imageSize:"128x128"},{name:"icon",manifestName:"icons",imageSize:"192x192"}],generateFullMetaData=function(){for(var e=0;e<validMetaValues.length;e++)if(manUpObject[validMetaValues[e].manifestName])if("icons"==validMetaValues[e].manifestName)for(var a=manUpObject.icons,n=0;n<a.length;n++)a[n].sizes==validMetaValues[e].imageSize&&(validMetaValues[e].content=a[n].src);else validMetaValues[e].content=manUpObject[validMetaValues[e].manifestName],"display"==validMetaValues[e].manifestName&&"standalone"==manUpObject.display&&(validMetaValues[e].content="yes");return validMetaValues},generateFullLinkData=function(){for(var e=0;e<validLinkValues.length;e++)if(manUpObject[validLinkValues[e].manifestName])if("icons"==validLinkValues[e].manifestName)for(var a=manUpObject.icons,n=0;n<a.length;n++)a[n].sizes==validLinkValues[e].imageSize&&(validLinkValues[e].content=a[n].src);else validLinkValues[e].content=manUpObject[validLinkValues[e].manifestName];return validLinkValues},generateMetaArray=function(){for(var e=generateFullMetaData(),a=document.getElementsByTagName("head")[0],n=0;n<e.length;n++){var i=document.createElement("meta");i.name=e[n].name,i.content=e[n].content,a.appendChild(i)}},generateLinkArray=function(){for(var e=generateFullLinkData(),a=document.getElementsByTagName("head")[0],n=0;n<e.length;n++){var i=document.createElement("link");i.setAttribute("rel",e[n].name),i.setAttribute("sizes",e[n].imageSize),i.setAttribute("href",e[n].content),a.appendChild(i)}},generateObj=function(e){manUpObject=JSON.parse(e),generateLinkArray(),generateMetaArray()},makeAjax=function(e){if(window.XMLHttpRequest){var a,n=/^https?:\/\//i;n.test(e)?fulURL=e:a=window.location.hostname+e;var i=new XMLHttpRequest;i.onreadystatechange=function(){4==i.readyState&&200==i.status&&generateObj(i.responseText)},i.open("GET",e,!0),i.send()}},collectManifestObj=function(){for(var e=document.getElementsByTagName("link"),a=0;a<e.length;a++)e[a].rel&&"manifest"==e[a].rel&&makeAjax(e[a].href)},testForManifest=function(){collectManifestObj()}(); diff --git a/docs/assets/posts/arjs/.03-knot.png.icloud b/docs/assets/posts/arjs/.03-knot.png.icloud Binary files differnew file mode 100644 index 0000000..f947318 --- /dev/null +++ b/docs/assets/posts/arjs/.03-knot.png.icloud diff --git a/docs/assets/posts/arjs/01-ngrok.png b/docs/assets/posts/arjs/01-ngrok.png Binary files differnew file mode 100644 index 0000000..2759c5b --- /dev/null +++ b/docs/assets/posts/arjs/01-ngrok.png diff --git a/docs/assets/posts/arjs/02-box-demo.gif b/docs/assets/posts/arjs/02-box-demo.gif Binary files differnew file mode 100644 index 0000000..b5ab73a --- /dev/null +++ b/docs/assets/posts/arjs/02-box-demo.gif diff --git a/docs/assets/posts/arjs/04-nyan.gif b/docs/assets/posts/arjs/04-nyan.gif Binary files differnew file mode 100644 index 0000000..2fe12ad --- /dev/null +++ b/docs/assets/posts/arjs/04-nyan.gif diff --git a/docs/assets/posts/arjs/05-GitHub.jpg b/docs/assets/posts/arjs/05-GitHub.jpg Binary files differnew file mode 100644 index 0000000..051169e --- /dev/null +++ b/docs/assets/posts/arjs/05-GitHub.jpg diff --git a/docs/assets/posts/autodock-vina/s1.png b/docs/assets/posts/autodock-vina/s1.png Binary files differnew file mode 100644 index 0000000..332f726 --- /dev/null +++ b/docs/assets/posts/autodock-vina/s1.png diff --git a/docs/assets/posts/kaggle-colab/ss1.png b/docs/assets/posts/kaggle-colab/ss1.png Binary files differnew file mode 100644 index 0000000..b618236 --- /dev/null +++ b/docs/assets/posts/kaggle-colab/ss1.png diff --git a/docs/assets/posts/kaggle-colab/ss2.png b/docs/assets/posts/kaggle-colab/ss2.png Binary files differnew file mode 100644 index 0000000..0777cdd --- /dev/null +++ b/docs/assets/posts/kaggle-colab/ss2.png diff --git a/docs/assets/posts/kaggle-colab/ss3.png b/docs/assets/posts/kaggle-colab/ss3.png Binary files differnew file mode 100644 index 0000000..186db99 --- /dev/null +++ b/docs/assets/posts/kaggle-colab/ss3.png diff --git a/docs/assets/posts/kaggle-colab/ss4.png b/docs/assets/posts/kaggle-colab/ss4.png Binary files differnew file mode 100644 index 0000000..4d60648 --- /dev/null +++ b/docs/assets/posts/kaggle-colab/ss4.png diff --git a/docs/assets/posts/obs/.01-pewdiepie.png.icloud b/docs/assets/posts/obs/.01-pewdiepie.png.icloud Binary files differnew file mode 100644 index 0000000..29446fa --- /dev/null +++ b/docs/assets/posts/obs/.01-pewdiepie.png.icloud diff --git a/docs/assets/posts/obs/.11.png.icloud b/docs/assets/posts/obs/.11.png.icloud Binary files differnew file mode 100644 index 0000000..f6a4366 --- /dev/null +++ b/docs/assets/posts/obs/.11.png.icloud diff --git a/docs/assets/posts/obs/.3-usb.png.icloud b/docs/assets/posts/obs/.3-usb.png.icloud Binary files differnew file mode 100644 index 0000000..6719b05 --- /dev/null +++ b/docs/assets/posts/obs/.3-usb.png.icloud diff --git a/docs/assets/posts/obs/.5S.png.icloud b/docs/assets/posts/obs/.5S.png.icloud Binary files differnew file mode 100644 index 0000000..e300a38 --- /dev/null +++ b/docs/assets/posts/obs/.5S.png.icloud diff --git a/docs/assets/posts/obs/.mirrorless.png.icloud b/docs/assets/posts/obs/.mirrorless.png.icloud Binary files differnew file mode 100644 index 0000000..f51618a --- /dev/null +++ b/docs/assets/posts/obs/.mirrorless.png.icloud diff --git a/docs/assets/posts/obs/.normal.png.icloud b/docs/assets/posts/obs/.normal.png.icloud Binary files differnew file mode 100644 index 0000000..807add7 --- /dev/null +++ b/docs/assets/posts/obs/.normal.png.icloud diff --git a/docs/assets/posts/obs/.usb.png.icloud b/docs/assets/posts/obs/.usb.png.icloud Binary files differnew file mode 100644 index 0000000..e473c13 --- /dev/null +++ b/docs/assets/posts/obs/.usb.png.icloud diff --git a/docs/assets/posts/obs/01-media-source.png b/docs/assets/posts/obs/01-media-source.png Binary files differnew file mode 100644 index 0000000..cb9c90b --- /dev/null +++ b/docs/assets/posts/obs/01-media-source.png diff --git a/docs/assets/posts/obs/01-panel.png b/docs/assets/posts/obs/01-panel.png Binary files differnew file mode 100644 index 0000000..ab5e9f3 --- /dev/null +++ b/docs/assets/posts/obs/01-panel.png diff --git a/docs/assets/posts/obs/02-remote.png b/docs/assets/posts/obs/02-remote.png Binary files differnew file mode 100644 index 0000000..0ccf7c7 --- /dev/null +++ b/docs/assets/posts/obs/02-remote.png diff --git a/docs/assets/posts/obs/021-rotate.png b/docs/assets/posts/obs/021-rotate.png Binary files differnew file mode 100644 index 0000000..2d7366d --- /dev/null +++ b/docs/assets/posts/obs/021-rotate.png diff --git a/docs/assets/posts/obs/021-source.png b/docs/assets/posts/obs/021-source.png Binary files differnew file mode 100644 index 0000000..b848ac0 --- /dev/null +++ b/docs/assets/posts/obs/021-source.png diff --git a/docs/assets/posts/obs/dics.css b/docs/assets/posts/obs/dics.css new file mode 100644 index 0000000..81ab949 --- /dev/null +++ b/docs/assets/posts/obs/dics.css @@ -0,0 +1,229 @@ +.b-dics { + width : 100%; + max-width : 100%; + position : relative; + overflow : hidden; + display : -webkit-box; + display : -ms-flexbox; + display : flex; + opacity : 0; +} + +.b-dics__section { + height : 100%; +} + +.b-dics__slider:hover :before { + color : #FFFFFF; + border-color : #FFFFFF; +} + +.b-dics__text { + position : absolute; + top : 0; + left : 50%; + padding : 5px 25px; + -webkit-transform : translateX(-50%); + -ms-transform : translateX(-50%); + transform : translateX(-50%); + background : #FFFFFF; + z-index : 11; + font-family : Arial, serif; + color : #3d3d3d; + -webkit-user-select : none; + -moz-user-select : none; + -ms-user-select : none; + user-select : none; + font-size : 13px; + text-align : center; + margin : 16px 0; + white-space : nowrap; + opacity : .7; + pointer-events : none; +} + +.b-dics__image-container { + width : 100%; + height : 100%; + display : block; + overflow : hidden; + position : relative; +} + +.b-dics__image { + height : 100%; + position : absolute; + left : 0; + top : 50%; + -webkit-transform : translateY(-50%); + -ms-transform : translateY(-50%); + transform : translateY(-50%); + -webkit-user-select : none; + -moz-user-select : none; + -ms-user-select : none; + user-select : none; + max-width : none; +} + +.b-dics__slider { + color : #FFFFFF; + position : absolute; + left : 100%; + top : 0; + cursor : pointer; + -webkit-transform : translateX(-50%); + -ms-transform : translateX(-50%); + transform : translateX(-50%); + height : 100%; + width : 3px; + padding : 0 30px; + z-index : 1; + -ms-touch-action : none; + touch-action : none; + line-height : normal; + opacity : .7; +} + +.b-dics__slider:before { + content : ''; + -webkit-mask : url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTEyIDUxMjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+LnN0MHtmaWxsOiNGRkZGRkY7ZW5hYmxlLWJhY2tncm91bmQ6bmV3ICAgIDt9PC9zdHlsZT48cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTgwLjIsMTA4LjFsNjEuNy02Mi4yYzMuOC0zLjgsOC44LTUuOSwxNC4xLTUuOWM1LjMsMCwxMC40LDIuMSwxNC4xLDUuOWw2MS43LDYyLjJjMy45LDMuOSw5LjEsNS45LDE0LjIsNS45czEwLjItMS45LDE0LjEtNS44YzcuOC03LjgsNy45LTIwLjQsMC4xLTI4LjNsLTYxLjctNjIuMkMyODcuMiw2LjMsMjcyLjEsMCwyNTYsMHMtMzEuMiw2LjMtNDIuNSwxNy44TDE1MS44LDgwYy03LjgsNy44LTcuNywyMC41LDAuMSwyOC4zQzE1OS44LDExNiwxNzIuNCwxMTUuOSwxODAuMiwxMDguMXoiLz48cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzMxLjgsNDAzLjlsLTYxLjcsNjIuMmMtMy44LDMuOC04LjgsNS45LTE0LjEsNS45Yy01LjMsMC0xMC40LTIuMS0xNC4xLTUuOWwtNjEuNy02Mi4yYy03LjgtNy44LTIwLjQtNy45LTI4LjMtMC4xYy03LjgsNy44LTcuOSwyMC40LTAuMSwyOC4zbDYxLjcsNjIuMmMxMS40LDExLjQsMjYuNSwxNy44LDQyLjUsMTcuOHMzMS4yLTYuMyw0Mi41LTE3LjhsNjEuNy02Mi4yYzcuOC03LjgsNy43LTIwLjUtMC4xLTI4LjNDMzUyLjIsMzk2LDMzOS42LDM5Ni4xLDMzMS44LDQwMy45eiIvPjwvc3ZnPg==) no-repeat 100% 100%; + mask : url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTEyIDUxMjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+LnN0MHtmaWxsOiNGRkZGRkY7ZW5hYmxlLWJhY2tncm91bmQ6bmV3ICAgIDt9PC9zdHlsZT48cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTgwLjIsMTA4LjFsNjEuNy02Mi4yYzMuOC0zLjgsOC44LTUuOSwxNC4xLTUuOWM1LjMsMCwxMC40LDIuMSwxNC4xLDUuOWw2MS43LDYyLjJjMy45LDMuOSw5LjEsNS45LDE0LjIsNS45czEwLjItMS45LDE0LjEtNS44YzcuOC03LjgsNy45LTIwLjQsMC4xLTI4LjNsLTYxLjctNjIuMkMyODcuMiw2LjMsMjcyLjEsMCwyNTYsMHMtMzEuMiw2LjMtNDIuNSwxNy44TDE1MS44LDgwYy03LjgsNy44LTcuNywyMC41LDAuMSwyOC4zQzE1OS44LDExNiwxNzIuNCwxMTUuOSwxODAuMiwxMDguMXoiLz48cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzMxLjgsNDAzLjlsLTYxLjcsNjIuMmMtMy44LDMuOC04LjgsNS45LTE0LjEsNS45Yy01LjMsMC0xMC40LTIuMS0xNC4xLTUuOWwtNjEuNy02Mi4yYy03LjgtNy44LTIwLjQtNy45LTI4LjMtMC4xYy03LjgsNy44LTcuOSwyMC40LTAuMSwyOC4zbDYxLjcsNjIuMmMxMS40LDExLjQsMjYuNSwxNy44LDQyLjUsMTcuOHMzMS4yLTYuMyw0Mi41LTE3LjhsNjEuNy02Mi4yYzcuOC03LjgsNy43LTIwLjUtMC4xLTI4LjNDMzUyLjIsMzk2LDMzOS42LDM5Ni4xLDMzMS44LDQwMy45eiIvPjwvc3ZnPg==) no-repeat 100% 100%; + mask-size : cover; + -webkit-mask-size : cover; + width : 26px; + height : 26px; + padding : 0; + background-color : currentColor; + position : absolute; + top : 50%; + left : 50%; + -webkit-transform : translate(-50%, -50%) rotate(90deg); + -ms-transform : translate(-50%, -50%) rotate(90deg); + transform : translate(-50%, -50%) rotate(90deg); + z-index : 2; + font-size : 0; +} + +.b-dics__slider:after { + content : ''; + position : absolute; + left : 50%; + top : 0; + -webkit-transform : translateX(-50%); + -ms-transform : translateX(-50%); + transform : translateX(-50%); + height : 100%; + width : 3px; + background-color : currentColor; + z-index : 1; +} + +.b-dics__image-container:hover .b-dics__text { + opacity : 1; +} + +.b-dics__slider:hover { + opacity : 1; +} + +/* Text Position + ****************************************************************************/ + +.b-dics--tp-center .b-dics__text { + top : 50%; + -webkit-transform : translate(-50%, -50%); + -ms-transform : translate(-50%, -50%); + transform : translate(-50%, -50%); + margin : 0; +} + +.b-dics--tp-bottom .b-dics__text { + top : initial; + bottom : 0; + -webkit-transform : translate(-50%, -50%); + -ms-transform : translate(-50%, -50%); + transform : translate(-50%, -50%); +} + +.b-dics--tp-left .b-dics__text { + left : 0; + top : 50%; + -webkit-transform : translateY(-50%); + -ms-transform : translateY(-50%); + transform : translateY(-50%); + margin : 0 16px; +} + +.b-dics--tp-right .b-dics__text { + left : initial; + right : 0; + top : 50%; + -webkit-transform : translateY(-50%); + -ms-transform : translateY(-50%); + transform : translateY(-50%); + margin : 0 16px; +} + +/* Hide texts + ****************************************************************************/ + +.b-dics--hide-texts .b-dics__text { + background : #ffffff; + opacity : 0; +} + +.b-dics--hide-texts .b-dics__image-container:hover .b-dics__text { + opacity : 1; +} + +/* Vertical Sliders + ****************************************************************************/ + +.b-dics--vertical { + -webkit-box-orient : vertical; + -webkit-box-direction : normal; + -ms-flex-direction : column; + flex-direction : column; +} + +.b-dics--vertical .b-dics__section { + height : auto; + width : 100%; +} + +.b-dics--vertical .b-dics__image { + left : 50%; + -webkit-transform : translateX(-50%); + -ms-transform : translateX(-50%); + transform : translateX(-50%); + top : 0; + width : 100%; + height : auto; +} + +.b-dics--vertical .b-dics__slider { + top : 100%; + -webkit-transform : translateY(-50%); + -ms-transform : translateY(-50%); + transform : translateY(-50%); + width : 100%; + height : 3px; + padding : 30px 0; + left : 0; +} + +.b-dics--vertical .b-dics__slider:after { + top : 50%; + left : 0; + -webkit-transform : translateY(-50%); + -ms-transform : translateY(-50%); + transform : translateY(-50%); + width : 100%; + height : 3px; +} + +.b-dics--vertical .b-dics__slider:before { + -webkit-transform : translate(-50%, -50%); + -ms-transform : translate(-50%, -50%); + transform : translate(-50%, -50%); +}
\ No newline at end of file diff --git a/docs/assets/posts/obs/dics.js b/docs/assets/posts/obs/dics.js new file mode 100644 index 0000000..b739e36 --- /dev/null +++ b/docs/assets/posts/obs/dics.js @@ -0,0 +1,638 @@ +"use strict"; + +/* + * Dics: Definitive image comparison slider. A multiple image vanilla comparison slider. + * + * By Abel Cabeza Román, a Codictados developer + * Src: https://github.com/abelcabezaroman/definitive-image-comparison-slider + * Example: http://codictados.com/portfolio/definitive-image-comparison-slider-demo/ + */ + +/** + * + */ + +/** + * + * @type {{container: null, filters: null, hideTexts: null, textPosition: string, linesOrientation: string, rotate: number, arrayBackgroundColorText: null, arrayColorText: null, linesColor: null}} + */ +var defaultOptions = { + container: null, + // **REQUIRED**: HTML container | `document.querySelector('.b-dics')` | + filters: null, + // Array of CSS string filters |`['blur(3px)', 'grayscale(1)', 'sepia(1)', 'saturate(3)']` | + hideTexts: null, + // Show text only when you hover the image container |`true`,`false`| + textPosition: 'top', + // Set the prefer text position |`'center'`,`'top'`, `'right'`, `'bottom'`, `'left'` | + linesOrientation: 'horizontal', + // Change the orientation of lines |`'horizontal'`,`'vertical'` | + rotate: 0, + // Rotate the image container (not too useful but it's a beatiful effect. String of rotate CSS rule) |`'45deg'`| + arrayBackgroundColorText: null, + // Change the bacground-color of sections texts with an array |`['#000000', '#FFFFFF']`| + arrayColorText: null, + // Change the color of texts with an array |`['#FFFFFF', '#000000']`| + linesColor: null // Change the lines and arrows color |`'rgb(0,0,0)'`| + +}; +/** + * + * @param options + * @constructor + */ + +var Dics = function Dics(options) { + this.options = utils.extend({}, [defaultOptions, options], { + clearEmpty: true + }); + this.container = this.options.container; + + if (this.container == null) { + console.error('Container element not found!'); + } else { + this._setOrientation(this.options.linesOrientation, this.container); + + this.images = this._getImages(); + this.sliders = []; + this._activeSlider = null; + + this._load(this.images[0]); + } +}; +/** + * + * @private + */ + + +Dics.prototype._load = function (firstImage) { + var _this = this; + + var maxCounter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100000; + + if (firstImage.naturalWidth) { + this._buidAfterFirstImageLoad(firstImage); + } else { + if (maxCounter > 0) { + maxCounter--; + setTimeout(function () { + _this._load(firstImage, maxCounter); + }, 100); + } else { + console.error('error loading images'); + } + } +}; +/** + * + * @private + */ + + +Dics.prototype._buidAfterFirstImageLoad = function (firstImage) { + this._setContainerWidth(firstImage); + + this._build(); + + this._setEvents(); +}; +/** + * + * @private + */ + + +Dics.prototype._setContainerWidth = function (firstImage) { + this.options.container.style.height = "".concat(this._calcContainerHeight(firstImage), "px"); +}; +/** + * + * @private + */ + + +Dics.prototype._setOpacityContainerForLoading = function (opacity) { + this.options.container.style.opacity = opacity; +}; +/** + * Build HTML + * @private + */ + + +Dics.prototype._build = function () { + var dics = this; + + dics._applyGlobalClass(dics.options); + + var imagesLength = dics.images.length; + var initialImagesContainerWidth = dics.container.getBoundingClientRect()[dics.config.sizeField] / imagesLength; + + for (var i = 0; i < imagesLength; i++) { + var image = dics.images[i]; + + var section = dics._createElement('div', 'b-dics__section'); + + var imageContainer = dics._createElement('div', 'b-dics__image-container'); + + var slider = dics._createSlider(i, initialImagesContainerWidth); + + dics._createAltText(image, i, imageContainer); + + dics._applyFilter(image, i, dics.options.filters); + + dics._rotate(image, imageContainer); + + section.setAttribute('data-function', 'b-dics__section'); + section.style.flex = "0 0 ".concat(initialImagesContainerWidth, "px"); + image.classList.add('b-dics__image'); + section.appendChild(imageContainer); + imageContainer.appendChild(image); + + if (i < imagesLength - 1) { + section.appendChild(slider); + } + + dics.container.appendChild(section); + image.style[this.config.positionField] = "".concat(i * -initialImagesContainerWidth, "px"); + } + + this.sections = this._getSections(); + + this._setOpacityContainerForLoading(1); +}; +/** + * + * @returns {NodeListOf<SVGElementTagNameMap[string]> | NodeListOf<HTMLElementTagNameMap[string]> | NodeListOf<Element>} + * @private + */ + + +Dics.prototype._getImages = function () { + return this.container.querySelectorAll('img'); +}; +/** + * + * @returns {NodeListOf<SVGElementTagNameMap[string]> | NodeListOf<HTMLElementTagNameMap[string]> | NodeListOf<Element>} + * @private + */ + + +Dics.prototype._getSections = function () { + return this.container.querySelectorAll('[data-function="b-dics__section"]'); +}; +/** + * + * @param elementClass + * @param className + * @returns {HTMLElement | HTMLSelectElement | HTMLLegendElement | HTMLTableCaptionElement | HTMLTextAreaElement | HTMLModElement | HTMLHRElement | HTMLOutputElement | HTMLPreElement | HTMLEmbedElement | HTMLCanvasElement | HTMLFrameSetElement | HTMLMarqueeElement | HTMLScriptElement | HTMLInputElement | HTMLUnknownElement | HTMLMetaElement | HTMLStyleElement | HTMLObjectElement | HTMLTemplateElement | HTMLBRElement | HTMLAudioElement | HTMLIFrameElement | HTMLMapElement | HTMLTableElement | HTMLAnchorElement | HTMLMenuElement | HTMLPictureElement | HTMLParagraphElement | HTMLTableDataCellElement | HTMLTableSectionElement | HTMLQuoteElement | HTMLTableHeaderCellElement | HTMLProgressElement | HTMLLIElement | HTMLTableRowElement | HTMLFontElement | HTMLSpanElement | HTMLTableColElement | HTMLOptGroupElement | HTMLDataElement | HTMLDListElement | HTMLFieldSetElement | HTMLSourceElement | HTMLBodyElement | HTMLDirectoryElement | HTMLDivElement | HTMLUListElement | HTMLHtmlElement | HTMLAreaElement | HTMLMeterElement | HTMLAppletElement | HTMLFrameElement | HTMLOptionElement | HTMLImageElement | HTMLLinkElement | HTMLHeadingElement | HTMLSlotElement | HTMLVideoElement | HTMLBaseFontElement | HTMLTitleElement | HTMLButtonElement | HTMLHeadElement | HTMLParamElement | HTMLTrackElement | HTMLOListElement | HTMLDataListElement | HTMLLabelElement | HTMLFormElement | HTMLTimeElement | HTMLBaseElement} + * @private + */ + + +Dics.prototype._createElement = function (elementClass, className) { + var newElement = document.createElement(elementClass); + newElement.classList.add(className); + return newElement; +}; +/** + * Set need DOM events + * @private + */ + + +Dics.prototype._setEvents = function () { + var dics = this; + + dics._disableImageDrag(); + + dics._isGoingRight = null; + var oldx = 0; + + var listener = function listener(event) { + var xPageCoord = event.pageX ? event.pageX : event.touches[0].pageX; + + if (xPageCoord < oldx) { + dics._isGoingRight = false; + } else if (xPageCoord > oldx) { + dics._isGoingRight = true; + } + + oldx = xPageCoord; + + var position = dics._calcPosition(event); + + var beforeSectionsWidth = dics._beforeSectionsWidth(dics.sections, dics.images, dics._activeSlider); + + var calcMovePixels = position - beforeSectionsWidth; + dics.sliders[dics._activeSlider].style[dics.config.positionField] = "".concat(position, "px"); + + dics._pushSections(calcMovePixels, position); + }; + + dics.container.addEventListener('click', listener); + + var _loop = function _loop(i) { + var slider = dics.sliders[i]; + utils.setMultiEvents(slider, ['mousedown', 'touchstart'], function (event) { + dics._activeSlider = i; + dics._clickPosition = dics._calcPosition(event); + slider.classList.add('b-dics__slider--active'); + utils.setMultiEvents(dics.container, ['mousemove', 'touchmove'], listener); + }); + }; + + for (var i = 0; i < dics.sliders.length; i++) { + _loop(i); + } + + var listener2 = function listener2() { + var activeElements = dics.container.querySelectorAll('.b-dics__slider--active'); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = activeElements[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var activeElement = _step.value; + activeElement.classList.remove('b-dics__slider--active'); + utils.removeMultiEvents(dics.container, ['mousemove', 'touchmove'], listener); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + }; + + utils.setMultiEvents(document.body, ['mouseup', 'touchend'], listener2); +}; +/** + * + * @param sections + * @param images + * @param activeSlider + * @returns {number} + * @private + */ + + +Dics.prototype._beforeSectionsWidth = function (sections, images, activeSlider) { + var width = 0; + + for (var i = 0; i < sections.length; i++) { + var section = sections[i]; + + if (i !== activeSlider) { + width += section.getBoundingClientRect()[this.config.sizeField]; + } else { + return width; + } + } +}; +/** + * + * @returns {number} + * @private + */ + + +Dics.prototype._calcContainerHeight = function (firstImage) { + var imgHeight = firstImage.naturalHeight; + var imgWidth = firstImage.naturalWidth; + var containerWidth = this.options.container.getBoundingClientRect().width; + return containerWidth / imgWidth * imgHeight; +}; +/** + * + * @param sections + * @param images + * @private + */ + + +Dics.prototype._setLeftToImages = function (sections, images) { + var size = 0; + + for (var i = 0; i < images.length; i++) { + var image = images[i]; + image.style[this.config.positionField] = "-".concat(size, "px"); + size += sections[i].getBoundingClientRect()[this.config.sizeField]; + this.sliders[i].style[this.config.positionField] = "".concat(size, "px"); + } +}; +/** + * + * @private + */ + + +Dics.prototype._disableImageDrag = function () { + for (var i = 0; i < this.images.length; i++) { + this.sliders[i].addEventListener('dragstart', function (e) { + e.preventDefault(); + }); + this.images[i].addEventListener('dragstart', function (e) { + e.preventDefault(); + }); + } +}; +/** + * + * @param image + * @param index + * @param filters + * @private + */ + + +Dics.prototype._applyFilter = function (image, index, filters) { + if (filters) { + image.style.filter = filters[index]; + } +}; +/** + * + * @param options + * @private + */ + + +Dics.prototype._applyGlobalClass = function (options) { + var container = options.container; + + if (options.hideTexts) { + container.classList.add('b-dics--hide-texts'); + } + + if (options.linesOrientation === 'vertical') { + container.classList.add('b-dics--vertical'); + } + + if (options.textPosition === 'center') { + container.classList.add('b-dics--tp-center'); + } else if (options.textPosition === 'bottom') { + container.classList.add('b-dics--tp-bottom'); + } else if (options.textPosition === 'left') { + container.classList.add('b-dics--tp-left'); + } else if (options.textPosition === 'right') { + container.classList.add('b-dics--tp-right'); + } +}; + +Dics.prototype._createSlider = function (i, initialImagesContainerWidth) { + var slider = this._createElement('div', 'b-dics__slider'); + + if (this.options.linesColor) { + slider.style.color = this.options.linesColor; + } + + slider.style[this.config.positionField] = "".concat(initialImagesContainerWidth * (i + 1), "px"); + this.sliders.push(slider); + return slider; +}; +/** + * + * @param image + * @param i + * @param imageContainer + * @private + */ + + +Dics.prototype._createAltText = function (image, i, imageContainer) { + var textContent = image.getAttribute('alt'); + + if (textContent) { + var text = this._createElement('p', 'b-dics__text'); + + if (this.options.arrayBackgroundColorText) { + text.style.backgroundColor = this.options.arrayBackgroundColorText[i]; + } + + if (this.options.arrayColorText) { + text.style.color = this.options.arrayColorText[i]; + } + + text.appendChild(document.createTextNode(textContent)); + imageContainer.appendChild(text); + } +}; +/** + * + * @param image + * @param imageContainer + * @private + */ + + +Dics.prototype._rotate = function (image, imageContainer) { + image.style.rotate = "-".concat(this.options.rotate); + imageContainer.style.rotate = this.options.rotate; +}; +/** + * + * @private + */ + + +Dics.prototype._removeActiveElements = function () { + var activeElements = Dics.container.querySelectorAll('.b-dics__slider--active'); + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = activeElements[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var activeElement = _step2.value; + activeElement.classList.remove('b-dics__slider--active'); + utils.removeMultiEvents(Dics.container, ['mousemove', 'touchmove'], Dics.prototype._removeActiveElements); + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } +}; +/** + * + * @param linesOrientation + * @private + */ + + +Dics.prototype._setOrientation = function (linesOrientation) { + this.config = {}; + + if (linesOrientation === 'vertical') { + this.config.offsetSizeField = 'offsetHeight'; + this.config.offsetPositionField = 'offsetTop'; + this.config.sizeField = 'height'; + this.config.positionField = 'top'; + this.config.clientField = 'clientY'; + this.config.pageField = 'pageY'; + } else { + this.config.offsetSizeField = 'offsetWidth'; + this.config.offsetPositionField = 'offsetLeft'; + this.config.sizeField = 'width'; + this.config.positionField = 'left'; + this.config.clientField = 'clientX'; + this.config.pageField = 'pageX'; + } +}; +/** + * + * @param event + * @returns {number} + * @private + */ + + +Dics.prototype._calcPosition = function (event) { + var containerCoords = this.container.getBoundingClientRect(); + var pixel = !isNaN(event[this.config.clientField]) ? event[this.config.clientField] : event.touches[0][this.config.clientField]; + return containerCoords[this.config.positionField] < pixel ? pixel - containerCoords[this.config.positionField] : 0; +}; +/** + * + * @private + */ + + +Dics.prototype._pushSections = function (calcMovePixels, position) { + // if (this._rePosUnderActualSections(position)) { + this._setFlex(position, this._isGoingRight); + + var section = this.sections[this._activeSlider]; + var postActualSection = this.sections[this._activeSlider + 1]; + + var sectionWidth = postActualSection.getBoundingClientRect()[this.config.sizeField] - (calcMovePixels - this.sections[this._activeSlider].getBoundingClientRect()[this.config.sizeField]); + + section.style.flex = this._isGoingRight === true ? "2 0 ".concat(calcMovePixels, "px") : "1 1 ".concat(calcMovePixels, "px"); + postActualSection.style.flex = this._isGoingRight === true ? " ".concat(sectionWidth, "px") : "2 0 ".concat(sectionWidth, "px"); + + this._setLeftToImages(this.sections, this.images); // } + +}; +/** + * + * @private + */ + + +Dics.prototype._setFlex = function (position, isGoingRight) { + var beforeSumSectionsSize = 0; + + for (var i = 0; i < this.sections.length; i++) { + var section = this.sections[i]; + var sectionSize = section.getBoundingClientRect()[this.config.sizeField]; + beforeSumSectionsSize += sectionSize; + + if (isGoingRight && position > beforeSumSectionsSize - sectionSize && i > this._activeSlider || !isGoingRight && position < beforeSumSectionsSize && i < this._activeSlider) { + section.style.flex = "1 100 ".concat(sectionSize, "px"); + } else { + section.style.flex = "0 0 ".concat(sectionSize, "px"); + } + } +}; +/** + * + * @type {{extend: (function(*=, *, *): *), setMultiEvents: setMultiEvents, removeMultiEvents: removeMultiEvents, getConstructor: (function(*=): string)}} + */ + + +var utils = { + /** + * Native extend object + * @param target + * @param objects + * @param options + * @returns {*} + */ + extend: function extend(target, objects, options) { + for (var object in objects) { + if (objects.hasOwnProperty(object)) { + recursiveMerge(target, objects[object]); + } + } + + function recursiveMerge(target, object) { + for (var property in object) { + if (object.hasOwnProperty(property)) { + var current = object[property]; + + if (utils.getConstructor(current) === 'Object') { + if (!target[property]) { + target[property] = {}; + } + + recursiveMerge(target[property], current); + } else { + // clearEmpty + if (options.clearEmpty) { + if (current == null) { + continue; + } + } + + target[property] = current; + } + } + } + } + + return target; + }, + + /** + * Set Multi addEventListener + * @param element + * @param events + * @param func + */ + setMultiEvents: function setMultiEvents(element, events, func) { + for (var i = 0; i < events.length; i++) { + element.addEventListener(events[i], func); + } + }, + + /** + * + * @param element + * @param events + * @param func + */ + removeMultiEvents: function removeMultiEvents(element, events, func) { + for (var i = 0; i < events.length; i++) { + element.removeEventListener(events[i], func, false); + } + }, + + /** + * Get object constructor + * @param object + * @returns {string} + */ + getConstructor: function getConstructor(object) { + return Object.prototype.toString.call(object).slice(8, -1); + } +};
\ No newline at end of file diff --git a/docs/assets/posts/open-babel/s1.png b/docs/assets/posts/open-babel/s1.png Binary files differnew file mode 100644 index 0000000..ec988a4 --- /dev/null +++ b/docs/assets/posts/open-babel/s1.png diff --git a/docs/assets/posts/open-babel/s2.jpg b/docs/assets/posts/open-babel/s2.jpg Binary files differnew file mode 100644 index 0000000..7ece652 --- /dev/null +++ b/docs/assets/posts/open-babel/s2.jpg diff --git a/docs/assets/posts/open-babel/s3.jpg b/docs/assets/posts/open-babel/s3.jpg Binary files differnew file mode 100644 index 0000000..5803e97 --- /dev/null +++ b/docs/assets/posts/open-babel/s3.jpg diff --git a/docs/assets/posts/open-peeps/ex-1.svg b/docs/assets/posts/open-peeps/ex-1.svg new file mode 100644 index 0000000..7831d9b --- /dev/null +++ b/docs/assets/posts/open-peeps/ex-1.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 299.18 804.02"><defs><style>.cls-1{fill:#fff;}.cls-1,.cls-2{fill-rule:evenodd;}</style></defs><title>Asset 1</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path class="cls-1" d="M295.4,792.78c.65-2.62-.41-6-1-9.43-.94-5.3-3.18-13-7.44-15.38-.76-2-21.71-18-32.64-26C248.68,737.8,244.08,730,243,730.09c-2.17-5.32-2.45-10.58-3.78-16.74,4.94-.65,13.38.52,17.27-2.29.7,0,.69-7.58.79-8.65-2.93-7.95-10.14-202.32-2.93-294.9.76-10.31,2.75-21.84.78-32.47,3.22-.71,5.15-4,5.16-4.17,7.69-15.1-4.11-66.45-11.5-80.67,5.87-.15,13.6-.95,17.24-5.85a6,6,0,0,0,3.64-3.14,50.63,50.63,0,0,0,2.66-4.72c3.91-8.13,6.33-17.16,5-26.11.25-.08,1.53-.09,1.6-.45a16.86,16.86,0,0,0-.94-6.22c-6.72-23.42-14.81-46.48-25.5-68.54-5.36-11.8-16.45-16.11-27.93-20.54-5.53-2.17-11.05-4.67-16.82-6.09-.07-.41.27-1.64-.48-1.54-.94.2-.75,1.7-1.1,2.54C192.8,138.63,201.25,133,193.21,127c-8.32-4.32-13.25-4.49-22.42-3.56-3.38.1-6.09,1.63-6.89,5-2.91,7-9.73,12.24-17.16,13.83-.62-1.09-2.3-4.23-3.25-3.24-10.74.37-31.49,8.85-41.54,11.8-10.09,2.58-10,5.32-12.61,16.29-4.79,19.54-3.89,92.92,8.61,108.38q6.8,4.54,10.21,5.66c-.07,7.23,1.14,18,0,25.07-2.55,12.82-5.66,25.7-8.51,38.59,0,1.43-11.39,22.72-6.05,18.78,1.1.54,3,2.82,4.22,3.32-5.67,12.92-4.63,28.77-4.22,44.73.1,9.5-2.12,19.92-4.26,29.65C73.57,523.8,62.88,617.42,57,700c-.24,3.39-.39,6-.51,8.37-.11.83,1,.81,1.41.39l.57-.55,2.3.63a50.33,50.33,0,0,1-.52,8c-.3,2.35-4.13,12.65-3.25,14.95-2.92-.16-8.4,4.63-11,9.82-1.34,1.2-5.63,3.17-6.61,5q-2,1.92-15.82,9.94c-5.09,4.07-21.47,20.25-20.14,23.53l-.2,1.37c-2.81,16.36,1.87,15.67,17,18.08,22.12,3.9,43.05-7.94,61.75-18,6.21-4.19,12.26-3.08,11.59-8.14-1.23-6.25-1.45-28.62-8.54-28.11,1.16-1.28.87-13,0-15.22-.56-5.65,4.56-10.92,4.28-16.74,3,.22,9,1.61,10.31-1.7-.05-.33-1.46-.33-1.7-.41l0-.18-.16,0c12.37-43.6,42.5-243.81,75.21-259.18.2,1.64,3.8-.31,6,0,10.12,78.95,21.71,153.37,27.89,237.82.62,2.5,2,20,2.65,22.87a9.54,9.54,0,0,0,3,1.88c.34,8.91-.8,27.5-.84,27.52l-.6,1.44c-3.44,7.78-6,18.18-1.57,25.79-3.29-.24-4.73,2.57-4.88,5.49-1.94,12.79,49.39,24.15,61.31,24.88C269.9,800.21,297.82,795.23,295.4,792.78Z"/><path class="cls-2" d="M290.71,793.83c-6.48,1.49-12.79,3.94-19.18,5.39-20.81-1.53-41.24-8.54-59.49-17.18-5.29-2.31-8.39-6.42-6-11.7,7.74,9.57,36.41,16.23,49.53,20.36,8.16,1.79,17.42,5.83,25.66,2.06,5.23-.9,11.17-3.4,13.18-8.1a38.73,38.73,0,0,1-.24,6c.2,2.45-1,2.79-3.43,3.18Zm-77.28-80.65a.51.51,0,0,0-.92,0c-.4,0-.82-.08-1.24-.09a15.45,15.45,0,0,0,.46-7c-.45-6.49-1-13-1.51-19.46-5.65-62.11-12.16-124.4-23.26-185.83a.44.44,0,0,0,.19-.43c-.55-4.35-1.73-8.59-2.55-12.9s-1.53-8.72-2.29-13.07c-.23-1.3-.46-2.61-.7-3.91.17-3.16-.59-6.48-1-9.54a53.21,53.21,0,0,0-1.26-6.5,2,2,0,0,0-.46-2.12l0,0a3.93,3.93,0,0,1,.14-.41c.4-1,1.27-1.43,1.89-2.13a16.09,16.09,0,0,1,5.45-.13c.27.05.47-.32.19-.47-7.27-4.25-16.33-.15-21.7,5.4-16.49,23.44-22.45,53.2-31.57,80.1C116.78,593.1,105.2,652.94,92,712.17c-10.48-.49-20.94-2-31.45-1.76a4.46,4.46,0,0,0-1.88-2.22A2399.1,2399.1,0,0,1,93.06,439c1.86-23.31-1-47.07,5.87-69.86C148,388.41,202.84,391.29,254.3,380.9c-9.62,109.13-14.71,219.4-1.49,328.51a52.68,52.68,0,0,1-13.25,2.91,169,169,0,0,1-26.13.86ZM82.9,738.9a2.41,2.41,0,0,0,1.68,3.51c-4.87,1.29-5.78,6.47-9.62,8.83-.36-.68-1.37-.79-2-1-2.06-7.63-4.42-16.6-14-19.41a3.76,3.76,0,0,0,.49-2.63c.72-3.63,3.29-11.73,1.7-15.9,8.83,2,17.89,2.84,26.84,4.14-1.82,6.63-3.36,16.63-5,22.45ZM89,771.17l.87-.25c1.4,6.18-8.14,8.2-12.85,10.39q-10.65,4.41-21.26,8.87c-14.32,7.18-27.76,9.2-43.68,4.08-10.13-1.94-8.2-3.87-9.69-11.69,10.16,13.66,31,7.8,43.88,1.89C58.05,780,69.87,775.65,82,771.87c2.43.61,4.74,0,7-.7ZM192.16,271.81c-6.12,1.66-12.32,2.51-18.54,3.74.54-4,1.34-8,1.35-12a102.6,102.6,0,0,0,17.19,8.28Zm-57.71-40.37a66.75,66.75,0,0,1,39.26,3.44c4.24,1.41,10,5.09,14.37,3.39-3.27,10.36.85,21,5.1,30.47-9.76-3.25-18.36-9-27.25-14,3.33-4.38-26.94-9.69-30.23-9.58-.93-4.53-2-9-3-13.55a3.6,3.6,0,0,0,1.77-.17Zm67.54,4.9a.34.34,0,0,1,.14.21c12.79,1.77,25.64,7.59,38.77,5.9,8.88-1.14,4.79,3.93-1.12,3.74-13.33,1.34-25.7-6.55-38.1-9.23Zm7-85.67-.09.42a1.33,1.33,0,0,1-.4-.05l-.25-.25a2.66,2.66,0,0,1,.74-.12Zm90.16,640.55a12.48,12.48,0,0,0-4.13-8.28c1.55-6.35-1.56-14.45-8.19-17.18-1.8-3-5.72-4.26-8.55-6.36,2.38-.15,4.55-1.84,2.73-3.66a107.51,107.51,0,0,0-11.25,4.33c-1,.21-3.35,2.17-3.53.42.69-1.39,6.07-2.8,7.83-3.77l-3.9-2.48c2.3,0,5.26-1.78,3-3.74-6.08,1.35-12.4,2.54-17.76,5.62-4.42-1.1,8.45-5,9.64-5.22a70.4,70.4,0,0,1-5.81-4.36c2,0,6.21-2.06,3.52-3.87-3.38-.87-8.07,1.92-11.42,2.81h0c-2.53.93-5,1.95-7.52,3-1,.42-1.42-1-.43-1.38,3.85-1.62,7.75-3.16,11.74-4.48C254,741.43,253,740.19,252,739c.27-1.94-1.73-3.65-2.47-5.4.16-.9-.29-2.31-1.36-2.49a3.75,3.75,0,0,0-3.3-.69,46.33,46.33,0,0,1-4.09-13.67c5-.66,10.72-.69,15-3.42a2.66,2.66,0,0,0,2.58-2.55,147.12,147.12,0,0,0-.91-16.52q-.75-8.28-1.39-16.55c-7.32-88.5-6-177.46,1-265.94.74-10.37,1.11-21-.61-31.28,2.14-.66,10.13-2,9.52-4.93,6.93-17.67-3.33-62.91-10.87-80.69,5.61-.32,12.35-1.53,16-6.16,3.55-1.25,4.79-5.41,6.56-8.41,3.81-8,6.28-17,5.31-25.89,3.93-1-.94-11.84-1.37-14.74-6.52-21.51-14-42.89-23.77-63.14A33.83,33.83,0,0,0,240.69,160c-9-3.93-18.06-8-27.48-10.87a1.85,1.85,0,0,0-2.76-1.65l-.23-.07a4.51,4.51,0,0,0-3.84,1.14c-3-4.47-3.84-10.13-5-15.39-4.54,4.76-.35,20.66,6.73,22-4.61,33.23-43.24,25.35-55,1.13-2.55-4.68-4.27-9.28-6.81-14a15.47,15.47,0,0,0,17.51-9.59,5.51,5.51,0,0,1,2-2.49c1.24-.88.92-3.11-.82-3.06-6.9,1.55-2.37,12.53-19.14,14.45a7.25,7.25,0,0,0-2.08-2.28,1.68,1.68,0,0,0-1.87,0c-12.61.76-24.92,3.95-37,7.38-10.4,2.56-21.3,8.11-23.87,19.42C76.14,184,84,273.41,97.57,284.47a21.64,21.64,0,0,0,7.82,4.7c-2.78,19.87-7.12,39.63-10.81,59.38-.27,3.41-6.19,22.31,1.32,19.2l.62.29c-.45.9-.87,1.82-1.27,2.74a35.73,35.73,0,0,0-2.8,9.2,100.45,100.45,0,0,0-.74,10.1c0,1.26-.1,2.49-.11,3.72-1.45,11.84-1.42,23.94-1.54,35.84-6.56,45-16,89.65-21.33,134.88C62.22,612.84,57.06,661.36,54.06,710c-.1,2.23,2.48,2.68,3.74,1.44l.54.15a47.76,47.76,0,0,1-.39,5.85c-.43,2.82-3.66,9.93-2.85,12.5-2.94-.41-7.69.19-8.54,2.6-3.38,4.3-3.16,10.15-7.16,14,3.85.85,7.68,2,11.42,3.16.77.42.3,1.55-.68,1.26-2.07-.62-4.15-1.26-6.24-1.84h0c-2-.57-4.06-1.07-6.12-1.45-.07,0,0,.18,0,.23A42.29,42.29,0,0,1,33,751.06c1.08.23,15.45,4.08,11.15,5.28a67.3,67.3,0,0,0-13-4.23c-1.95,1.1-3.86,2.25-5.79,3.39.93.19,16.42,3.55,11,4.53a98.17,98.17,0,0,0-12.82-3.48c-5.33,3.17-10.67,6.32-15.93,9.58-2.2,1.36-4.6,2.66-6,4.7A9.46,9.46,0,0,0,1,780c-3.76,16.21,2.88,16.83,18.37,20.24,22,5.62,41-7.86,60.08-15.18,4-1.87,8.39-3.27,12-5.73C94.82,777,97,771.9,94,768.44c2.14-4-.71-13.77-1.39-18.45-.57-3-1-7.71-5.33-7.86,1.17-.76,1.14-2.19.75-3.34-.52-5.66,1.24-15.72,1.67-22.12,3.35.24,8.32,1.22,10.06-2.49a1.6,1.6,0,0,0-1.3-2.37h0c.24,0,.17,0,0,0,17.76-73.31,29.21-148.42,54.85-219.6,5.86-13.75,8.48-31.49,21.59-40.36a6.54,6.54,0,0,0,1.06,3.18l.12.43c.46,1.79,1,3.56,1.43,5.35,10.25,78.93,22.1,157.7,27.79,237.16.86,3.68-.54,16.78,4.61,16.19a8.8,8.8,0,0,0,2.16.7c-1.06,4.73-.76,11.86-.73,16.16s-.79,8.76-.31,13c.55,2.8,5.79,1.12,4.94-1.7a203.41,203.41,0,0,0-2-27,103.6,103.6,0,0,0,24.43,1.57c-.43,4.73,1,10.65,2.6,14.53a38.65,38.65,0,0,0-13.42,7.19c-3.58,3.26-6.87,10.72-13.19,8.25-1.75-.78-3.67-2.13-4.27-3.87-.59-.43-.28.62-.17.87l-.24.08c-1.45-.93-4.12,8.68-4.34,9.88-1.12,5.15-2.41,11,.23,15.82-5.67,2.35-5.06,10-.85,13.23,16.7,10.82,44.56,19.65,65.3,21.13,3.67.25,7.53-.82,11-2,4.1-1.09,8.22-2.27,12.27-3.55,3.58-.82,6.26-3.89,5.82-7.23Z"/><path class="cls-1" d="M189.54,6.08c17,0,34.67,13.21,40.92,21.64,5.25,7.09,8.08,39.14,8.08,60.8,0,4.53,2.5,13.07,1.77,17.4-2.67,15.88-14.32,29.2-37.37,29.2s-39.58-9.14-56.72-33.67c-8.31,0-12.34-6.38-12.4-16.44q-.06-10.07,8-13.72-2.88-39.71,4.37-50C153.48,10.91,172.5,6.08,189.54,6.08Z"/><path class="cls-2" d="M182.37.47c10.76-1.09,21.3-.18,31.91,1.72a1.74,1.74,0,0,1,1.44,1.31c5,.23,10,.6,15,.87a2.36,2.36,0,0,1,2,3.51c-.16.32-.33.63-.51.94l.22-.07a5.89,5.89,0,0,1,4.59,0,4.6,4.6,0,0,1,2.18,5.1,8.35,8.35,0,0,1-.49,1.46,6.32,6.32,0,0,1,1.23,0,4.39,4.39,0,0,1,3.9,4.18c.17,3.34-2,6.74-4.53,9.14a4.27,4.27,0,0,1,.36,2.56,4.94,4.94,0,0,1-3.16,3.57,16.34,16.34,0,0,1,.76,6.31,1.73,1.73,0,0,1-1.36,1.46A99.23,99.23,0,0,1,240.56,64a131.45,131.45,0,0,1,1,15.36q0,3.48-.12,7l0,.87a58.79,58.79,0,0,1-.57,7.61,21.44,21.44,0,0,1,2.41,8.79,27,27,0,0,1-1.33,10.82c-4.32,13-17.34,21.26-30.43,23.39-12.11,2-26.13-.68-33.2-11.68-.11-.18.12-.32.26-.21,5.06,4.12,10.94,6,17.32,6.85,11,1.55,23.44-1.07,32.29-8a25.18,25.18,0,0,0,8.67-13.4,23.84,23.84,0,0,0,.65-8.2c-.28-2.79-1.51-5.16-2.29-7.8a2.37,2.37,0,0,1,.56-2.3c.15-2.14.51-4.29.65-6.42.16-2.42.25-4.85.28-7.27.06-5-.15-10.07-.57-15.08-.77-9.18-2.83-18.13-4-27.22a1.48,1.48,0,0,1-1.75.21l-.07,0-.37-.2h-.07a19.27,19.27,0,0,1-7.5-.85,22,22,0,0,1-6.93-3.58,31.78,31.78,0,0,0-.57,6.08,1.64,1.64,0,0,1-2.43,1.4,102.05,102.05,0,0,1-13.63-8.34c-.51,2.58-1,5.16-1.52,7.75a1.56,1.56,0,0,1-2.28.93,29,29,0,0,1-8.3-7.28c-.46.87-.91,1.74-1.37,2.6l-.69,1.3c-.68,1.28-1.59,2.69-3.09,3.1a2.87,2.87,0,0,1-3.42-2c-.17-.45-.32-.9-.45-1.36A80.75,80.75,0,0,1,173,45.66a117.85,117.85,0,0,1-8.75,12.05c-.94,1.19-2.54.06-2.67-1.1-.08-.68-.14-1.37-.2-2-1.79,3.63-3.67,7.22-5.71,10.7l.29,1.15h0c.85,3.38,1.55,6.79,2.31,10.2.24,1.09-.34,2.66-1.62,2.85-1.54.23-3,1-4.56.47s-2-2.07-2.85-3.47a6.39,6.39,0,0,0-.55-.78l-.06.07h0c-.12.16-.42,0-.35-.21l.09-.22h0a29.39,29.39,0,0,0-2.29-2,8.19,8.19,0,0,0-5.11.77c-2.85,1.68-4.15,5.14-4.18,8.33a21.9,21.9,0,0,0,3.07,11.1,7.73,7.73,0,0,0,3.59,3.29c1.55.62,3.22.43,4.79,1a1.79,1.79,0,0,1,1.05,2.59,2.43,2.43,0,0,1-.14.2l.47.62c.32.43.66.89,1,1.37.8.92,1.64,1.81,2.45,2.71,1.5,1.66,3,3.38,4.44,5.07s2.88,3.09,4.4,4.56,3.23,2.57,4.55,4.06,1.63,4-.48,4.83c-2.34.93-4.41-1.25-6-2.71l-.07-.06a43.91,43.91,0,0,1-7.56-9,6.46,6.46,0,0,1-7,.13,6.14,6.14,0,0,1-2.3-3.31,4.38,4.38,0,0,1-1.12.13c-.19.11-.38.22-.58.32a2.81,2.81,0,0,1-4.08-1.25c-.64-1.53,0-3.26.59-4.74l.11-.3c.33-.84.69-1.76,1.13-2.62a14.17,14.17,0,0,1-3.19-3.4,25.24,25.24,0,0,1-3.84-16.18,14,14,0,0,1,4.35-8.64l-.09-.24h0a35.24,35.24,0,0,1-1.72-5.33,56.13,56.13,0,0,1-.91-6.59,63,63,0,0,1,.26-14,55.26,55.26,0,0,1,8.93-24.45c-1.42-1.7-2.54-3.69-2-6a4.48,4.48,0,0,1,1.8-2.65,15.74,15.74,0,0,1,1.62-.66l.15-.09c.22-.13.05-.12-.08-.72C143.87,9,144.31,6.7,147,5.9c2.5-.75,4.86.85,6.34,2.76,3.87-2.75,9-4.19,13.46-5.41A97.13,97.13,0,0,1,182.37.47Zm-41.83,81a3,3,0,0,1,3.68-2.85,7.53,7.53,0,0,1,3.23,1.7l.47.38a11.48,11.48,0,0,1,3.22,3.22c1,1.93-1.14,4.52-3.17,3.17a12.53,12.53,0,0,1-3.19-3.81l-.1-.14a7.84,7.84,0,0,0-1.34-1.78l-.12-.11a1.62,1.62,0,0,0-.63-.37,1.35,1.35,0,0,0-1.53.6l0,.06A.26.26,0,0,1,140.54,81.42Z"/><path class="cls-2" d="M192,87.77c5-.61,9.84.92,14.72,1.69a67.61,67.61,0,0,0,7.76.82c.53,0,1.05,0,1.58,0a1.39,1.39,0,0,1,.87-1.14,6.7,6.7,0,0,1,3.32-.7,23.33,23.33,0,0,1,3.45.37,10.79,10.79,0,0,1,5.65,2.73c3.5,3.45,3,9,.26,12.76-5.57,7.77-15.76,8.13-24.48,8h-.8c-7.94-.11-19.3,1.07-22.91-8A12.7,12.7,0,0,1,181.88,94C183.81,90.24,187.89,88.26,192,87.77Zm24.81,12.94h-.08q-5.49.21-11,.3c.11.94.22,1.89.35,2.82.1.74.21,1.48.32,2.22a4.2,4.2,0,0,1,.17,1.1l0,.12h0a1.18,1.18,0,0,1,.49.43,1.28,1.28,0,0,1,.11.2,48.52,48.52,0,0,0,8.8-.55v-.06h0a1.16,1.16,0,0,1,.41-.79c.2-1.18.18-2.44.26-3.61C216.67,102.16,216.72,101.43,216.78,100.71Zm-13.86.35c-2.64,0-5.27.08-7.91,0l-1.2,0h0c.25,1.36.53,2.71.76,4.08a2,2,0,0,1-2.1,2.29l.36.06a72.84,72.84,0,0,0,10.35.34,22.29,22.29,0,0,1-.14-3.19v-.14C203,103.37,202.94,102.22,202.92,101.06ZM185,100.81a7.77,7.77,0,0,0,.54,2c1.12,2.72,3.71,4,6.44,4.52a1.42,1.42,0,0,1-.95-1.23,39.16,39.16,0,0,1-.33-5.08C188.8,101,186.88,101,185,100.81Zm41.7-.58a23.53,23.53,0,0,1-4.26.24c-1.24.06-2.49.1-3.74.15l.18,2.56a29.15,29.15,0,0,0,.3,3.35,13.28,13.28,0,0,0,6.44-4.42A8.23,8.23,0,0,0,226.7,100.23Zm-35.3-8A8.28,8.28,0,0,0,185.86,96a7.86,7.86,0,0,0-.92,4.11c1.91-.22,3.85-.31,5.78-.38,0-.34,0-.69,0-1l0-.88A21,21,0,0,1,191.4,92.22Zm11.68.21-1-.11a47,47,0,0,0-8.28-.46c-.4,0-.8.08-1.21.13a36.74,36.74,0,0,1,.65,5.57c.08.68.18,1.35.29,2l.48,0h0c3-.16,5.92-.26,8.89-.38,0-.55,0-1.11,0-1.67v-.56A38.25,38.25,0,0,1,203.08,92.43Zm13.86-.22a55.91,55.91,0,0,1-8.72.56c-1.13,0-2.27-.06-3.4-.16.08.6.11,1.21.17,1.8.11,1.21.24,2.41.38,3.6l.12,1h0c3.64-.16,7.29-.34,10.93-.53l.51,0h0l.14-2c.1-1.34.21-2.69.36-4l-.11,0h0A1.76,1.76,0,0,1,216.94,92.21Zm1.25.5c.16,1.9.25,3.8.37,5.71l2.4-.13,1.2-.07c1.55-.09,3.55-.56,5.09-.12a4,4,0,0,0-1.55-3.7C223.49,92.75,220.67,93.34,218.19,92.71Zm-8.2-17c3.57-2,12.54-4.14,13.11,2.29.26,3-1.94,5.41-4.51,6.51l-.09,0c-2.42,1-6.69,2.11-8.77,0-1.74-1.79.56-5,2.72-3.53,1.11.75,3.44.2,4.68-.16l.08,0c1.33-.4,3.11-1.65,2.56-3.3-.49-1.45-2.57-1.72-3.87-1.76a50.74,50.74,0,0,0-5.76.53A.3.3,0,0,1,210,75.72ZM224.8,65.37c4.85-.23,7.87,5.07,6.75,9.41a1.9,1.9,0,0,1-1.84,1.4l-.2,0a1.54,1.54,0,0,1-.31,0,1.94,1.94,0,0,1-1.4-1.84l0-.24c.11-2-.11-4.41-2.55-4.91-2.06-.42-3.22,1.57-3.24,3.4a.44.44,0,0,1-.66.38,3.44,3.44,0,0,1-1.18-4.27A5,5,0,0,1,224.8,65.37Zm-36,1.14a7.75,7.75,0,0,1,9,3.82A1.35,1.35,0,0,1,199,71.68a3.74,3.74,0,0,1-1,2.43,2.2,2.2,0,0,1-3.63-.9l0-.06a3.61,3.61,0,0,0-4.56-2.52c-2.25.78-2.19,3.16-3.77,4.55a.54.54,0,0,1-.63.08c-1.68-.81-1.38-3.25-.78-4.65A7.35,7.35,0,0,1,188.8,66.51ZM184,55.79c2.86-2.92,10.32-5.75,12.28-.36a2.16,2.16,0,0,1-1.49,2.63c-1.75.35-3.31-.41-5.05-.28a7.56,7.56,0,0,0-4,1.46c-3.12,2.41-3.8,6.5-6,9.57a.18.18,0,0,1-.33-.09A17,17,0,0,1,184,55.79Zm37.31-2.88a9.53,9.53,0,0,1,5.95,0,11.42,11.42,0,0,1,5.05,3.22A13.1,13.1,0,0,1,234,58.33c.24.42.49,1.29.77,1.81a2.68,2.68,0,0,1,.8,4.23l-.06.06-.18.18a2.91,2.91,0,0,1-2.79.74c-2.2-.64-2.47-2.37-3.23-4.21a7.56,7.56,0,0,0-2.4-3.08,11.6,11.6,0,0,0-9.49-1.58c-.16.05-.34-.15-.23-.3a8.78,8.78,0,0,1,1.64-1.91A8.91,8.91,0,0,1,221.3,52.91Z"/></g></g></svg>
\ No newline at end of file diff --git a/docs/assets/résumé.pdf b/docs/assets/résumé.pdf Binary files differnew file mode 100644 index 0000000..8931b18 --- /dev/null +++ b/docs/assets/résumé.pdf diff --git a/docs/assets/sakura.css b/docs/assets/sakura.css new file mode 100644 index 0000000..61c929e --- /dev/null +++ b/docs/assets/sakura.css @@ -0,0 +1,186 @@ +/* Sakura.css v1.3.0 + * ================ + * Minimal css theme. + * Project: https://github.com/oxalorg/sakura/ + */ +/* Body */ +html { + font-size: 62.5%; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif; } + +body { + font-size: 1.8rem; + line-height: 1.618; + max-width: 38em; + margin: auto; + color: #4a4a4a; + background-color: #f9f9f9; + padding: 13px; } + +@media (max-width: 684px) { + body { + font-size: 1.53rem; } } + +@media (max-width: 382px) { + body { + font-size: 1.35rem; } } + +h1, h2, h3, h4, h5, h6 { + line-height: 1.1; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif; + font-weight: 700; + margin-top: 3rem; + margin-bottom: 1.5rem; + overflow-wrap: break-word; + word-wrap: break-word; + -ms-word-break: break-all; + word-break: break-word; + -ms-hyphens: auto; + -moz-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; } + +h1 { + font-size: 2.35em; } + +h2 { + font-size: 2.00em; } + +h3 { + font-size: 1.75em; } + +h4 { + font-size: 1.5em; } + +h5 { + font-size: 1.25em; } + +h6 { + font-size: 1em; } + +p { + margin-top: 0px; + margin-bottom: 2.5rem; } + +small, sub, sup { + font-size: 75%; } + +hr { + border-color: #2c8898; } + +a { + text-decoration: none; + color: #2c8898; } + a:hover { + color: #982c61; + border-bottom: 2px solid #4a4a4a; } + +ul { + padding-left: 1.4em; + margin-top: 0px; + margin-bottom: 2.5rem; } + +li { + margin-bottom: 0.4em; } + +blockquote { + margin-left: 0px; + margin-right: 0px; + padding-left: 1em; + padding-top: 0.8em; + padding-bottom: 0.8em; + padding-right: 0.8em; + border-left: 5px solid #2c8898; + margin-bottom: 2.5rem; + background-color: #f1f1f1; } + +blockquote p { + margin-bottom: 0; } + +img { + height: auto; + max-width: 100%; + margin-top: 0px; + margin-bottom: 2.5rem; } + +/* Pre and Code */ +pre { + background-color: #f1f1f1; + display: block; + padding: 1em; + overflow-x: auto; + margin-top: 0px; + margin-bottom: 2.5rem; } + +code { + font-size: 0.9em; + padding: 0 0.5em; + background-color: #f1f1f1; + white-space: pre-wrap; } + +pre > code { + padding: 0; + background-color: transparent; + white-space: pre; } + +/* Tables */ +table { + text-align: justify; + width: 100%; + border-collapse: collapse; } + +td, th { + padding: 0.5em; + border-bottom: 1px solid #f1f1f1; } + +/* Buttons, forms and input */ +input, textarea { + border: 1px solid #4a4a4a; } + input:focus, textarea:focus { + border: 1px solid #2c8898; } + +textarea { + width: 100%; } + +.button, button, input[type="submit"], input[type="reset"], input[type="button"] { + display: inline-block; + padding: 5px 10px; + text-align: center; + text-decoration: none; + white-space: nowrap; + background-color: #2c8898; + color: #f9f9f9; + border-radius: 1px; + border: 1px solid #2c8898; + cursor: pointer; + box-sizing: border-box; } + .button[disabled], button[disabled], input[type="submit"][disabled], input[type="reset"][disabled], input[type="button"][disabled] { + cursor: default; + opacity: .5; } + .button:focus:enabled, .button:hover:enabled, button:focus:enabled, button:hover:enabled, input[type="submit"]:focus:enabled, input[type="submit"]:hover:enabled, input[type="reset"]:focus:enabled, input[type="reset"]:hover:enabled, input[type="button"]:focus:enabled, input[type="button"]:hover:enabled { + background-color: #982c61; + border-color: #982c61; + color: #f9f9f9; + outline: 0; } + +textarea, select, input[type] { + color: #4a4a4a; + padding: 6px 10px; + /* The 6px vertically centers text on FF, ignored by Webkit */ + margin-bottom: 10px; + background-color: #f1f1f1; + border: 1px solid #f1f1f1; + border-radius: 4px; + box-shadow: none; + box-sizing: border-box; } + textarea:focus, select:focus, input[type]:focus { + border: 1px solid #2c8898; + outline: 0; } + +input[type="checkbox"]:focus { + outline: 1px dotted #2c8898; } + +label, legend, fieldset { + display: block; + margin-bottom: .5rem; + font-weight: 600; } |