- ID de l'analyse :
- b4934aca-c188-4843-82fc-a05e6599fd86Terminée
- URL soumise :
- https://www.mattknight.io/
- Fin du rapport :
Liens : 3 trouvé(s)
Liens sortants identifiés à partir de la page
Lien | texte |
---|---|
https://www.github.com/abstractvector | abstractvector |
https://mastodon.knight.fyi/@matt | @[email protected] |
https://matrix.to/#/@matt:knight.fyi | @matt:knight.fyi |
Variables JavaScript : 4 trouvée(s)
Les variables JavaScript globales chargées dans l'objet fenêtre d'une page sont des variables déclarées en dehors des fonctions et accessibles depuis n'importe quel endroit du code au sein du champ d'application actuel
Nom | Type |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
SITE | object |
Messages de journal de console : 0 trouvé(s)
Messages consignés dans la console web
HTML
Le corps HTML de la page en données brutes
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Matt Knight - open-source, self-hosted and home automation | Matt Knight</title><meta name="description" content="Technology blog by Matt Knight - open-source, self-hosted and home automation"><meta property="og:title" content="Matt Knight - open-source, self-hosted and home automation | Matt Knight"><meta property="og:description" content="Technology blog by Matt Knight - open-source, self-hosted and home automation"><meta property="og:url" content="https://www.mattknight.io/"><meta property="og:site_name" content="Matt Knight"><meta name="generator" content="Eleventy"><style>@charset "UTF-8";code[class*=language-],pre[class*=language-]{color:#f8f8f2;direction:ltr;font-family:Consolas,Monaco,Andale Mono,monospace;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;text-shadow:0 1px rgba(0,0,0,.3);white-space:pre;word-spacing:normal}pre[class*=language-]{margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#272822}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#f8f8f2}.namespace{opacity:.7}.token.property,.token.tag{color:#f92672}.token.boolean,.token.number{color:#ae81ff}.token.attr-name,.token.selector,.token.string{color:#a6e22e}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#f8f8f2}.token.atrule,.token.attr-value{color:#e6db74}.token.keyword{color:#f92672}.token.important,.token.regex{color:#fd971f}.token.important{font-weight:700}.token.entity{cursor:help}:root{--font-body:Seravek,"Gill Sans Nova",Ubuntu,Calibri,"DejaVu Sans",source-sans-pro,sans-serif;--color-black:#1d1d1d;--color-white:#fff;--color-primary-darkest:#012232;--color-primary-dark:#023047;--color-primary-mid:#219ebc;--color-primary-light:#8ecae6;--color-primary-lightest:#eff7fb;--color-secondary-dark:#cc3e00;--color-secondary-mid:#ffb703;--font-size-base:1.8rem}html{font-size:62.5%;height:100%}@media screen and (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion){html *{transition:none!important}}body{background:var(--color-white);color:var(--color-black);display:flex;flex-direction:column;font-family:var(--font-body);font-size:var(--font-size-base);margin:0;min-height:100%;text-underline-offset:.6rem}*,:after,:before,body{box-sizing:border-box}img{display:block;max-width:100%}p{line-height:1.6}li{line-height:2}a{color:var(--color-secondary-dark);text-decoration:underline}a:hover{text-decoration:none}h1,h2,h3,h4,h5,h6{--multiplier:1;font-size:calc(var(--font-size-base)*var(--font-size-multiplier));font-weight:400;margin-bottom:.8em;margin-top:1.2em}h1[id] a,h2[id] a,h3[id] a,h4[id] a,h5[id] a,h6[id] a{color:inherit;display:inline-block;text-decoration:none}h1[id] a:hover,h2[id] a:hover,h3[id] a:hover,h4[id] a:hover,h5[id] a:hover,h6[id] a:hover{text-decoration:underline;text-decoration-color:rgba(0,0,0,.3);text-decoration-style:dotted;text-decoration-thickness:.2rem;text-underline-offset:.6rem}h1[id] a:hover:after,h2[id] a:hover:after,h3[id] a:hover:after,h4[id] a:hover:after,h5[id] a:hover:after,h6[id] a:hover:after{content:"#";display:inline-block;opacity:.3;padding-left:.8rem;text-decoration:none}h1{--font-size-multiplier:2}h2{--font-size-multiplier:1.7}h3{--font-size-multiplier:1.4}@media (prefers-color-scheme:dark){body{background:var(--color-black);color:var(--color-white)}a{color:var(--color-secondary-mid)}}.blog-post header,.page{padding:2.4rem max(2.4rem,50vw - 512px)}.blog-post header{background:var(--color-primary-lightest);border-bottom:1px solid #e7f4fa}.blog-post header .blog-post__description{font-size:2rem}.blog-post main{padding:2.4rem max(2.4rem,50vw - 512px)}.blog-post figure{align-items:center;background:var(--color-primary-lightest);border-radius:.8rem;box-shadow:.4rem .4rem .8rem rgba(0,0,0,.1);box-sizing:border-box;display:flex;flex-direction:column;margin:3.2rem 0;padding:1.2rem;text-align:center;width:100%}.blog-post figure img{height:100%}.blog-post figure figcaption{opacity:.8;padding:1.2rem 1.2rem 0}@media (prefers-color-scheme:dark){.blog-post header{border-bottom:1px solid var(--color-primary-dark)}.blog-post figure,.blog-post header{background:var(--color-primary-darkest)}}.footer{margin-top:auto}.footer__links{background:var(--color-primary-lightest);border-top:1px solid #e7f4fa;display:grid;gap:4.8rem;grid-template-columns:1fr;padding:4.8rem max(2.4rem,50vw - 512px)}.footer__links h3{margin-bottom:1.2rem;margin-top:0}.footer__links section ul{margin:0;padding:0}.footer__links section ul li{display:block;list-style-type:none;padding:0}.footer__copyright{background:var(--color-primary-darkest);color:var(--color-white);-moz-column-gap:2.4rem;column-gap:2.4rem;display:flex;flex-wrap:wrap;justify-content:center;padding:2.4rem max(2.4rem,50vw - 512px)}.footer__copyright p{text-align:center}.footer__copyright a{color:var(--color-secondary-mid)}.footer__top-link{display:inline-block}.footer__top-link:before{content:"↑";display:inline-block;padding-right:.8rem;text-decoration:none}@media (min-width:768px){.footer{margin-top:auto}.footer__links{grid-template-columns:auto auto}}@media (prefers-color-scheme:dark){.footer__links{background:var(--color-primary-darkest);border-bottom:1px solid var(--color-primary-dark);border-top:1px solid var(--color-primary-dark);color:var(--color-white)}}.header__home{display:inline-block;font-size:2.8rem;grid-area:home;padding:.8rem 2.4rem;text-decoration:none}.header__nav{align-items:center;background:var(--color-primary-darkest);border-bottom:2px solid var(--color-primary-dark);display:grid;grid-template-areas:"home button" "nav nav";justify-content:space-between}.header__nav,.header__nav a{color:var(--color-primary-lightest)}.header__nav a:hover{color:var(--color-primary-light)}.header__nav .menuButton{--transition-duration:400ms;background:0 0;border:0;border-left:3px solid var(--color-primary-dark);box-sizing:border-box;cursor:pointer;grid-area:button;height:6.4rem;outline:0;width:-moz-min-content;width:min-content;width:6.4rem}.header__nav .menuButton:hover{background:var(--color-primary-dark)}.header__nav .menuButton svg{color:var(--color-primary-lightest);transition:transform var(--transition-duration)}.header__nav .menuButton__top{stroke-dasharray:40 160;transition:stroke-dashoffset var(--transition-duration)}.header__nav .menuButton__middle{transform-origin:50%;transition:transform var(--transition-duration)}.header__nav .menuButton__bottom{stroke-dasharray:40 85;transition:stroke-dashoffset var(--transition-duration)}body.js .header__nav .menuButton[aria-expanded=true] svg{transform:rotate(45deg)}body.js .header__nav .menuButton[aria-expanded=true] .menuButton__bottom,body.js .header__nav .menuButton[aria-expanded=true] .menuButton__top{stroke-dashoffset:-64px}body.js .header__nav .menuButton[aria-expanded=true] .menuButton__middle{transform:rotate(90deg)}body.js .header__nav .menuButton[aria-expanded=true]+ul{border-top:2px solid var(--color-primary-dark);max-height:100vh;transition:max-height .5s ease-in-out}.header__nav ul{border-top:0 solid var(--color-primary-dark);grid-area:nav;margin:0;max-height:0;overflow:hidden;padding:0}body.js .header__nav ul{transition:max-height .5s cubic-bezier(0,1,.5,1)}.header__nav ul li{list-style-type:none}.header__nav ul li a{display:block;font-size:2rem;padding:1.2rem 4.8rem;text-decoration:none}.header__nav ul li a:hover{background:var(--color-primary-dark)}@media (min-width:576px){.header__nav{grid-template-areas:"home nav";padding:0 max(2.4rem,50vw - 512px)}.header__nav .header__home{padding:0}.header__nav .header__menu{border:none;display:flex;gap:1.6rem;max-height:none}.header__nav .header__menu li a{display:block;font-size:1.8rem;padding:1.6rem}.header__nav button{display:none}}.post-list{list-style-type:none;padding:0}.post-list li{margin:2.4rem 0}.post-list h3{line-height:1;margin:0;padding:0}.post-list h3 a{display:block;padding:.8rem 0;text-decoration:none}.post-list h3 a:hover{text-decoration:underline}.post-list p{margin:0;padding:0}</style><script>var SITE;!function(){"use strict";var e={r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),window.addEventListener("DOMContentLoaded",(function(){document.body.classList.add("js");const e=document.getElementById("nav-button");e?.setAttribute("aria-expanded","false"),e?.addEventListener("click",(()=>{e.setAttribute("aria-expanded","true"===e.getAttribute("aria-expanded")?"false":"true")}))}),!1),SITE=t}();</script><noscript><style>#nav-menu{max-height:100vh;border-top:2px solid var(--color-primary-dark)}</style></noscript><link rel="canonical" href="https://www.mattknight.io/"><link rel="me" href="https://mastodon.knight.fyi/@matt"><link rel="icon" href="/favicon.ico" sizes="any"><link rel="manifest" href="/manifest.webmanifest"><link rel="alternate" type="application/atom+xml" href="/atom" title="Matt Knight - technology blog"><link rel="alternate" type="application/json" href="/json" title="Matt Knight - technology blog"><link rel="alternate" type="application/rss+xml" href="/feed" title="Matt Knight - technology blog"><script type="application/ld+json">{
"@context": "https://schema.org",
"@type": "Person",
"name": "Matt Knight",
"email": "mailto:[email protected]",
"url": "https://www.mattknight.io/"
}</script></head><body class="js"><header class="header" id="top"><nav class="header__nav" role="navigation"><a href="/" title="Home" class="header__home">Matt Knight</a> <button aria-label="Toggle Menu" aria-expanded="false" aria-controls="nav-menu" class="menuButton" id="nav-button"><svg class="menuButton__svg" viewBox="0 0 100 100" fill="none" stroke="currentColor" stroke-width="5"><path class="menuButton__top" d="m 30,33 h 40 c 3.722839,0 7.5,3.126468 7.5,8.578427 0,5.451959 -2.727029,8.421573 -7.5,8.421573 h -20"></path><path class="menuButton__middle" d="m 30,50 h 40"></path><path class="menuButton__bottom" d="m 70,67 h -40 c 0,0 -7.5,-0.802118 -7.5,-8.365747 0,-7.563629 7.5,-8.634253 7.5,-8.634253 h 20"></path></svg></button><ul id="nav-menu" class="header__menu"><li><a href="/about">About</a></li><li><a href="/blog">Blog</a></li><li><a href="/contact">Contact</a></li></ul></nav></header><main class="page"><h1>Hello. I'm Matt.</h1><p>I'm passionate about self-hosted technology, privacy and home automation.</p><p>Professionally, I have a experience in executive leadership, product management, software engineering and marketing technology.</p><p>Now I am largely focused on building our own high efficiency home in Vermont, incorporating the latest in building science and technology.</p><h2>Latest Blog Posts</h2><ol reversed="" class="post-list"><li class="post-list__item"><h3><a href="/blog/migrating-from-nextjs-to-eleventy" class="post-list__link">Why I migrated my website from Next.js to Eleventy</a></h3><p><time class="post-list__date" datetime="2024-03-27">March 27, 2024</time></p><p class="post-list__description">Here's why I switched from Next.js to Eleventy, opting for a lightweight static site approach for my blog site. I describe the benefits, deployment strategies, and the performance results in this blog post.</p></li><li class="post-list__item"><h3><a href="/blog/routing-roku-tailscale-exit-node" class="post-list__link">Routing a Roku Streaming Stick via Tailscale Exit Node</a></h3><p><time class="post-list__date" datetime="2024-01-01">January 1, 2024</time></p><p class="post-list__description">A simple guide on how to route all the traffic from a TV streaming stick or similar device via a Tailscale Exit Node, making it appear as though it's originating from somewhere else.</p></li><li class="post-list__item"><h3><a href="/blog/docker-healthchecks-in-distroless-node-js" class="post-list__link">Docker healthchecks in distroless Node.js</a></h3><p><time class="post-list__date" datetime="2023-02-18">February 18, 2023</time></p><p class="post-list__description">Running healthchecks using curl or wget won't work in distroless Docker images. Here's one way to solve the problem in Node.js.</p></li></ol></main><footer class="footer"><main class="footer__links"><section class="footer__social"><h3>Elsewhere</h3><ul><li><a href="https://www.github.com/abstractvector">abstractvector</a> on GitHub</li><li><a href="https://mastodon.knight.fyi/@matt">@[email protected]</a> on Mastodon</li><li><a href="https://matrix.to/#/@matt:knight.fyi">@matt:knight.fyi</a> on Matrix</li></ul></section><section class="footer__contact"><h3>Contact me</h3><p>I love hearing from people and will do my best to respond to all legitimate communication as promptly as I can. The best way to get in touch with me is via email: <a href="mailto:[email protected]">[email protected]</a></p></section></main><div class="footer__copyright"><p>Copyright © 2024 Matt Knight. All rights reserved.</p><p><a href="#top" class="footer__top-link">Back to top</a></p></div></footer></body></html>