diff options
| author | Navan Chauhan <navanchauhan@gmail.com> | 2021-05-26 23:58:29 +0530 | 
|---|---|---|
| committer | Navan Chauhan <navanchauhan@gmail.com> | 2021-05-26 23:58:29 +0530 | 
| commit | 5b2a67fe247496f3106db956964996f771160fc5 (patch) | |
| tree | 7b2c052bdf539f433ed3ab6bd133b6d46c7ff7e5 /Resources | |
| parent | b23df7d5c27ecd02d5f2fe1fa75b08f718101a2a (diff) | |
added code and content
Diffstat (limited to 'Resources')
75 files changed, 2053 insertions, 0 deletions
| diff --git a/Resources/CNAME b/Resources/CNAME new file mode 100644 index 0000000..ce3a35d --- /dev/null +++ b/Resources/CNAME @@ -0,0 +1 @@ +web.navan.dev diff --git a/Resources/Themes/styles.css b/Resources/Themes/styles.css new file mode 100644 index 0000000..4e658d7 --- /dev/null +++ b/Resources/Themes/styles.css @@ -0,0 +1,401 @@ +* { +    margin: 0; +    padding: 0; +    box-sizing: border-box; +    font-size: 16px; +    -webkit-text-size-adjust: 100%; +} + +body { +    background: #eee; +    color: #000; +    font-family: -apple-system, BlinkMacSystemFont, Helvetica, Arial; +    text-align: center; +} + +.wrapper { +    max-width: 900px; +    margin-left: auto; +    margin-right: auto; +    padding: 40px; +    text-align: left; +} + +header { + +    background: #fff; +    position: relative; +    color: #ededed; +    line-height: 1.5em; +    padding: 0 20px; +} + +/* +  +header { + background: #ededed; + margin-bottom: 0em; + padding-bottom: 2em; + left: 0px; + top: 0px; + height: 8em; + width: 100%; +} +.header-background { +    background-image: url(images/logo.png); +    background-size: 100% 100%; +    background-repeat: no-repeat; +    background-size: cover; +    background-position: center; +    height: 200px; +} +*/ + +header .wrapper { +    padding-top: 20px; +    padding-bottom: 20px; +    text-align: left; +} + +header a { +    text-decoration: none; +} + +header .site-name { +    color: #000; +    margin: 0; +    cursor: pointer; +    font-weight: 50; +    font-size: 3.5em; /*#2.3em;*/ +    line-height: 1em; +    letter-spacing: 1px; +} + +nav { +    /*margin-top: 0.5em;*/ +    text-align: left; /* right */ +} + +nav li { +    margin-top: 0.5em; +    display: inline-block; +    background-color: #000; +    color: #ddd; +    padding: 4px 6px; +    border-radius: 5px; +    margin-right: 5px; +     +} + +nav li:hover { +    color: #000; +    background-color: #ddd; +} +h1 { +    margin-bottom: 20px; +    font-size: 2em; +} + +h2 { +    margin: 20px 0; +    font-size: 1.5em; +} + +p { +    margin-bottom: 10px; +    margin-top: 5px; +} + +a { +    color: inherit; +     +} + +.description { +    margin-bottom: 20px; +} + +.item-list > li { +    display: block; +    padding: 20px; +    border-radius: 20px; +    background-color: #d3d3d3; +    margin-bottom: 20px +} + +.item-list > li:last-child { +    margin-bottom: 0; +} + +.item-list h1 { +    margin-bottom: 0px; /*15px*/ +    font-size: 1.3em; +} +.item-list a { +    text-decoration: none; +} +     +.item-list p { +    margin-bottom: 0; +} + +.reading-time { +    display: inline-block; +    border-radius: 5px; +    background-color: #ddd; +    color: #000; +    padding: 4px 4px; +    margin-bottom: 5px; +    margin-right: 5px; +     +} + +.tag-list { +    margin-bottom: 5px; /* 15px */ +} + +.tag-list li, +.tag { +    display: inline-block; +    background-color: #000; +    color: #ddd; +    padding: 4px 6px; +    border-radius: 5px; +    margin-right: 5px; +    margin-top: 0.5em; +} + +.tag-list a, +.tag a { +    text-decoration: none; +} + +.item-page .tag-list { +    display: inline-block; +} + +.content { +    margin-bottom: 40px; +} + +.browse-all { +    display: block; +    margin-bottom: 30px; +} + +.all-tags li { +    font-size: 1.4em; +    margin-right: 10px; +    padding: 6px 10px; +    margin-top: 1em; +} + +img { +    max-width: 100%; +    margin-bottom: 1em; +    margin-top: 1em; +    width: auto\9; +    height: auto; +    vertical-align: middle; +    border: 0; +    -ms-interpolation-mode: bicubic; +} + +footer { +    color: #000; +} + + + +pre { +    overflow-x: auto; +    font-family: Monaco,Consolas,"Lucida Console",monospace; +    display: block; +    background-color: #fdf6e3; +    color: #586e75; +    margin-bottom: 1em; +    margin-top: 1em; +    border-radius: 4px; +} + +.highlight { background-color: #fdf6e3; color: #586e75; } +.highlight .c { color: #627272; } +.highlight .err { color: #586e75; } +.highlight .g { color: #586e75; } +.highlight .k { color: #677600; } +.highlight .l { color: #586e75; } +.highlight .n { color: #586e75; } +.highlight .o { color: #677600; } +.highlight .x { color: #c14715; } +.highlight .p { color: #586e75; } +.highlight .cm { color: #627272; } +.highlight .cp { color: #677600; } +.highlight .c1 { color: #627272; } +.highlight .cs { color: #677600; } +.highlight .gd { color: #217d74; } +.highlight .ge { color: #586e75; font-style: italic; } +.highlight .gr { color: #d72825; } +.highlight .gh { color: #c14715; } +.highlight .gi { color: #677600; } +.highlight .go { color: #586e75; } +.highlight .gp { color: #586e75; } +.highlight .gs { color: #586e75; font-weight: bold; } +.highlight .gu { color: #c14715; } +.highlight .gt { color: #586e75; } +.highlight .kc { color: #c14715; } +.highlight .kd { color: #1f76b6; } +.highlight .kn { color: #677600; } +.highlight .kp { color: #677600; } +.highlight .kr { color: #1f76b6; } +.highlight .kt { color: #d72825; } +.highlight .ld { color: #586e75; } +.highlight .m { color: #217d74; } +.highlight .s { color: #217d74; } +.highlight .na { color: #586e75; } +.highlight .nb { color: #8d6900; } +.highlight .nc { color: #1f76b6; } +.highlight .no { color: #c14715; } +.highlight .nd { color: #1f76b6; } +.highlight .ni { color: #c14715; } +.highlight .ne { color: #c14715; } +.highlight .nf { color: #1f76b6; } +.highlight .nl { color: #586e75; } +.highlight .nn { color: #586e75; } +.highlight .nx { color: #586e75; } +.highlight .py { color: #586e75; } +.highlight .nt { color: #1f76b6; } +.highlight .nv { color: #1f76b6; } +.highlight .ow { color: #677600; } +.highlight .w { color: #586e75; } +.highlight .mf { color: #217d74; } +.highlight .mh { color: #217d74; } +.highlight .mi { color: #217d74; } +.highlight .mo { color: #217d74; } +.highlight .sb { color: #627272; } +.highlight .sc { color: #217d74; } +.highlight .sd { color: #586e75; } +.highlight .s2 { color: #217d74; } +.highlight .se { color: #c14715; } +.highlight .sh { color: #586e75; } +.highlight .si { color: #217d74; } +.highlight .sx { color: #217d74; } +.highlight .sr { color: #d72825; } +.highlight .s1 { color: #217d74; } +.highlight .ss { color: #217d74; } +.highlight .bp { color: #1f76b6; } +.highlight .vc { color: #1f76b6; } +.highlight .vg { color: #1f76b6; } +.highlight .vi { color: #1f76b6; } +.highlight .il { color: #217d74; } + + +@media (prefers-color-scheme: dark) { +    .reading-time { +        background-color: #000; +        color: #ddd; +    } +    body { +        background-color: #222; +    } + +    body, +    header .site-name { +        color: #ddd; +    } +    nav li { +        background-color: #ddd; +        color: #000; + +    } +    nav li:hover { +        color: #ddd; +        background-color: #000; +    } + +    .item-list > li { +        background-color: #333; +    } + +    header { +        background-color: #000; +    } +    footer { +        color: #ddd; +    } +     +    pre { +        background-color: #002b36; +        color: #93a1a1; +    } +     +    .highlight { background-color: #002b36; color: #93a1a1; } +    .highlight .c { color: #759299; } +    .highlight .err { color: #93a1a1; } +    .highlight .g { color: #93a1a1; } +    .highlight .k { color: #859900; } +    .highlight .l { color: #93a1a1; } +    .highlight .n { color: #93a1a1; } +    .highlight .o { color: #859900; } +    .highlight .x { color: #e9662f; } +    .highlight .p { color: #93a1a1; } +    .highlight .cm { color: #759299; } +    .highlight .cp { color: #859900; } +    .highlight .c1 { color: #759299; } +    .highlight .cs { color: #859900; } +    .highlight .gd { color: #2aa198; } +    .highlight .ge { color: #93a1a1; font-style: italic; } +    .highlight .gr { color: #e8625f; } +    .highlight .gh { color: #e9662f; } +    .highlight .gi { color: #859900; } +    .highlight .go { color: #93a1a1; } +    .highlight .gp { color: #93a1a1; } +    .highlight .gs { color: #93a1a1; font-weight: bold; } +    .highlight .gu { color: #e9662f; } +    .highlight .gt { color: #93a1a1; } +    .highlight .kc { color: #e9662f; } +    .highlight .kd { color: #3294da; } +    .highlight .kn { color: #859900; } +    .highlight .kp { color: #859900; } +    .highlight .kr { color: #3294da; } +    .highlight .kt { color: #e8625f; } +    .highlight .ld { color: #93a1a1; } +    .highlight .m { color: #2aa198; } +    .highlight .s { color: #2aa198; } +    .highlight .na { color: #93a1a1; } +    .highlight .nb { color: #B58900; } +    .highlight .nc { color: #3294da; } +    .highlight .no { color: #e9662f; } +    .highlight .nd { color: #3294da; } +    .highlight .ni { color: #e9662f; } +    .highlight .ne { color: #e9662f; } +    .highlight .nf { color: #3294da; } +    .highlight .nl { color: #93a1a1; } +    .highlight .nn { color: #93a1a1; } +    .highlight .nx { color: #93a1a1; } +    .highlight .py { color: #93a1a1; } +    .highlight .nt { color: #3294da; } +    .highlight .nv { color: #3294da; } +    .highlight .ow { color: #859900; } +    .highlight .w { color: #93a1a1; } +    .highlight .mf { color: #2aa198; } +    .highlight .mh { color: #2aa198; } +    .highlight .mi { color: #2aa198; } +    .highlight .mo { color: #2aa198; } +    .highlight .sb { color: #759299; } +    .highlight .sc { color: #2aa198; } +    .highlight .sd { color: #93a1a1; } +    .highlight .s2 { color: #2aa198; } +    .highlight .se { color: #e9662f; } +    .highlight .sh { color: #93a1a1; } +    .highlight .si { color: #2aa198; } +    .highlight .sx { color: #2aa198; } +    .highlight .sr { color: #e8625f; } +    .highlight .s1 { color: #2aa198; } +    .highlight .ss { color: #2aa198; } +    .highlight .bp { color: #3294da; } +    .highlight .vc { color: #3294da; } +    .highlight .vg { color: #3294da; } +    .highlight .vi { color: #3294da; } +    .highlight .il { color: #2aa198; } +} + diff --git a/Resources/assets/disqus.js b/Resources/assets/disqus.js new file mode 100644 index 0000000..0c52381 --- /dev/null +++ b/Resources/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/Resources/assets/gciTales/01-teachableMachines/.01-collect.png.icloud b/Resources/assets/gciTales/01-teachableMachines/.01-collect.png.icloudBinary files differ new file mode 100644 index 0000000..b291112 --- /dev/null +++ b/Resources/assets/gciTales/01-teachableMachines/.01-collect.png.icloud diff --git a/Resources/assets/gciTales/01-teachableMachines/02-train.png b/Resources/assets/gciTales/01-teachableMachines/02-train.pngBinary files differ new file mode 100644 index 0000000..a69fd63 --- /dev/null +++ b/Resources/assets/gciTales/01-teachableMachines/02-train.png diff --git a/Resources/assets/gciTales/01-teachableMachines/03-label.png b/Resources/assets/gciTales/01-teachableMachines/03-label.pngBinary files differ new file mode 100644 index 0000000..efe450d --- /dev/null +++ b/Resources/assets/gciTales/01-teachableMachines/03-label.png diff --git a/Resources/assets/gciTales/01-teachableMachines/04-alert.png b/Resources/assets/gciTales/01-teachableMachines/04-alert.pngBinary files differ new file mode 100644 index 0000000..f648bad --- /dev/null +++ b/Resources/assets/gciTales/01-teachableMachines/04-alert.png diff --git a/Resources/assets/gciTales/01-teachableMachines/05-html.png b/Resources/assets/gciTales/01-teachableMachines/05-html.pngBinary files differ new file mode 100644 index 0000000..f917c07 --- /dev/null +++ b/Resources/assets/gciTales/01-teachableMachines/05-html.png diff --git a/Resources/assets/gciTales/01-teachableMachines/06-js.png b/Resources/assets/gciTales/01-teachableMachines/06-js.pngBinary files differ new file mode 100644 index 0000000..173a8aa --- /dev/null +++ b/Resources/assets/gciTales/01-teachableMachines/06-js.png diff --git a/Resources/assets/gciTales/01-teachableMachines/07-eg.png b/Resources/assets/gciTales/01-teachableMachines/07-eg.pngBinary files differ new file mode 100644 index 0000000..cc8198e --- /dev/null +++ b/Resources/assets/gciTales/01-teachableMachines/07-eg.png diff --git a/Resources/assets/gciTales/01-teachableMachines/08-eg.png b/Resources/assets/gciTales/01-teachableMachines/08-eg.pngBinary files differ new file mode 100644 index 0000000..b1261fa --- /dev/null +++ b/Resources/assets/gciTales/01-teachableMachines/08-eg.png diff --git a/Resources/assets/gciTales/03-regression/1.png b/Resources/assets/gciTales/03-regression/1.pngBinary files differ new file mode 100644 index 0000000..b07d172 --- /dev/null +++ b/Resources/assets/gciTales/03-regression/1.png diff --git a/Resources/assets/gciTales/03-regression/2.png b/Resources/assets/gciTales/03-regression/2.pngBinary files differ new file mode 100644 index 0000000..53531ad --- /dev/null +++ b/Resources/assets/gciTales/03-regression/2.png diff --git a/Resources/assets/gciTales/03-regression/3.png b/Resources/assets/gciTales/03-regression/3.pngBinary files differ new file mode 100644 index 0000000..542d76e --- /dev/null +++ b/Resources/assets/gciTales/03-regression/3.png diff --git a/Resources/assets/gciTales/03-regression/4.png b/Resources/assets/gciTales/03-regression/4.pngBinary files differ new file mode 100644 index 0000000..16101cd --- /dev/null +++ b/Resources/assets/gciTales/03-regression/4.png diff --git a/Resources/assets/gciTales/03-regression/5.png b/Resources/assets/gciTales/03-regression/5.pngBinary files differ new file mode 100644 index 0000000..36b9c26 --- /dev/null +++ b/Resources/assets/gciTales/03-regression/5.png diff --git a/Resources/assets/gciTales/03-regression/6.png b/Resources/assets/gciTales/03-regression/6.pngBinary files differ new file mode 100644 index 0000000..479d0e5 --- /dev/null +++ b/Resources/assets/gciTales/03-regression/6.png diff --git a/Resources/assets/main.css b/Resources/assets/main.css new file mode 100644 index 0000000..99962e2 --- /dev/null +++ b/Resources/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/Resources/assets/manup.min.js b/Resources/assets/manup.min.js new file mode 100644 index 0000000..20bc3a1 --- /dev/null +++ b/Resources/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/Resources/assets/posts/arjs/.03-knot.png.icloud b/Resources/assets/posts/arjs/.03-knot.png.icloudBinary files differ new file mode 100644 index 0000000..f947318 --- /dev/null +++ b/Resources/assets/posts/arjs/.03-knot.png.icloud diff --git a/Resources/assets/posts/arjs/01-ngrok.png b/Resources/assets/posts/arjs/01-ngrok.pngBinary files differ new file mode 100644 index 0000000..2759c5b --- /dev/null +++ b/Resources/assets/posts/arjs/01-ngrok.png diff --git a/Resources/assets/posts/arjs/02-box-demo.gif b/Resources/assets/posts/arjs/02-box-demo.gifBinary files differ new file mode 100644 index 0000000..b5ab73a --- /dev/null +++ b/Resources/assets/posts/arjs/02-box-demo.gif diff --git a/Resources/assets/posts/arjs/04-nyan.gif b/Resources/assets/posts/arjs/04-nyan.gifBinary files differ new file mode 100644 index 0000000..2fe12ad --- /dev/null +++ b/Resources/assets/posts/arjs/04-nyan.gif diff --git a/Resources/assets/posts/arjs/05-GitHub.jpg b/Resources/assets/posts/arjs/05-GitHub.jpgBinary files differ new file mode 100644 index 0000000..051169e --- /dev/null +++ b/Resources/assets/posts/arjs/05-GitHub.jpg diff --git a/Resources/assets/posts/autodock-vina/s1.png b/Resources/assets/posts/autodock-vina/s1.pngBinary files differ new file mode 100644 index 0000000..332f726 --- /dev/null +++ b/Resources/assets/posts/autodock-vina/s1.png diff --git a/Resources/assets/posts/kaggle-colab/ss1.png b/Resources/assets/posts/kaggle-colab/ss1.pngBinary files differ new file mode 100644 index 0000000..b618236 --- /dev/null +++ b/Resources/assets/posts/kaggle-colab/ss1.png diff --git a/Resources/assets/posts/kaggle-colab/ss2.png b/Resources/assets/posts/kaggle-colab/ss2.pngBinary files differ new file mode 100644 index 0000000..0777cdd --- /dev/null +++ b/Resources/assets/posts/kaggle-colab/ss2.png diff --git a/Resources/assets/posts/kaggle-colab/ss3.png b/Resources/assets/posts/kaggle-colab/ss3.pngBinary files differ new file mode 100644 index 0000000..186db99 --- /dev/null +++ b/Resources/assets/posts/kaggle-colab/ss3.png diff --git a/Resources/assets/posts/kaggle-colab/ss4.png b/Resources/assets/posts/kaggle-colab/ss4.pngBinary files differ new file mode 100644 index 0000000..4d60648 --- /dev/null +++ b/Resources/assets/posts/kaggle-colab/ss4.png diff --git a/Resources/assets/posts/obs/.01-pewdiepie.png.icloud b/Resources/assets/posts/obs/.01-pewdiepie.png.icloudBinary files differ new file mode 100644 index 0000000..29446fa --- /dev/null +++ b/Resources/assets/posts/obs/.01-pewdiepie.png.icloud diff --git a/Resources/assets/posts/obs/.11.png.icloud b/Resources/assets/posts/obs/.11.png.icloudBinary files differ new file mode 100644 index 0000000..f6a4366 --- /dev/null +++ b/Resources/assets/posts/obs/.11.png.icloud diff --git a/Resources/assets/posts/obs/.3-usb.png.icloud b/Resources/assets/posts/obs/.3-usb.png.icloudBinary files differ new file mode 100644 index 0000000..6719b05 --- /dev/null +++ b/Resources/assets/posts/obs/.3-usb.png.icloud diff --git a/Resources/assets/posts/obs/.5S.png.icloud b/Resources/assets/posts/obs/.5S.png.icloudBinary files differ new file mode 100644 index 0000000..e300a38 --- /dev/null +++ b/Resources/assets/posts/obs/.5S.png.icloud diff --git a/Resources/assets/posts/obs/.mirrorless.png.icloud b/Resources/assets/posts/obs/.mirrorless.png.icloudBinary files differ new file mode 100644 index 0000000..f51618a --- /dev/null +++ b/Resources/assets/posts/obs/.mirrorless.png.icloud diff --git a/Resources/assets/posts/obs/.normal.png.icloud b/Resources/assets/posts/obs/.normal.png.icloudBinary files differ new file mode 100644 index 0000000..807add7 --- /dev/null +++ b/Resources/assets/posts/obs/.normal.png.icloud diff --git a/Resources/assets/posts/obs/.usb.png.icloud b/Resources/assets/posts/obs/.usb.png.icloudBinary files differ new file mode 100644 index 0000000..e473c13 --- /dev/null +++ b/Resources/assets/posts/obs/.usb.png.icloud diff --git a/Resources/assets/posts/obs/01-media-source.png b/Resources/assets/posts/obs/01-media-source.pngBinary files differ new file mode 100644 index 0000000..cb9c90b --- /dev/null +++ b/Resources/assets/posts/obs/01-media-source.png diff --git a/Resources/assets/posts/obs/01-panel.png b/Resources/assets/posts/obs/01-panel.pngBinary files differ new file mode 100644 index 0000000..ab5e9f3 --- /dev/null +++ b/Resources/assets/posts/obs/01-panel.png diff --git a/Resources/assets/posts/obs/02-remote.png b/Resources/assets/posts/obs/02-remote.pngBinary files differ new file mode 100644 index 0000000..0ccf7c7 --- /dev/null +++ b/Resources/assets/posts/obs/02-remote.png diff --git a/Resources/assets/posts/obs/021-rotate.png b/Resources/assets/posts/obs/021-rotate.pngBinary files differ new file mode 100644 index 0000000..2d7366d --- /dev/null +++ b/Resources/assets/posts/obs/021-rotate.png diff --git a/Resources/assets/posts/obs/021-source.png b/Resources/assets/posts/obs/021-source.pngBinary files differ new file mode 100644 index 0000000..b848ac0 --- /dev/null +++ b/Resources/assets/posts/obs/021-source.png diff --git a/Resources/assets/posts/obs/dics.css b/Resources/assets/posts/obs/dics.css new file mode 100644 index 0000000..81ab949 --- /dev/null +++ b/Resources/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/Resources/assets/posts/obs/dics.js b/Resources/assets/posts/obs/dics.js new file mode 100644 index 0000000..b739e36 --- /dev/null +++ b/Resources/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/Resources/assets/posts/open-babel/s1.png b/Resources/assets/posts/open-babel/s1.pngBinary files differ new file mode 100644 index 0000000..ec988a4 --- /dev/null +++ b/Resources/assets/posts/open-babel/s1.png diff --git a/Resources/assets/posts/open-babel/s2.jpg b/Resources/assets/posts/open-babel/s2.jpgBinary files differ new file mode 100644 index 0000000..7ece652 --- /dev/null +++ b/Resources/assets/posts/open-babel/s2.jpg diff --git a/Resources/assets/posts/open-babel/s3.jpg b/Resources/assets/posts/open-babel/s3.jpgBinary files differ new file mode 100644 index 0000000..5803e97 --- /dev/null +++ b/Resources/assets/posts/open-babel/s3.jpg diff --git a/Resources/assets/posts/open-peeps/ex-1.svg b/Resources/assets/posts/open-peeps/ex-1.svg new file mode 100644 index 0000000..7831d9b --- /dev/null +++ b/Resources/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/Resources/assets/résumé.pdf b/Resources/assets/résumé.pdfBinary files differ new file mode 100644 index 0000000..8931b18 --- /dev/null +++ b/Resources/assets/résumé.pdf diff --git a/Resources/assets/sakura.css b/Resources/assets/sakura.css new file mode 100644 index 0000000..61c929e --- /dev/null +++ b/Resources/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; } diff --git a/Resources/googlecb0897d479c87d97.html b/Resources/googlecb0897d479c87d97.html new file mode 100644 index 0000000..5907da5 --- /dev/null +++ b/Resources/googlecb0897d479c87d97.html @@ -0,0 +1 @@ +google-site-verification: googlecb0897d479c87d97.html
\ No newline at end of file diff --git a/Resources/images/04d0580b-d347-476a-232d-9568839851cd.webPlatform.png b/Resources/images/04d0580b-d347-476a-232d-9568839851cd.webPlatform.pngBinary files differ new file mode 100644 index 0000000..c277bbc --- /dev/null +++ b/Resources/images/04d0580b-d347-476a-232d-9568839851cd.webPlatform.png diff --git a/Resources/images/14a6e126-4866-93de-8df5-e0e6a3c65da1.webPlatform.png b/Resources/images/14a6e126-4866-93de-8df5-e0e6a3c65da1.webPlatform.pngBinary files differ new file mode 100644 index 0000000..643a2bd --- /dev/null +++ b/Resources/images/14a6e126-4866-93de-8df5-e0e6a3c65da1.webPlatform.png diff --git a/Resources/images/15294abc-6c7c-ffb8-df8d-d2fad23f50b0.webPlatform.png b/Resources/images/15294abc-6c7c-ffb8-df8d-d2fad23f50b0.webPlatform.pngBinary files differ new file mode 100644 index 0000000..1dcb03d --- /dev/null +++ b/Resources/images/15294abc-6c7c-ffb8-df8d-d2fad23f50b0.webPlatform.png diff --git a/Resources/images/6b5f7f70-557f-0e4b-3d76-127534525db9.webPlatform.png b/Resources/images/6b5f7f70-557f-0e4b-3d76-127534525db9.webPlatform.pngBinary files differ new file mode 100644 index 0000000..02e58c4 --- /dev/null +++ b/Resources/images/6b5f7f70-557f-0e4b-3d76-127534525db9.webPlatform.png diff --git a/Resources/images/82e24f17-2e71-90d8-67a7-587163282ebf.webPlatform.png b/Resources/images/82e24f17-2e71-90d8-67a7-587163282ebf.webPlatform.pngBinary files differ new file mode 100644 index 0000000..cc36571 --- /dev/null +++ b/Resources/images/82e24f17-2e71-90d8-67a7-587163282ebf.webPlatform.png diff --git a/Resources/images/8c0ffe9e-b615-96cd-3e18-ab4307c859a0.webPlatform.png b/Resources/images/8c0ffe9e-b615-96cd-3e18-ab4307c859a0.webPlatform.pngBinary files differ new file mode 100644 index 0000000..76e34bc --- /dev/null +++ b/Resources/images/8c0ffe9e-b615-96cd-3e18-ab4307c859a0.webPlatform.png diff --git a/Resources/images/9384518b-2a6c-0abc-136c-8c8faf49c71b.webPlatform.png b/Resources/images/9384518b-2a6c-0abc-136c-8c8faf49c71b.webPlatform.pngBinary files differ new file mode 100644 index 0000000..f659b0b --- /dev/null +++ b/Resources/images/9384518b-2a6c-0abc-136c-8c8faf49c71b.webPlatform.png diff --git a/Resources/images/9bf4aee8-92e3-932f-5388-7731928b5692.webPlatform.png b/Resources/images/9bf4aee8-92e3-932f-5388-7731928b5692.webPlatform.pngBinary files differ new file mode 100644 index 0000000..31c4507 --- /dev/null +++ b/Resources/images/9bf4aee8-92e3-932f-5388-7731928b5692.webPlatform.png diff --git a/Resources/images/9dc22996-fd1b-b2d3-3627-cef4fa224e25.webPlatform.png b/Resources/images/9dc22996-fd1b-b2d3-3627-cef4fa224e25.webPlatform.pngBinary files differ new file mode 100644 index 0000000..baf1814 --- /dev/null +++ b/Resources/images/9dc22996-fd1b-b2d3-3627-cef4fa224e25.webPlatform.png diff --git a/Resources/images/afd91c53-cfd0-b52e-ca49-1db0cc292b7d.webPlatform.png b/Resources/images/afd91c53-cfd0-b52e-ca49-1db0cc292b7d.webPlatform.pngBinary files differ new file mode 100644 index 0000000..adbf1a3 --- /dev/null +++ b/Resources/images/afd91c53-cfd0-b52e-ca49-1db0cc292b7d.webPlatform.png diff --git a/Resources/images/b0cac729-56cb-2a63-7e8b-ac62a038a023.webPlatform.png b/Resources/images/b0cac729-56cb-2a63-7e8b-ac62a038a023.webPlatform.pngBinary files differ new file mode 100644 index 0000000..7cfe2a7 --- /dev/null +++ b/Resources/images/b0cac729-56cb-2a63-7e8b-ac62a038a023.webPlatform.png diff --git a/Resources/images/bb0aca46-4612-c284-055f-58850c0730bd.webPlatform.png b/Resources/images/bb0aca46-4612-c284-055f-58850c0730bd.webPlatform.pngBinary files differ new file mode 100644 index 0000000..a5be51a --- /dev/null +++ b/Resources/images/bb0aca46-4612-c284-055f-58850c0730bd.webPlatform.png diff --git a/Resources/images/c5840a63-85f5-62b0-c68f-2faa4aaea42b.webPlatform.png b/Resources/images/c5840a63-85f5-62b0-c68f-2faa4aaea42b.webPlatform.pngBinary files differ new file mode 100644 index 0000000..bbc54fc --- /dev/null +++ b/Resources/images/c5840a63-85f5-62b0-c68f-2faa4aaea42b.webPlatform.png diff --git a/Resources/images/cbac5b1d-0299-9db6-3747-c7aeaaaa37d0.webPlatform.png b/Resources/images/cbac5b1d-0299-9db6-3747-c7aeaaaa37d0.webPlatform.pngBinary files differ new file mode 100644 index 0000000..80c3c4f --- /dev/null +++ b/Resources/images/cbac5b1d-0299-9db6-3747-c7aeaaaa37d0.webPlatform.png diff --git a/Resources/images/e429a798-7e86-1f02-565e-39dfab41fe36.webPlatform.png b/Resources/images/e429a798-7e86-1f02-565e-39dfab41fe36.webPlatform.pngBinary files differ new file mode 100644 index 0000000..f1bc144 --- /dev/null +++ b/Resources/images/e429a798-7e86-1f02-565e-39dfab41fe36.webPlatform.png diff --git a/Resources/images/f1579c61-f17f-ff49-3f97-e942f202bebf.webPlatform.png b/Resources/images/f1579c61-f17f-ff49-3f97-e942f202bebf.webPlatform.pngBinary files differ new file mode 100644 index 0000000..aad0184 --- /dev/null +++ b/Resources/images/f1579c61-f17f-ff49-3f97-e942f202bebf.webPlatform.png diff --git a/Resources/images/f178697f-630b-bafd-7c7d-e1287b98a969.webPlatform.png b/Resources/images/f178697f-630b-bafd-7c7d-e1287b98a969.webPlatform.pngBinary files differ new file mode 100644 index 0000000..d4c320d --- /dev/null +++ b/Resources/images/f178697f-630b-bafd-7c7d-e1287b98a969.webPlatform.png diff --git a/Resources/images/f400aaaa-861c-78c0-0919-07a886e57304.webPlatform.png b/Resources/images/f400aaaa-861c-78c0-0919-07a886e57304.webPlatform.pngBinary files differ new file mode 100644 index 0000000..bb5762e --- /dev/null +++ b/Resources/images/f400aaaa-861c-78c0-0919-07a886e57304.webPlatform.png diff --git a/Resources/images/f7842765-fff5-aa39-9f7f-fdd3024d4056.webPlatform.png b/Resources/images/f7842765-fff5-aa39-9f7f-fdd3024d4056.webPlatform.pngBinary files differ new file mode 100644 index 0000000..ea79c57 --- /dev/null +++ b/Resources/images/f7842765-fff5-aa39-9f7f-fdd3024d4056.webPlatform.png diff --git a/Resources/images/favicon.png b/Resources/images/favicon.pngBinary files differ new file mode 100644 index 0000000..ce3a263 --- /dev/null +++ b/Resources/images/favicon.png diff --git a/Resources/images/logo.png b/Resources/images/logo.pngBinary files differ new file mode 100644 index 0000000..caaf43c --- /dev/null +++ b/Resources/images/logo.png diff --git a/Resources/images/me.jpeg b/Resources/images/me.jpegBinary files differ new file mode 100644 index 0000000..cf70e23 --- /dev/null +++ b/Resources/images/me.jpeg diff --git a/Resources/manifest.json b/Resources/manifest.json new file mode 100644 index 0000000..bb4ec5d --- /dev/null +++ b/Resources/manifest.json @@ -0,0 +1,119 @@ +{ +    "dir": "ltr", +    "lang": "en", +    "name": "Hi! | Navan Chauhan", +    "scope": "/", +    "display": "fullscreen", +    "start_url": "https://navanchauhan.github.io/", +    "short_name": "Navan Chauhan", +    "theme_color": "black", +    "description": "Welcome to my personal fragment of the internet.", +    "orientation": "any", +    "background_color": "transparent", +    "related_applications": [], +    "prefer_related_applications": false, +    "icons": [ +        { +            "src": "/images/favicon.png", +            "type": "image/png", +            "sizes": "32x32" +        }, +        { +            "src": "/images/14a6e126-4866-93de-8df5-e0e6a3c65da1.webPlatform.png", +            "sizes": "44x44", +            "type": "image/png" +        }, +        { +            "src": "/images/6b5f7f70-557f-0e4b-3d76-127534525db9.webPlatform.png", +            "sizes": "48x48", +            "type": "image/png" +        }, +        { +            "src": "/images/c5840a63-85f5-62b0-c68f-2faa4aaea42b.webPlatform.png", +            "sizes": "1240x600", +            "type": "image/png" +        }, +        { +            "src": "/images/82e24f17-2e71-90d8-67a7-587163282ebf.webPlatform.png", +            "sizes": "300x300", +            "type": "image/png" +        }, +        { +            "src": "/images/f7842765-fff5-aa39-9f7f-fdd3024d4056.webPlatform.png", +            "sizes": "150x150", +            "type": "image/png" +        }, +        { +            "src": "/images/9384518b-2a6c-0abc-136c-8c8faf49c71b.webPlatform.png", +            "sizes": "88x88", +            "type": "image/png" +        }, +        { +            "src": "/images/15294abc-6c7c-ffb8-df8d-d2fad23f50b0.webPlatform.png", +            "sizes": "24x24", +            "type": "image/png" +        }, +        { +            "src": "/images/f178697f-630b-bafd-7c7d-e1287b98a969.webPlatform.png", +            "sizes": "50x50", +            "type": "image/png" +        }, +        { +            "src": "/images/f400aaaa-861c-78c0-0919-07a886e57304.webPlatform.png", +            "sizes": "620x300", +            "type": "image/png" +        }, +        { +            "src": "/images/8c0ffe9e-b615-96cd-3e18-ab4307c859a0.webPlatform.png", +            "sizes": "192x192", +            "type": "image/png" +        }, +        { +            "src": "/images/f1579c61-f17f-ff49-3f97-e942f202bebf.webPlatform.png", +            "sizes": "144x144", +            "type": "image/png" +        }, +        { +            "src": "/images/9bf4aee8-92e3-932f-5388-7731928b5692.webPlatform.png", +            "sizes": "96x96", +            "type": "image/png" +        }, +        { +            "src": "/images/9dc22996-fd1b-b2d3-3627-cef4fa224e25.webPlatform.png", +            "sizes": "72x72", +            "type": "image/png" +        }, +        { +            "src": "/images/afd91c53-cfd0-b52e-ca49-1db0cc292b7d.webPlatform.png", +            "sizes": "36x36", +            "type": "image/png" +        }, +        { +            "src": "/images/e429a798-7e86-1f02-565e-39dfab41fe36.webPlatform.png", +            "sizes": "1024x1024", +            "type": "image/png" +        }, +        { +            "src": "/images/04d0580b-d347-476a-232d-9568839851cd.webPlatform.png", +            "sizes": "180x180", +            "type": "image/png" +        }, +        { +            "src": "/images/cbac5b1d-0299-9db6-3747-c7aeaaaa37d0.webPlatform.png", +            "sizes": "152x152", +            "type": "image/png" +        }, +        { +            "src": "/images/b0cac729-56cb-2a63-7e8b-ac62a038a023.webPlatform.png", +            "sizes": "120x120", +            "type": "image/png" +        }, +        { +            "src": "/images/bb0aca46-4612-c284-055f-58850c0730bd.webPlatform.png", +            "sizes": "76x76", +            "type": "image/png" +        } +    ], +    "url": "https://navanchauhan.github.io", +    "screenshots": [] +} diff --git a/Resources/pwabuilder-sw-register.js b/Resources/pwabuilder-sw-register.js new file mode 100644 index 0000000..8850330 --- /dev/null +++ b/Resources/pwabuilder-sw-register.js @@ -0,0 +1,19 @@ +// This is the service worker with the Cache-first network
 +
 +// Add this below content to your HTML page, or add the js file to your page at the very top to register service worker
 +
 +// Check compatibility for the browser we're running this in
 +if ("serviceWorker" in navigator) {
 +  if (navigator.serviceWorker.controller) {
 +    console.log("[PWA Builder] active service worker found, no need to register");
 +  } else {
 +    // Register the service worker
 +    navigator.serviceWorker
 +      .register("/pwabuilder-sw.js", {
 +        scope: "./"
 +      })
 +      .then(function (reg) {
 +        console.log("[PWA Builder] Service worker has been registered for scope: " + reg.scope);
 +      });
 +  }
 +}
 diff --git a/Resources/pwabuilder-sw.js b/Resources/pwabuilder-sw.js new file mode 100644 index 0000000..0684da5 --- /dev/null +++ b/Resources/pwabuilder-sw.js @@ -0,0 +1,83 @@ +// This is the service worker with the Cache-first network
 +
 +const CACHE = "pwabuilder-precache";
 +const precacheFiles = [
 +  /* Add an array of files to precache for your app */
 +];
 +
 +self.addEventListener("install", function (event) {
 +  console.log("[PWA Builder] Install Event processing");
 +
 +  console.log("[PWA Builder] Skip waiting on install");
 +  self.skipWaiting();
 +
 +  event.waitUntil(
 +    caches.open(CACHE).then(function (cache) {
 +      console.log("[PWA Builder] Caching pages during install");
 +      return cache.addAll(precacheFiles);
 +    })
 +  );
 +});
 +
 +// Allow sw to control of current page
 +self.addEventListener("activate", function (event) {
 +  console.log("[PWA Builder] Claiming clients for current page");
 +  event.waitUntil(self.clients.claim());
 +});
 +
 +// If any fetch fails, it will look for the request in the cache and serve it from there first
 +self.addEventListener("fetch", function (event) { 
 +  if (event.request.method !== "GET") return;
 +
 +  event.respondWith(
 +    fromCache(event.request).then(
 +      function (response) {
 +        // The response was found in the cache so we responde with it and update the entry
 +
 +        // This is where we call the server to get the newest version of the
 +        // file to use the next time we show view
 +        event.waitUntil(
 +          fetch(event.request).then(function (response) {
 +            return updateCache(event.request, response);
 +          })
 +        );
 +
 +        return response;
 +      },
 +      function () {
 +        // The response was not found in the cache so we look for it on the server
 +        return fetch(event.request)
 +          .then(function (response) {
 +            // If request was success, add or update it in the cache
 +            event.waitUntil(updateCache(event.request, response.clone()));
 +
 +            return response;
 +          })
 +          .catch(function (error) {
 +            console.log("[PWA Builder] Network request failed and no cache." + error);
 +          });
 +      }
 +    )
 +  );
 +});
 +
 +function fromCache(request) {
 +  // Check to see if you have it in the cache
 +  // Return response
 +  // If not in the cache, then return
 +  return caches.open(CACHE).then(function (cache) {
 +    return cache.match(request).then(function (matching) {
 +      if (!matching || matching.status === 404) {
 +        return Promise.reject("no-match");
 +      }
 +
 +      return matching;
 +    });
 +  });
 +}
 +
 +function updateCache(request, response) {
 +  return caches.open(CACHE).then(function (cache) {
 +    return cache.put(request, response);
 +  });
 +}
 | 
