2024-02-22 14:01:49 -05:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="en" dir="auto">
|
|
|
|
|
|
|
|
<head>
|
2024-02-22 14:16:00 -05:00
|
|
|
<meta name="generator" content="Hugo 0.123.0"><meta charset="utf-8">
|
2024-02-22 14:01:49 -05:00
|
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
|
|
<meta name="robots" content="index, follow">
|
|
|
|
<title>Mafyuh's Blog</title>
|
|
|
|
<meta name="keywords" content="Blog, Portfolio, PaperMod">
|
|
|
|
<meta name="description" content="A blog by Mafyuh">
|
2024-02-22 17:24:22 -05:00
|
|
|
<meta name="author" content="Matt">
|
2024-02-22 16:21:00 -05:00
|
|
|
<link rel="canonical" href="https://mafyuh.com/">
|
2024-02-22 14:01:49 -05:00
|
|
|
<link crossorigin="anonymous" href="/assets/css/stylesheet.b609c58d5c11bb90b1a54e04005d74ad1ddf22165eb79f5533967e57df9c3b50.css" integrity="sha256-tgnFjVwRu5CxpU4EAF10rR3fIhZet59VM5Z+V9+cO1A=" rel="preload stylesheet" as="style">
|
2024-02-22 16:21:00 -05:00
|
|
|
<link rel="icon" href="https://mafyuh.com/assets/favicon/favicon.ico">
|
|
|
|
<link rel="icon" type="image/png" sizes="16x16" href="https://mafyuh.com/assets/favicon/favicon-16x16.png">
|
|
|
|
<link rel="icon" type="image/png" sizes="32x32" href="https://mafyuh.com/assets/favicon/favicon-32x32.png">
|
|
|
|
<link rel="apple-touch-icon" href="https://mafyuh.com/assets/favicon/apple-touch-icon.png">
|
|
|
|
<link rel="mask-icon" href="https://mafyuh.com/safari-pinned-tab.svg">
|
2024-02-22 14:01:49 -05:00
|
|
|
<meta name="theme-color" content="#2e2e33">
|
|
|
|
<meta name="msapplication-TileColor" content="#2e2e33">
|
2024-02-22 16:21:00 -05:00
|
|
|
<link rel="alternate" type="application/rss+xml" href="https://mafyuh.com/index.xml">
|
|
|
|
<link rel="alternate" type="application/json" href="https://mafyuh.com/index.json">
|
|
|
|
<link rel="alternate" hreflang="en" href="https://mafyuh.com/">
|
2024-02-22 14:01:49 -05:00
|
|
|
<noscript>
|
|
|
|
<style>
|
|
|
|
#theme-toggle,
|
|
|
|
.top-link {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
</style>
|
|
|
|
<style>
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
|
|
:root {
|
|
|
|
--theme: rgb(29, 30, 32);
|
|
|
|
--entry: rgb(46, 46, 51);
|
|
|
|
--primary: rgb(218, 218, 219);
|
|
|
|
--secondary: rgb(155, 156, 157);
|
|
|
|
--tertiary: rgb(65, 66, 68);
|
|
|
|
--content: rgb(196, 196, 197);
|
|
|
|
--code-block-bg: rgb(46, 46, 51);
|
|
|
|
--code-bg: rgb(55, 56, 62);
|
|
|
|
--border: rgb(51, 51, 51);
|
|
|
|
}
|
|
|
|
|
|
|
|
.list {
|
|
|
|
background: var(--theme);
|
|
|
|
}
|
|
|
|
|
|
|
|
.list:not(.dark)::-webkit-scrollbar-track {
|
|
|
|
background: 0 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.list:not(.dark)::-webkit-scrollbar-thumb {
|
|
|
|
border-color: var(--theme);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
</style>
|
2024-02-22 18:52:07 -05:00
|
|
|
</noscript><script defer data-domain="mafyuh.com" src="https://stats.mafyuh.com/js/script.js"></script>
|
|
|
|
|
2024-02-22 17:57:56 -05:00
|
|
|
<meta property="og:title" content="Mafyuh's Blog" />
|
2024-02-22 14:01:49 -05:00
|
|
|
<meta property="og:description" content="A blog by Mafyuh" />
|
|
|
|
<meta property="og:type" content="website" />
|
2024-02-22 16:21:00 -05:00
|
|
|
<meta property="og:url" content="https://mafyuh.com/" /><meta property="og:site_name" content="Mafyuh's Blog" />
|
2024-02-22 14:01:49 -05:00
|
|
|
|
|
|
|
<meta name="twitter:card" content="summary"/>
|
|
|
|
<meta name="twitter:title" content="Mafyuh's Blog"/>
|
|
|
|
<meta name="twitter:description" content="A blog by Mafyuh"/>
|
|
|
|
|
|
|
|
<script type="application/ld+json">
|
|
|
|
{
|
|
|
|
"@context": "https://schema.org",
|
|
|
|
"@type": "Organization",
|
|
|
|
"name": "Mafyuh's Blog",
|
2024-02-22 16:21:00 -05:00
|
|
|
"url": "https://mafyuh.com/",
|
2024-02-22 14:01:49 -05:00
|
|
|
"description": "A blog by Mafyuh",
|
2024-02-22 16:21:00 -05:00
|
|
|
"thumbnailUrl": "https://mafyuh.com/assets/favicon/favicon.ico",
|
2024-02-22 14:01:49 -05:00
|
|
|
"sameAs": [
|
|
|
|
"https://reddit.com/user/Mafyuh", "https://git.mafyuh.dev", "https://github.com/Mafyuh"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
</head>
|
|
|
|
|
|
|
|
<body class="list" id="top">
|
|
|
|
<script>
|
|
|
|
if (localStorage.getItem("pref-theme") === "dark") {
|
|
|
|
document.body.classList.add('dark');
|
|
|
|
} else if (localStorage.getItem("pref-theme") === "light") {
|
|
|
|
document.body.classList.remove('dark')
|
|
|
|
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
|
|
|
document.body.classList.add('dark');
|
|
|
|
}
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<header class="header">
|
|
|
|
<nav class="nav">
|
|
|
|
<div class="logo">
|
2024-02-22 16:21:00 -05:00
|
|
|
<a href="https://mafyuh.com/" accesskey="h" title="Mafyuh's Blog (Alt + H)">
|
|
|
|
<img src="https://mafyuh.com/assets/favicon/favicon.svg" alt="" aria-label="logo"
|
2024-02-22 14:01:49 -05:00
|
|
|
height="35">Mafyuh's Blog</a>
|
|
|
|
<div class="logo-switches">
|
|
|
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
|
|
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
|
|
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
|
|
|
stroke-linejoin="round">
|
|
|
|
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
|
|
|
|
</svg>
|
|
|
|
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
|
|
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
|
|
|
stroke-linejoin="round">
|
|
|
|
<circle cx="12" cy="12" r="5"></circle>
|
|
|
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
|
|
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
|
|
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
|
|
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
|
|
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
|
|
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
|
|
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
|
|
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
|
|
|
</svg>
|
|
|
|
</button>
|
|
|
|
<ul class="lang-switch"><li>|</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<ul id="menu">
|
|
|
|
<li>
|
2024-02-22 16:21:00 -05:00
|
|
|
<a href="https://mafyuh.com/guides/" title="Guides">
|
2024-02-22 14:01:49 -05:00
|
|
|
<span>Guides</span>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li>
|
2024-02-22 16:21:00 -05:00
|
|
|
<a href="https://mafyuh.com/archives/" title="Archives">
|
2024-02-22 14:42:02 -05:00
|
|
|
<span>Archives</span>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li>
|
2024-02-22 16:21:00 -05:00
|
|
|
<a href="https://mafyuh.com/search" title="Search (Alt + /)" accesskey=/>
|
2024-02-22 14:42:02 -05:00
|
|
|
<span>Search</span>
|
2024-02-22 14:01:49 -05:00
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
|
|
</header>
|
|
|
|
<main class="main"><div class="profile">
|
|
|
|
<div class="profile_inner">
|
2024-02-22 17:24:22 -05:00
|
|
|
<img draggable="false" src="https://mafyuh.com/assets/favicon/favicon.svg" alt="Mafyuh Logo" title="Mafyuh Logo"
|
2024-02-22 14:01:49 -05:00
|
|
|
height="120" width="120" />
|
|
|
|
<h1>Mafyuh</h1>
|
2024-02-22 17:24:22 -05:00
|
|
|
<span>Selfhoster - Junior Web Developer</span><div class="social-icons" >
|
2024-02-22 14:01:49 -05:00
|
|
|
<a href="https://reddit.com/user/Mafyuh" target="_blank" rel="noopener noreferrer me"
|
|
|
|
title="Reddit">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" stroke="none" stroke-width="1">
|
|
|
|
<path
|
|
|
|
d="M24 11.779c0-1.459-1.192-2.645-2.657-2.645-.715 0-1.363.286-1.84.746-1.81-1.191-4.259-1.949-6.971-2.046l1.483-4.669 4.016.941-.006.058c0 1.193.975 2.163 2.174 2.163 1.198 0 2.172-.97 2.172-2.163s-.975-2.164-2.172-2.164c-.92 0-1.704.574-2.021 1.379l-4.329-1.015c-.189-.046-.381.063-.44.249l-1.654 5.207c-2.838.034-5.409.798-7.3 2.025-.474-.438-1.103-.712-1.799-.712-1.465 0-2.656 1.187-2.656 2.646 0 .97.533 1.811 1.317 2.271-.052.282-.086.567-.086.857 0 3.911 4.808 7.093 10.719 7.093s10.72-3.182 10.72-7.093c0-.274-.029-.544-.075-.81.832-.447 1.405-1.312 1.405-2.318zm-17.224 1.816c0-.868.71-1.575 1.582-1.575.872 0 1.581.707 1.581 1.575s-.709 1.574-1.581 1.574-1.582-.706-1.582-1.574zm9.061 4.669c-.797.793-2.048 1.179-3.824 1.179l-.013-.003-.013.003c-1.777 0-3.028-.386-3.824-1.179-.145-.144-.145-.379 0-.523.145-.145.381-.145.526 0 .65.647 1.729.961 3.298.961l.013.003.013-.003c1.569 0 2.648-.315 3.298-.962.145-.145.381-.144.526 0 .145.145.145.379 0 .524zm-.189-3.095c-.872 0-1.581-.706-1.581-1.574 0-.868.709-1.575 1.581-1.575s1.581.707 1.581 1.575-.709 1.574-1.581 1.574z" />
|
|
|
|
</svg>
|
|
|
|
</a>
|
|
|
|
<a href="https://git.mafyuh.dev" target="_blank" rel="noopener noreferrer me"
|
|
|
|
title="Gitea">
|
|
|
|
<svg role="img" viewBox="0 0 24 20" xmlns="http://www.w3.org/2000/svg" fill="currentColor">
|
|
|
|
<path
|
|
|
|
d="M4.209 4.603c-.247 0-.525.02-.84.088-.333.07-1.28.283-2.054 1.027C-.403 7.25.035 9.685.089 10.052c.065.446.263 1.687 1.21 2.768 1.749 2.141 5.513 2.092 5.513 2.092s.462 1.103 1.168 2.119c.955 1.263 1.936 2.248 2.89 2.367 2.406 0 7.212-.004 7.212-.004s.458.004 1.08-.394c.535-.324 1.013-.893 1.013-.893s.492-.527 1.18-1.73c.21-.37.385-.729.538-1.068 0 0 2.107-4.471 2.107-8.823-.042-1.318-.367-1.55-.443-1.627-.156-.156-.366-.153-.366-.153s-4.475.252-6.792.306c-.508.011-1.012.023-1.512.027v4.474l-.634-.301c0-1.39-.004-4.17-.004-4.17-1.107.016-3.405-.084-3.405-.084s-5.399-.27-5.987-.324c-.187-.011-.401-.032-.648-.032zm.354 1.832h.111s.271 2.269.6 3.597C5.549 11.147 6.22 13 6.22 13s-.996-.119-1.641-.348c-.99-.324-1.409-.714-1.409-.714s-.73-.511-1.096-1.52C1.444 8.73 2.021 7.7 2.021 7.7s.32-.859 1.47-1.145c.395-.106.863-.12 1.072-.12zm8.33 2.554c.26.003.509.127.509.127l.868.422-.529 1.075a.686.686 0 0 0-.614.359.685.685 0 0 0 .072.756l-.939 1.924a.69.69 0 0 0-.66.527.687.687 0 0 0 .347.763.686.686 0 0 0 .867-.206.688.688 0 0 0-.069-.882l.916-1.874a.667.667 0 0 0 .237-.02.657.657 0 0 0 .271-.137 8.826 8.826 0 0 1 1.016.512.761.761 0 0 1 .286.282c.073.21-.073.569-.073.569-.087.29-.702 1.55-.702 1.55a.692.692 0 0 0-.676.477.681.681 0 1 0 1.157-.252c.073-.141.141-.282.214-.431.19-.397.515-1.16.515-1.16.035-.066.218-.394.103-.814-.095-.435-.48-.638-.48-.638-.467-.301-1.116-.58-1.116-.58s0-.156-.042-.27a.688.688 0 0 0-.148-.241l.516-1.062 2.89 1.401s.48.218.583.619c.073.282-.019.534-.069.657-.24.587-2.1 4.317-2.1 4.317s-.232.554-.748.588a1.065 1.065 0 0 1-.393-.045l-.202-.08-4.31-2.1s-.417-.218-.49-.596c-.083-.31.104-.691.104-.691l2.073-4.272s.183-.37.466-.497a.855.855 0 0 1 .35-.077z" />
|
|
|
|
</svg>
|
|
|
|
</a>
|
|
|
|
<a href="https://github.com/Mafyuh" target="_blank" rel="noopener noreferrer me"
|
|
|
|
title="Github">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
|
|
|
|
stroke-linecap="round" stroke-linejoin="round">
|
|
|
|
<path
|
|
|
|
d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22">
|
|
|
|
</path>
|
|
|
|
</svg>
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="buttons">
|
|
|
|
<a class="button" href="posts" rel="noopener" title="Posts">
|
|
|
|
<span class="button-inner">
|
|
|
|
Posts
|
|
|
|
</span>
|
|
|
|
</a>
|
2024-02-22 17:24:22 -05:00
|
|
|
<a class="button" href="contact" rel="noopener" title="contact">
|
2024-02-22 14:01:49 -05:00
|
|
|
<span class="button-inner">
|
2024-02-22 17:24:22 -05:00
|
|
|
contact
|
2024-02-22 14:01:49 -05:00
|
|
|
</span>
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</main>
|
|
|
|
|
|
|
|
<footer class="footer">
|
2024-02-22 16:21:00 -05:00
|
|
|
<span>© 2024 <a href="https://mafyuh.com/">Mafyuh's Blog</a></span>
|
2024-02-22 14:01:49 -05:00
|
|
|
<span>
|
|
|
|
Powered by
|
|
|
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
|
|
|
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
|
|
|
|
</span>
|
|
|
|
</footer>
|
|
|
|
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
|
|
|
|
<path d="M12 6H0l6-6z" />
|
|
|
|
</svg>
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
let menu = document.getElementById('menu')
|
|
|
|
if (menu) {
|
|
|
|
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
|
|
|
|
menu.onscroll = function () {
|
|
|
|
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
|
|
|
anchor.addEventListener("click", function (e) {
|
|
|
|
e.preventDefault();
|
|
|
|
var id = this.getAttribute("href").substr(1);
|
|
|
|
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
|
|
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
|
|
|
|
behavior: "smooth"
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
|
|
|
|
}
|
|
|
|
if (id === "top") {
|
|
|
|
history.replaceState(null, null, " ");
|
|
|
|
} else {
|
|
|
|
history.pushState(null, null, `#${id}`);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
</script>
|
|
|
|
<script>
|
|
|
|
var mybutton = document.getElementById("top-link");
|
|
|
|
window.onscroll = function () {
|
|
|
|
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
|
|
|
|
mybutton.style.visibility = "visible";
|
|
|
|
mybutton.style.opacity = "1";
|
|
|
|
} else {
|
|
|
|
mybutton.style.visibility = "hidden";
|
|
|
|
mybutton.style.opacity = "0";
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
</script>
|
|
|
|
<script>
|
|
|
|
document.getElementById("theme-toggle").addEventListener("click", () => {
|
|
|
|
if (document.body.className.includes("dark")) {
|
|
|
|
document.body.classList.remove('dark');
|
|
|
|
localStorage.setItem("pref-theme", 'light');
|
|
|
|
} else {
|
|
|
|
document.body.classList.add('dark');
|
|
|
|
localStorage.setItem("pref-theme", 'dark');
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
</script>
|
|
|
|
</body>
|
|
|
|
|
|
|
|
</html>
|