Initial changes

This commit is contained in:
root
2025-05-12 09:26:17 +02:00
parent 128b34c8e8
commit c4bb0095c5
48 changed files with 351 additions and 164 deletions
View File
Executable
+11
View File
@@ -0,0 +1,11 @@
#!/bin/bash
# Build static site
hugo
# Build search
./pagefind --site public/
# correct permissions
sudo chown -R 1000:1000 /opt/docker/website/public
sudo chmod -R 755 /opt/docker/website/public
+4 -4
View File
@@ -1,4 +1,4 @@
baseURL = "" baseURL = "https://pyte.dev"
languageCode = "en-us" languageCode = "en-us"
title = "PyteDev Blog" title = "PyteDev Blog"
theme = "PaperMod" theme = "PaperMod"
@@ -9,11 +9,11 @@ Content = "I am a Sysadmin, Email Enthusiast, and Open Source Contributor. I enj
[[params.socialIcons]] [[params.socialIcons]]
name = "matrix" name = "matrix"
url = "@pytedev:matrix.org" url = "https://matrix.to/#/@pytedev:matrix.org"
[[params.socialIcons]] [[params.socialIcons]]
name = "email" name = "email"
url = "public@pyte.dev" url = "mailto:public@pyte.dev"
[[params.socialIcons]] [[params.socialIcons]]
name = "github" name = "github"
@@ -21,7 +21,7 @@ url = "https://github.com/pyte1"
[[params.socialIcons]] [[params.socialIcons]]
name = "mastodon" name = "mastodon"
url = "https://mastodon.socail/pytedev" url = "https://mastodon.social/pytedev"
[[menu.main]] [[menu.main]]
identifier = "home" identifier = "home"
+1 -1
View File
@@ -1,6 +1,6 @@
+++ +++
date = '2025-05-11T20:13:49+02:00' date = '2025-05-11T20:13:49+02:00'
draft = true draft = false
title = 'Introduction' title = 'Introduction'
+++ +++
Regular → Executable
+23 -15
View File
@@ -1,24 +1,24 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" dir="auto"> <html lang="en" dir="auto">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script><meta charset="utf-8"> <head><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <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="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="noindex, nofollow"> <meta name="robots" content="index, follow">
<title>404 Page not found | PyteDev Blog</title> <title>404 Page not found | PyteDev Blog</title>
<meta name="keywords" content=""> <meta name="keywords" content="">
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
<link rel="canonical" href="//localhost:1313/404.html"> <link rel="canonical" href="https://pyte.dev/404.html">
<link crossorigin="anonymous" href="/assets/css/stylesheet.f49d66caae9ea0fd43f21f29e71a8d3e284517ed770f2aa86fa012953ad3c9ef.css" integrity="sha256-9J1myq6eoP1D8h8p5xqNPihFF&#43;13Dyqob6ASlTrTye8=" rel="preload stylesheet" as="style"> <link crossorigin="anonymous" href="/assets/css/stylesheet.f49d66caae9ea0fd43f21f29e71a8d3e284517ed770f2aa86fa012953ad3c9ef.css" integrity="sha256-9J1myq6eoP1D8h8p5xqNPihFF&#43;13Dyqob6ASlTrTye8=" rel="preload stylesheet" as="style">
<link rel="icon" href="//localhost:1313/favicon.ico"> <link rel="icon" href="https://pyte.dev/favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="//localhost:1313/favicon-16x16.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://pyte.dev/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="//localhost:1313/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="32x32" href="https://pyte.dev/favicon-32x32.png">
<link rel="apple-touch-icon" href="//localhost:1313/apple-touch-icon.png"> <link rel="apple-touch-icon" href="https://pyte.dev/apple-touch-icon.png">
<link rel="mask-icon" href="//localhost:1313/safari-pinned-tab.svg"> <link rel="mask-icon" href="https://pyte.dev/safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33"> <meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33"> <meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" hreflang="en" href="//localhost:1313/404.html"> <link rel="alternate" hreflang="en" href="https://pyte.dev/404.html">
<noscript> <noscript>
<style> <style>
#theme-toggle, #theme-toggle,
@@ -55,7 +55,15 @@
} }
</style> </style>
</noscript> </noscript><meta property="og:url" content="https://pyte.dev/404.html">
<meta property="og:site_name" content="PyteDev Blog">
<meta property="og:title" content="404 Page not found">
<meta property="og:locale" content="en-us">
<meta property="og:type" content="website">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="404 Page not found">
<meta name="twitter:description" content="">
</head> </head>
<body class="list" id="top"> <body class="list" id="top">
@@ -73,7 +81,7 @@
<header class="header"> <header class="header">
<nav class="nav"> <nav class="nav">
<div class="logo"> <div class="logo">
<a href="//localhost:1313/" accesskey="h" title="PyteDev Blog (Alt + H)">PyteDev Blog</a> <a href="https://pyte.dev/" accesskey="h" title="PyteDev Blog (Alt + H)">PyteDev Blog</a>
<div class="logo-switches"> <div class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)" aria-label="Toggle theme"> <button id="theme-toggle" accesskey="t" title="(Alt + T)" aria-label="Toggle theme">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24" <svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
@@ -99,17 +107,17 @@
</div> </div>
<ul id="menu"> <ul id="menu">
<li> <li>
<a href="//localhost:1313/" title="Home"> <a href="https://pyte.dev/" title="Home">
<span>Home</span> <span>Home</span>
</a> </a>
</li> </li>
<li> <li>
<a href="//localhost:1313/posts/" title="Blog"> <a href="https://pyte.dev/posts/" title="Blog">
<span>Blog</span> <span>Blog</span>
</a> </a>
</li> </li>
<li> <li>
<a href="//localhost:1313/search/" title="Search"> <a href="https://pyte.dev/search/" title="Search">
<span>Search</span> <span>Search</span>
</a> </a>
</li> </li>
@@ -121,7 +129,7 @@
</main> </main>
<footer class="footer"> <footer class="footer">
<span>&copy; 2025 <a href="//localhost:1313/">PyteDev Blog</a></span> · <span>&copy; 2025 <a href="https://pyte.dev/">PyteDev Blog</a></span> ·
<span> <span>
Powered by Powered by
Regular → Executable
+24 -16
View File
@@ -1,25 +1,25 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" dir="auto"> <html lang="en" dir="auto">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script><meta charset="utf-8"> <head><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <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="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="noindex, nofollow"> <meta name="robots" content="index, follow">
<title>Categories | PyteDev Blog</title> <title>Categories | PyteDev Blog</title>
<meta name="keywords" content=""> <meta name="keywords" content="">
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
<link rel="canonical" href="//localhost:1313/categories/"> <link rel="canonical" href="https://pyte.dev/categories/">
<link crossorigin="anonymous" href="/assets/css/stylesheet.f49d66caae9ea0fd43f21f29e71a8d3e284517ed770f2aa86fa012953ad3c9ef.css" integrity="sha256-9J1myq6eoP1D8h8p5xqNPihFF&#43;13Dyqob6ASlTrTye8=" rel="preload stylesheet" as="style"> <link crossorigin="anonymous" href="/assets/css/stylesheet.f49d66caae9ea0fd43f21f29e71a8d3e284517ed770f2aa86fa012953ad3c9ef.css" integrity="sha256-9J1myq6eoP1D8h8p5xqNPihFF&#43;13Dyqob6ASlTrTye8=" rel="preload stylesheet" as="style">
<link rel="icon" href="//localhost:1313/favicon.ico"> <link rel="icon" href="https://pyte.dev/favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="//localhost:1313/favicon-16x16.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://pyte.dev/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="//localhost:1313/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="32x32" href="https://pyte.dev/favicon-32x32.png">
<link rel="apple-touch-icon" href="//localhost:1313/apple-touch-icon.png"> <link rel="apple-touch-icon" href="https://pyte.dev/apple-touch-icon.png">
<link rel="mask-icon" href="//localhost:1313/safari-pinned-tab.svg"> <link rel="mask-icon" href="https://pyte.dev/safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33"> <meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33"> <meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" type="application/rss+xml" href="//localhost:1313/categories/index.xml"> <link rel="alternate" type="application/rss+xml" href="https://pyte.dev/categories/index.xml">
<link rel="alternate" hreflang="en" href="//localhost:1313/categories/"> <link rel="alternate" hreflang="en" href="https://pyte.dev/categories/">
<noscript> <noscript>
<style> <style>
#theme-toggle, #theme-toggle,
@@ -56,7 +56,15 @@
} }
</style> </style>
</noscript> </noscript><meta property="og:url" content="https://pyte.dev/categories/">
<meta property="og:site_name" content="PyteDev Blog">
<meta property="og:title" content="Categories">
<meta property="og:locale" content="en-us">
<meta property="og:type" content="website">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Categories">
<meta name="twitter:description" content="">
</head> </head>
<body class="list" id="top"> <body class="list" id="top">
@@ -74,7 +82,7 @@
<header class="header"> <header class="header">
<nav class="nav"> <nav class="nav">
<div class="logo"> <div class="logo">
<a href="//localhost:1313/" accesskey="h" title="PyteDev Blog (Alt + H)">PyteDev Blog</a> <a href="https://pyte.dev/" accesskey="h" title="PyteDev Blog (Alt + H)">PyteDev Blog</a>
<div class="logo-switches"> <div class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)" aria-label="Toggle theme"> <button id="theme-toggle" accesskey="t" title="(Alt + T)" aria-label="Toggle theme">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24" <svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
@@ -100,17 +108,17 @@
</div> </div>
<ul id="menu"> <ul id="menu">
<li> <li>
<a href="//localhost:1313/" title="Home"> <a href="https://pyte.dev/" title="Home">
<span>Home</span> <span>Home</span>
</a> </a>
</li> </li>
<li> <li>
<a href="//localhost:1313/posts/" title="Blog"> <a href="https://pyte.dev/posts/" title="Blog">
<span>Blog</span> <span>Blog</span>
</a> </a>
</li> </li>
<li> <li>
<a href="//localhost:1313/search/" title="Search"> <a href="https://pyte.dev/search/" title="Search">
<span>Search</span> <span>Search</span>
</a> </a>
</li> </li>
@@ -127,7 +135,7 @@
</main> </main>
<footer class="footer"> <footer class="footer">
<span>&copy; 2025 <a href="//localhost:1313/">PyteDev Blog</a></span> · <span>&copy; 2025 <a href="https://pyte.dev/">PyteDev Blog</a></span> ·
<span> <span>
Powered by Powered by
Regular → Executable
+2 -2
View File
@@ -2,10 +2,10 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel> <channel>
<title>Categories on PyteDev Blog</title> <title>Categories on PyteDev Blog</title>
<link>//localhost:1313/categories/</link> <link>https://pyte.dev/categories/</link>
<description>Recent content in Categories on PyteDev Blog</description> <description>Recent content in Categories on PyteDev Blog</description>
<generator>Hugo -- 0.147.2</generator> <generator>Hugo -- 0.147.2</generator>
<language>en-us</language> <language>en-us</language>
<atom:link href="//localhost:1313/categories/index.xml" rel="self" type="application/rss+xml" /> <atom:link href="https://pyte.dev/categories/index.xml" rel="self" type="application/rss+xml" />
</channel> </channel>
</rss> </rss>
Regular → Executable
+41 -26
View File
@@ -2,25 +2,25 @@
<html lang="en" dir="auto"> <html lang="en" dir="auto">
<head> <head>
<meta name="generator" content="Hugo 0.147.2"><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script><meta charset="utf-8"> <meta name="generator" content="Hugo 0.147.2"><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <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="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="noindex, nofollow"> <meta name="robots" content="index, follow">
<title>PyteDev Blog</title> <title>PyteDev Blog</title>
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
<link rel="canonical" href="//localhost:1313/"> <link rel="canonical" href="https://pyte.dev/">
<link crossorigin="anonymous" href="/assets/css/stylesheet.f49d66caae9ea0fd43f21f29e71a8d3e284517ed770f2aa86fa012953ad3c9ef.css" integrity="sha256-9J1myq6eoP1D8h8p5xqNPihFF&#43;13Dyqob6ASlTrTye8=" rel="preload stylesheet" as="style"> <link crossorigin="anonymous" href="/assets/css/stylesheet.f49d66caae9ea0fd43f21f29e71a8d3e284517ed770f2aa86fa012953ad3c9ef.css" integrity="sha256-9J1myq6eoP1D8h8p5xqNPihFF&#43;13Dyqob6ASlTrTye8=" rel="preload stylesheet" as="style">
<link rel="icon" href="//localhost:1313/favicon.ico"> <link rel="icon" href="https://pyte.dev/favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="//localhost:1313/favicon-16x16.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://pyte.dev/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="//localhost:1313/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="32x32" href="https://pyte.dev/favicon-32x32.png">
<link rel="apple-touch-icon" href="//localhost:1313/apple-touch-icon.png"> <link rel="apple-touch-icon" href="https://pyte.dev/apple-touch-icon.png">
<link rel="mask-icon" href="//localhost:1313/safari-pinned-tab.svg"> <link rel="mask-icon" href="https://pyte.dev/safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33"> <meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33"> <meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" type="application/rss+xml" href="//localhost:1313/index.xml"> <link rel="alternate" type="application/rss+xml" href="https://pyte.dev/index.xml">
<link rel="alternate" hreflang="en" href="//localhost:1313/"> <link rel="alternate" hreflang="en" href="https://pyte.dev/">
<noscript> <noscript>
<style> <style>
#theme-toggle, #theme-toggle,
@@ -57,7 +57,28 @@
} }
</style> </style>
</noscript> </noscript><meta property="og:url" content="https://pyte.dev/">
<meta property="og:site_name" content="PyteDev Blog">
<meta property="og:title" content="PyteDev Blog">
<meta property="og:locale" content="en-us">
<meta property="og:type" content="website">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="PyteDev Blog">
<meta name="twitter:description" content="">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "PyteDev Blog",
"url": "https://pyte.dev/",
"description": "",
"logo": "https://pyte.dev/favicon.ico",
"sameAs": [
"https://matrix.to/#/@pytedev:matrix.org", "mailto:public@pyte.dev", "https://github.com/pyte1", "https://mastodon.social/pytedev"
]
}
</script>
</head> </head>
<body class="list" id="top"> <body class="list" id="top">
@@ -75,7 +96,7 @@
<header class="header"> <header class="header">
<nav class="nav"> <nav class="nav">
<div class="logo"> <div class="logo">
<a href="//localhost:1313/" accesskey="h" title="PyteDev Blog (Alt + H)">PyteDev Blog</a> <a href="https://pyte.dev/" accesskey="h" title="PyteDev Blog (Alt + H)">PyteDev Blog</a>
<div class="logo-switches"> <div class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)" aria-label="Toggle theme"> <button id="theme-toggle" accesskey="t" title="(Alt + T)" aria-label="Toggle theme">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24" <svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
@@ -101,17 +122,17 @@
</div> </div>
<ul id="menu"> <ul id="menu">
<li> <li>
<a href="//localhost:1313/" title="Home"> <a href="https://pyte.dev/" title="Home">
<span class="active">Home</span> <span class="active">Home</span>
</a> </a>
</li> </li>
<li> <li>
<a href="//localhost:1313/posts/" title="Blog"> <a href="https://pyte.dev/posts/" title="Blog">
<span>Blog</span> <span>Blog</span>
</a> </a>
</li> </li>
<li> <li>
<a href="//localhost:1313/search/" title="Search"> <a href="https://pyte.dev/search/" title="Search">
<span>Search</span> <span>Search</span>
</a> </a>
</li> </li>
@@ -128,14 +149,14 @@
</div> </div>
<footer class="entry-footer"> <footer class="entry-footer">
<div class="social-icons" > <div class="social-icons" >
<a href="@pytedev:matrix.org" target="_blank" rel="noopener noreferrer me" <a href="https://matrix.to/#/@pytedev:matrix.org" target="_blank" rel="noopener noreferrer me"
title="Matrix"> title="Matrix">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path <path
d="M.632.55v22.9H2.28V24H0V0h2.28v.55zm7.043 7.26v1.157h.033c.309-.443.683-.784 1.117-1.024.433-.245.936-.365 1.5-.365.54 0 1.033.107 1.481.314.448.208.785.582 1.02 1.108.254-.374.6-.706 1.034-.992.434-.287.95-.43 1.546-.43.453 0 .872.056 1.26.167.388.11.716.286.993.53.276.245.489.559.646.951.152.392.23.863.23 1.417v5.728h-2.349V11.52c0-.286-.01-.559-.032-.812a1.755 1.755 0 0 0-.18-.66 1.106 1.106 0 0 0-.438-.448c-.194-.11-.457-.166-.785-.166-.332 0-.6.064-.803.189a1.38 1.38 0 0 0-.48.499 1.946 1.946 0 0 0-.231.696 5.56 5.56 0 0 0-.06.785v4.768h-2.35v-4.8c0-.254-.004-.503-.018-.752a2.074 2.074 0 0 0-.143-.688 1.052 1.052 0 0 0-.415-.503c-.194-.125-.476-.19-.854-.19-.111 0-.259.024-.439.074-.18.051-.36.143-.53.282-.171.138-.319.337-.439.595-.12.259-.18.6-.18 1.02v4.966H5.46V7.81zm15.693 15.64V.55H21.72V0H24v24h-2.28v-.55z" /> d="M.632.55v22.9H2.28V24H0V0h2.28v.55zm7.043 7.26v1.157h.033c.309-.443.683-.784 1.117-1.024.433-.245.936-.365 1.5-.365.54 0 1.033.107 1.481.314.448.208.785.582 1.02 1.108.254-.374.6-.706 1.034-.992.434-.287.95-.43 1.546-.43.453 0 .872.056 1.26.167.388.11.716.286.993.53.276.245.489.559.646.951.152.392.23.863.23 1.417v5.728h-2.349V11.52c0-.286-.01-.559-.032-.812a1.755 1.755 0 0 0-.18-.66 1.106 1.106 0 0 0-.438-.448c-.194-.11-.457-.166-.785-.166-.332 0-.6.064-.803.189a1.38 1.38 0 0 0-.48.499 1.946 1.946 0 0 0-.231.696 5.56 5.56 0 0 0-.06.785v4.768h-2.35v-4.8c0-.254-.004-.503-.018-.752a2.074 2.074 0 0 0-.143-.688 1.052 1.052 0 0 0-.415-.503c-.194-.125-.476-.19-.854-.19-.111 0-.259.024-.439.074-.18.051-.36.143-.53.282-.171.138-.319.337-.439.595-.12.259-.18.6-.18 1.02v4.966H5.46V7.81zm15.693 15.64V.55H21.72V0H24v24h-2.28v-.55z" />
</svg> </svg>
</a> </a>
<a href="public@pyte.dev" target="_blank" rel="noopener noreferrer me" <a href="mailto:public@pyte.dev" target="_blank" rel="noopener noreferrer me"
title="Email"> title="Email">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 21" fill="none" stroke="currentColor" stroke-width="2" <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 21" fill="none" stroke="currentColor" stroke-width="2"
stroke-linecap="round" stroke-linejoin="round"> stroke-linecap="round" stroke-linejoin="round">
@@ -152,7 +173,7 @@
</path> </path>
</svg> </svg>
</a> </a>
<a href="https://mastodon.socail/pytedev" target="_blank" rel="noopener noreferrer me" <a href="https://mastodon.social/pytedev" target="_blank" rel="noopener noreferrer me"
title="Mastodon"> title="Mastodon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" <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"> stroke-linecap="round" stroke-linejoin="round">
@@ -172,12 +193,6 @@
<article class="post-entry"> <article class="post-entry">
<header class="entry-header"> <header class="entry-header">
<h2 class="entry-hint-parent">Introduction <h2 class="entry-hint-parent">Introduction
<span class="entry-hint" title="Draft">
<svg xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 -960 960 960" fill="currentColor">
<path
d="M160-410v-60h300v60H160Zm0-165v-60h470v60H160Zm0-165v-60h470v60H160Zm360 580v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q9 9 13 20t4 22q0 11-4.5 22.5T862.09-380L643-160H520Zm300-263-37-37 37 37ZM580-220h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z" />
</svg>
</span>
</h2> </h2>
</header> </header>
<div class="entry-content"> <div class="entry-content">
@@ -187,12 +202,12 @@ Sysadmin tips and tools: Everything Ive learned managing servers, networks, a
...</p> ...</p>
</div> </div>
<footer class="entry-footer"><span title='2025-05-11 20:13:49 +0200 CEST'>May 11, 2025</span></footer> <footer class="entry-footer"><span title='2025-05-11 20:13:49 +0200 CEST'>May 11, 2025</span></footer>
<a class="entry-link" aria-label="post link to Introduction" href="//localhost:1313/posts/my-first-post/"></a> <a class="entry-link" aria-label="post link to Introduction" href="https://pyte.dev/posts/my-first-post/"></a>
</article> </article>
</main> </main>
<footer class="footer"> <footer class="footer">
<span>&copy; 2025 <a href="//localhost:1313/">PyteDev Blog</a></span> · <span>&copy; 2025 <a href="https://pyte.dev/">PyteDev Blog</a></span> ·
<span> <span>
Powered by Powered by
Regular → Executable
+6 -6
View File
@@ -2,17 +2,17 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel> <channel>
<title>PyteDev Blog</title> <title>PyteDev Blog</title>
<link>//localhost:1313/</link> <link>https://pyte.dev/</link>
<description>Recent content on PyteDev Blog</description> <description>Recent content on PyteDev Blog</description>
<generator>Hugo -- 0.147.2</generator> <generator>Hugo -- 0.147.2</generator>
<language>en-us</language> <language>en-us</language>
<lastBuildDate>Sun, 11 May 2025 20:13:49 +0200</lastBuildDate> <lastBuildDate>Sun, 11 May 2025 20:13:49 +0200</lastBuildDate>
<atom:link href="//localhost:1313/index.xml" rel="self" type="application/rss+xml" /> <atom:link href="https://pyte.dev/index.xml" rel="self" type="application/rss+xml" />
<item> <item>
<title>Introduction</title> <title>Introduction</title>
<link>//localhost:1313/posts/my-first-post/</link> <link>https://pyte.dev/posts/my-first-post/</link>
<pubDate>Sun, 11 May 2025 20:13:49 +0200</pubDate> <pubDate>Sun, 11 May 2025 20:13:49 +0200</pubDate>
<guid>//localhost:1313/posts/my-first-post/</guid> <guid>https://pyte.dev/posts/my-first-post/</guid>
<description>&lt;h1 id=&#34;welcome-to-my-blog&#34;&gt;Welcome to My Blog!&lt;/h1&gt; <description>&lt;h1 id=&#34;welcome-to-my-blog&#34;&gt;Welcome to My Blog!&lt;/h1&gt;
&lt;p&gt;Im &lt;strong&gt;Demian&lt;/strong&gt;, a &lt;strong&gt;Sysadmin&lt;/strong&gt;, &lt;strong&gt;Email Infrastructure enthusiast&lt;/strong&gt;, and a passionate &lt;strong&gt;Open Source contributor&lt;/strong&gt;. This is where Ill be sharing what I know about system administration, managing email infrastructure, and contributing to open source projects.&lt;/p&gt; &lt;p&gt;Im &lt;strong&gt;Demian&lt;/strong&gt;, a &lt;strong&gt;Sysadmin&lt;/strong&gt;, &lt;strong&gt;Email Infrastructure enthusiast&lt;/strong&gt;, and a passionate &lt;strong&gt;Open Source contributor&lt;/strong&gt;. This is where Ill be sharing what I know about system administration, managing email infrastructure, and contributing to open source projects.&lt;/p&gt;
&lt;h2 id=&#34;what-to-expect&#34;&gt;What to Expect&lt;/h2&gt; &lt;h2 id=&#34;what-to-expect&#34;&gt;What to Expect&lt;/h2&gt;
@@ -26,9 +26,9 @@
</item> </item>
<item> <item>
<title>Search</title> <title>Search</title>
<link>//localhost:1313/search/</link> <link>https://pyte.dev/search/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>//localhost:1313/search/</guid> <guid>https://pyte.dev/search/</guid>
<description>Search for a specific post or topic</description> <description>Search for a specific post or topic</description>
</item> </item>
</channel> </channel>
Regular → Executable
+3 -3
View File
@@ -1,10 +1,10 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en-us"> <html lang="en-us">
<head> <head>
<title>//localhost:1313/</title> <title>https://pyte.dev/</title>
<link rel="canonical" href="//localhost:1313/"> <link rel="canonical" href="https://pyte.dev/">
<meta name="robots" content="noindex"> <meta name="robots" content="noindex">
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="refresh" content="0; url=//localhost:1313/"> <meta http-equiv="refresh" content="0; url=https://pyte.dev/">
</head> </head>
</html> </html>
View File
View File
View File
Binary file not shown.
View File
View File
Binary file not shown.
View File
Binary file not shown.
View File
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
{"version":"1.3.0","languages":{"en":{"hash":"en_968513a214","wasm":"en","page_count":7}}} {"version":"1.3.0","languages":{"en":{"hash":"en_eadd96ff86","wasm":"en","page_count":7}}}
View File
View File
View File
Regular → Executable
View File
Regular → Executable
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Regular → Executable
View File
Regular → Executable
View File
View File
Regular → Executable
+40 -23
View File
@@ -1,25 +1,25 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" dir="auto"> <html lang="en" dir="auto">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script><meta charset="utf-8"> <head><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <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="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="noindex, nofollow"> <meta name="robots" content="index, follow">
<title>Posts | PyteDev Blog</title> <title>Posts | PyteDev Blog</title>
<meta name="keywords" content=""> <meta name="keywords" content="">
<meta name="description" content="Posts - PyteDev Blog"> <meta name="description" content="Posts - PyteDev Blog">
<meta name="author" content=""> <meta name="author" content="">
<link rel="canonical" href="//localhost:1313/posts/"> <link rel="canonical" href="https://pyte.dev/posts/">
<link crossorigin="anonymous" href="/assets/css/stylesheet.f49d66caae9ea0fd43f21f29e71a8d3e284517ed770f2aa86fa012953ad3c9ef.css" integrity="sha256-9J1myq6eoP1D8h8p5xqNPihFF&#43;13Dyqob6ASlTrTye8=" rel="preload stylesheet" as="style"> <link crossorigin="anonymous" href="/assets/css/stylesheet.f49d66caae9ea0fd43f21f29e71a8d3e284517ed770f2aa86fa012953ad3c9ef.css" integrity="sha256-9J1myq6eoP1D8h8p5xqNPihFF&#43;13Dyqob6ASlTrTye8=" rel="preload stylesheet" as="style">
<link rel="icon" href="//localhost:1313/favicon.ico"> <link rel="icon" href="https://pyte.dev/favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="//localhost:1313/favicon-16x16.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://pyte.dev/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="//localhost:1313/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="32x32" href="https://pyte.dev/favicon-32x32.png">
<link rel="apple-touch-icon" href="//localhost:1313/apple-touch-icon.png"> <link rel="apple-touch-icon" href="https://pyte.dev/apple-touch-icon.png">
<link rel="mask-icon" href="//localhost:1313/safari-pinned-tab.svg"> <link rel="mask-icon" href="https://pyte.dev/safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33"> <meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33"> <meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" type="application/rss+xml" href="//localhost:1313/posts/index.xml"> <link rel="alternate" type="application/rss+xml" href="https://pyte.dev/posts/index.xml">
<link rel="alternate" hreflang="en" href="//localhost:1313/posts/"> <link rel="alternate" hreflang="en" href="https://pyte.dev/posts/">
<noscript> <noscript>
<style> <style>
#theme-toggle, #theme-toggle,
@@ -56,7 +56,30 @@
} }
</style> </style>
</noscript> </noscript><meta property="og:url" content="https://pyte.dev/posts/">
<meta property="og:site_name" content="PyteDev Blog">
<meta property="og:title" content="Posts">
<meta property="og:locale" content="en-us">
<meta property="og:type" content="website">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Posts">
<meta name="twitter:description" content="">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1 ,
"name": "Posts",
"item": "https://pyte.dev/posts/"
}
]
}
</script>
</head> </head>
<body class="list" id="top"> <body class="list" id="top">
@@ -74,7 +97,7 @@
<header class="header"> <header class="header">
<nav class="nav"> <nav class="nav">
<div class="logo"> <div class="logo">
<a href="//localhost:1313/" accesskey="h" title="PyteDev Blog (Alt + H)">PyteDev Blog</a> <a href="https://pyte.dev/" accesskey="h" title="PyteDev Blog (Alt + H)">PyteDev Blog</a>
<div class="logo-switches"> <div class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)" aria-label="Toggle theme"> <button id="theme-toggle" accesskey="t" title="(Alt + T)" aria-label="Toggle theme">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24" <svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
@@ -100,17 +123,17 @@
</div> </div>
<ul id="menu"> <ul id="menu">
<li> <li>
<a href="//localhost:1313/" title="Home"> <a href="https://pyte.dev/" title="Home">
<span>Home</span> <span>Home</span>
</a> </a>
</li> </li>
<li> <li>
<a href="//localhost:1313/posts/" title="Blog"> <a href="https://pyte.dev/posts/" title="Blog">
<span class="active">Blog</span> <span class="active">Blog</span>
</a> </a>
</li> </li>
<li> <li>
<a href="//localhost:1313/search/" title="Search"> <a href="https://pyte.dev/search/" title="Search">
<span>Search</span> <span>Search</span>
</a> </a>
</li> </li>
@@ -127,12 +150,6 @@
<article class="post-entry"> <article class="post-entry">
<header class="entry-header"> <header class="entry-header">
<h2 class="entry-hint-parent">Introduction <h2 class="entry-hint-parent">Introduction
<span class="entry-hint" title="Draft">
<svg xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 -960 960 960" fill="currentColor">
<path
d="M160-410v-60h300v60H160Zm0-165v-60h470v60H160Zm0-165v-60h470v60H160Zm360 580v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q9 9 13 20t4 22q0 11-4.5 22.5T862.09-380L643-160H520Zm300-263-37-37 37 37ZM580-220h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z" />
</svg>
</span>
</h2> </h2>
</header> </header>
<div class="entry-content"> <div class="entry-content">
@@ -142,12 +159,12 @@ Sysadmin tips and tools: Everything Ive learned managing servers, networks, a
...</p> ...</p>
</div> </div>
<footer class="entry-footer"><span title='2025-05-11 20:13:49 +0200 CEST'>May 11, 2025</span></footer> <footer class="entry-footer"><span title='2025-05-11 20:13:49 +0200 CEST'>May 11, 2025</span></footer>
<a class="entry-link" aria-label="post link to Introduction" href="//localhost:1313/posts/my-first-post/"></a> <a class="entry-link" aria-label="post link to Introduction" href="https://pyte.dev/posts/my-first-post/"></a>
</article> </article>
</main> </main>
<footer class="footer"> <footer class="footer">
<span>&copy; 2025 <a href="//localhost:1313/">PyteDev Blog</a></span> · <span>&copy; 2025 <a href="https://pyte.dev/">PyteDev Blog</a></span> ·
<span> <span>
Powered by Powered by
Regular → Executable
+4 -4
View File
@@ -2,17 +2,17 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel> <channel>
<title>Posts on PyteDev Blog</title> <title>Posts on PyteDev Blog</title>
<link>//localhost:1313/posts/</link> <link>https://pyte.dev/posts/</link>
<description>Recent content in Posts on PyteDev Blog</description> <description>Recent content in Posts on PyteDev Blog</description>
<generator>Hugo -- 0.147.2</generator> <generator>Hugo -- 0.147.2</generator>
<language>en-us</language> <language>en-us</language>
<lastBuildDate>Sun, 11 May 2025 20:13:49 +0200</lastBuildDate> <lastBuildDate>Sun, 11 May 2025 20:13:49 +0200</lastBuildDate>
<atom:link href="//localhost:1313/posts/index.xml" rel="self" type="application/rss+xml" /> <atom:link href="https://pyte.dev/posts/index.xml" rel="self" type="application/rss+xml" />
<item> <item>
<title>Introduction</title> <title>Introduction</title>
<link>//localhost:1313/posts/my-first-post/</link> <link>https://pyte.dev/posts/my-first-post/</link>
<pubDate>Sun, 11 May 2025 20:13:49 +0200</pubDate> <pubDate>Sun, 11 May 2025 20:13:49 +0200</pubDate>
<guid>//localhost:1313/posts/my-first-post/</guid> <guid>https://pyte.dev/posts/my-first-post/</guid>
<description>&lt;h1 id=&#34;welcome-to-my-blog&#34;&gt;Welcome to My Blog!&lt;/h1&gt; <description>&lt;h1 id=&#34;welcome-to-my-blog&#34;&gt;Welcome to My Blog!&lt;/h1&gt;
&lt;p&gt;Im &lt;strong&gt;Demian&lt;/strong&gt;, a &lt;strong&gt;Sysadmin&lt;/strong&gt;, &lt;strong&gt;Email Infrastructure enthusiast&lt;/strong&gt;, and a passionate &lt;strong&gt;Open Source contributor&lt;/strong&gt;. This is where Ill be sharing what I know about system administration, managing email infrastructure, and contributing to open source projects.&lt;/p&gt; &lt;p&gt;Im &lt;strong&gt;Demian&lt;/strong&gt;, a &lt;strong&gt;Sysadmin&lt;/strong&gt;, &lt;strong&gt;Email Infrastructure enthusiast&lt;/strong&gt;, and a passionate &lt;strong&gt;Open Source contributor&lt;/strong&gt;. This is where Ill be sharing what I know about system administration, managing email infrastructure, and contributing to open source projects.&lt;/p&gt;
&lt;h2 id=&#34;what-to-expect&#34;&gt;What to Expect&lt;/h2&gt; &lt;h2 id=&#34;what-to-expect&#34;&gt;What to Expect&lt;/h2&gt;
+88 -21
View File
@@ -1,10 +1,10 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" dir="auto"> <html lang="en" dir="auto">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script><meta charset="utf-8"> <head><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <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="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="noindex, nofollow"> <meta name="robots" content="index, follow">
<title>Introduction | PyteDev Blog</title> <title>Introduction | PyteDev Blog</title>
<meta name="keywords" content=""> <meta name="keywords" content="">
<meta name="description" content="Welcome to My Blog! <meta name="description" content="Welcome to My Blog!
@@ -18,16 +18,16 @@ Open Source: How I contribute to open source projects, and tips for getting star
This blog is a space to share knowledge, troubleshoot common issues, and explore new tools and techniques. Whether youre just getting into system administration, looking for email setup guides, or interested in contributing to open source, youll find something useful here."> This blog is a space to share knowledge, troubleshoot common issues, and explore new tools and techniques. Whether youre just getting into system administration, looking for email setup guides, or interested in contributing to open source, youll find something useful here.">
<meta name="author" content=""> <meta name="author" content="">
<link rel="canonical" href="//localhost:1313/posts/my-first-post/"> <link rel="canonical" href="https://pyte.dev/posts/my-first-post/">
<link crossorigin="anonymous" href="/assets/css/stylesheet.f49d66caae9ea0fd43f21f29e71a8d3e284517ed770f2aa86fa012953ad3c9ef.css" integrity="sha256-9J1myq6eoP1D8h8p5xqNPihFF&#43;13Dyqob6ASlTrTye8=" rel="preload stylesheet" as="style"> <link crossorigin="anonymous" href="/assets/css/stylesheet.f49d66caae9ea0fd43f21f29e71a8d3e284517ed770f2aa86fa012953ad3c9ef.css" integrity="sha256-9J1myq6eoP1D8h8p5xqNPihFF&#43;13Dyqob6ASlTrTye8=" rel="preload stylesheet" as="style">
<link rel="icon" href="//localhost:1313/favicon.ico"> <link rel="icon" href="https://pyte.dev/favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="//localhost:1313/favicon-16x16.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://pyte.dev/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="//localhost:1313/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="32x32" href="https://pyte.dev/favicon-32x32.png">
<link rel="apple-touch-icon" href="//localhost:1313/apple-touch-icon.png"> <link rel="apple-touch-icon" href="https://pyte.dev/apple-touch-icon.png">
<link rel="mask-icon" href="//localhost:1313/safari-pinned-tab.svg"> <link rel="mask-icon" href="https://pyte.dev/safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33"> <meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33"> <meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" hreflang="en" href="//localhost:1313/posts/my-first-post/"> <link rel="alternate" hreflang="en" href="https://pyte.dev/posts/my-first-post/">
<noscript> <noscript>
<style> <style>
#theme-toggle, #theme-toggle,
@@ -64,7 +64,80 @@ This blog is a space to share knowledge, troubleshoot common issues, and explore
} }
</style> </style>
</noscript> </noscript><meta property="og:url" content="https://pyte.dev/posts/my-first-post/">
<meta property="og:site_name" content="PyteDev Blog">
<meta property="og:title" content="Introduction">
<meta property="og:description" content="Welcome to My Blog! Im Demian, a Sysadmin, Email Infrastructure enthusiast, and a passionate Open Source contributor. This is where Ill be sharing what I know about system administration, managing email infrastructure, and contributing to open source projects.
What to Expect On this blog, Ill be writing about:
Sysadmin tips and tools: Everything Ive learned managing servers, networks, and infrastructure. Email Infrastructure: Best practices for setting up, securing, and managing email systems. Open Source: How I contribute to open source projects, and tips for getting started if you want to do the same. This blog is a space to share knowledge, troubleshoot common issues, and explore new tools and techniques. Whether youre just getting into system administration, looking for email setup guides, or interested in contributing to open source, youll find something useful here.">
<meta property="og:locale" content="en-us">
<meta property="og:type" content="article">
<meta property="article:section" content="posts">
<meta property="article:published_time" content="2025-05-11T20:13:49+02:00">
<meta property="article:modified_time" content="2025-05-11T20:13:49+02:00">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Introduction">
<meta name="twitter:description" content="Welcome to My Blog!
Im Demian, a Sysadmin, Email Infrastructure enthusiast, and a passionate Open Source contributor. This is where Ill be sharing what I know about system administration, managing email infrastructure, and contributing to open source projects.
What to Expect
On this blog, Ill be writing about:
Sysadmin tips and tools: Everything Ive learned managing servers, networks, and infrastructure.
Email Infrastructure: Best practices for setting up, securing, and managing email systems.
Open Source: How I contribute to open source projects, and tips for getting started if you want to do the same.
This blog is a space to share knowledge, troubleshoot common issues, and explore new tools and techniques. Whether youre just getting into system administration, looking for email setup guides, or interested in contributing to open source, youll find something useful here.">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1 ,
"name": "Posts",
"item": "https://pyte.dev/posts/"
},
{
"@type": "ListItem",
"position": 2 ,
"name": "Introduction",
"item": "https://pyte.dev/posts/my-first-post/"
}
]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Introduction",
"name": "Introduction",
"description": "Welcome to My Blog! Im Demian, a Sysadmin, Email Infrastructure enthusiast, and a passionate Open Source contributor. This is where Ill be sharing what I know about system administration, managing email infrastructure, and contributing to open source projects.\nWhat to Expect On this blog, Ill be writing about:\nSysadmin tips and tools: Everything Ive learned managing servers, networks, and infrastructure. Email Infrastructure: Best practices for setting up, securing, and managing email systems. Open Source: How I contribute to open source projects, and tips for getting started if you want to do the same. This blog is a space to share knowledge, troubleshoot common issues, and explore new tools and techniques. Whether youre just getting into system administration, looking for email setup guides, or interested in contributing to open source, youll find something useful here.\n",
"keywords": [
],
"articleBody": "Welcome to My Blog! Im Demian, a Sysadmin, Email Infrastructure enthusiast, and a passionate Open Source contributor. This is where Ill be sharing what I know about system administration, managing email infrastructure, and contributing to open source projects.\nWhat to Expect On this blog, Ill be writing about:\nSysadmin tips and tools: Everything Ive learned managing servers, networks, and infrastructure. Email Infrastructure: Best practices for setting up, securing, and managing email systems. Open Source: How I contribute to open source projects, and tips for getting started if you want to do the same. This blog is a space to share knowledge, troubleshoot common issues, and explore new tools and techniques. Whether youre just getting into system administration, looking for email setup guides, or interested in contributing to open source, youll find something useful here.\nWhy Im Here Ive been working in IT for a while now, and Ive learned a lot by trial and error. Writing about my experiences helps me remember the lessons Ive learned and hopefully helps others along the way. I believe in learning by doing, and this blog is just a reflection of that approach.\nIm excited to share what Ive picked up, and I hope youll find these posts useful, whether youre a fellow sysadmin or just someone interested in these topics.\nLets Connect Feel free to reach out. Thanks for stopping by, and I look forward to sharing more soon!\n",
"wordCount" : "236",
"inLanguage": "en",
"datePublished": "2025-05-11T20:13:49+02:00",
"dateModified": "2025-05-11T20:13:49+02:00",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://pyte.dev/posts/my-first-post/"
},
"publisher": {
"@type": "Organization",
"name": "PyteDev Blog",
"logo": {
"@type": "ImageObject",
"url": "https://pyte.dev/favicon.ico"
}
}
}
</script>
</head> </head>
<body class="" id="top"> <body class="" id="top">
@@ -82,7 +155,7 @@ This blog is a space to share knowledge, troubleshoot common issues, and explore
<header class="header"> <header class="header">
<nav class="nav"> <nav class="nav">
<div class="logo"> <div class="logo">
<a href="//localhost:1313/" accesskey="h" title="PyteDev Blog (Alt + H)">PyteDev Blog</a> <a href="https://pyte.dev/" accesskey="h" title="PyteDev Blog (Alt + H)">PyteDev Blog</a>
<div class="logo-switches"> <div class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)" aria-label="Toggle theme"> <button id="theme-toggle" accesskey="t" title="(Alt + T)" aria-label="Toggle theme">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24" <svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
@@ -108,17 +181,17 @@ This blog is a space to share knowledge, troubleshoot common issues, and explore
</div> </div>
<ul id="menu"> <ul id="menu">
<li> <li>
<a href="//localhost:1313/" title="Home"> <a href="https://pyte.dev/" title="Home">
<span>Home</span> <span>Home</span>
</a> </a>
</li> </li>
<li> <li>
<a href="//localhost:1313/posts/" title="Blog"> <a href="https://pyte.dev/posts/" title="Blog">
<span>Blog</span> <span>Blog</span>
</a> </a>
</li> </li>
<li> <li>
<a href="//localhost:1313/search/" title="Search"> <a href="https://pyte.dev/search/" title="Search">
<span>Search</span> <span>Search</span>
</a> </a>
</li> </li>
@@ -132,12 +205,6 @@ This blog is a space to share knowledge, troubleshoot common issues, and explore
<h1 class="post-title entry-hint-parent"> <h1 class="post-title entry-hint-parent">
Introduction Introduction
<span class="entry-hint" title="Draft">
<svg xmlns="http://www.w3.org/2000/svg" height="35" viewBox="0 -960 960 960" fill="currentColor">
<path
d="M160-410v-60h300v60H160Zm0-165v-60h470v60H160Zm0-165v-60h470v60H160Zm360 580v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q9 9 13 20t4 22q0 11-4.5 22.5T862.09-380L643-160H520Zm300-263-37-37 37 37ZM580-220h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z" />
</svg>
</span>
</h1> </h1>
<div class="post-meta"><span title='2025-05-11 20:13:49 +0200 CEST'>May 11, 2025</span> <div class="post-meta"><span title='2025-05-11 20:13:49 +0200 CEST'>May 11, 2025</span>
@@ -171,7 +238,7 @@ This blog is a space to share knowledge, troubleshoot common issues, and explore
</main> </main>
<footer class="footer"> <footer class="footer">
<span>&copy; 2025 <a href="//localhost:1313/">PyteDev Blog</a></span> · <span>&copy; 2025 <a href="https://pyte.dev/">PyteDev Blog</a></span> ·
<span> <span>
Powered by Powered by
Regular → Executable
+3 -3
View File
@@ -1,10 +1,10 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en-us"> <html lang="en-us">
<head> <head>
<title>//localhost:1313/posts/</title> <title>https://pyte.dev/posts/</title>
<link rel="canonical" href="//localhost:1313/posts/"> <link rel="canonical" href="https://pyte.dev/posts/">
<meta name="robots" content="noindex"> <meta name="robots" content="noindex">
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="refresh" content="0; url=//localhost:1313/posts/"> <meta http-equiv="refresh" content="0; url=https://pyte.dev/posts/">
</head> </head>
</html> </html>
Regular → Executable
View File

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Regular → Executable
+68 -15
View File
@@ -1,24 +1,24 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" dir="auto"> <html lang="en" dir="auto">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script><meta charset="utf-8"> <head><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <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="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="noindex, nofollow"> <meta name="robots" content="index, follow">
<title>Search | PyteDev Blog</title> <title>Search | PyteDev Blog</title>
<meta name="keywords" content=""> <meta name="keywords" content="">
<meta name="description" content="Search for a specific post or topic"> <meta name="description" content="Search for a specific post or topic">
<meta name="author" content=""> <meta name="author" content="">
<link rel="canonical" href="//localhost:1313/search/"> <link rel="canonical" href="https://pyte.dev/search/">
<link crossorigin="anonymous" href="/assets/css/stylesheet.f49d66caae9ea0fd43f21f29e71a8d3e284517ed770f2aa86fa012953ad3c9ef.css" integrity="sha256-9J1myq6eoP1D8h8p5xqNPihFF&#43;13Dyqob6ASlTrTye8=" rel="preload stylesheet" as="style"> <link crossorigin="anonymous" href="/assets/css/stylesheet.f49d66caae9ea0fd43f21f29e71a8d3e284517ed770f2aa86fa012953ad3c9ef.css" integrity="sha256-9J1myq6eoP1D8h8p5xqNPihFF&#43;13Dyqob6ASlTrTye8=" rel="preload stylesheet" as="style">
<link rel="icon" href="//localhost:1313/favicon.ico"> <link rel="icon" href="https://pyte.dev/favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="//localhost:1313/favicon-16x16.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://pyte.dev/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="//localhost:1313/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="32x32" href="https://pyte.dev/favicon-32x32.png">
<link rel="apple-touch-icon" href="//localhost:1313/apple-touch-icon.png"> <link rel="apple-touch-icon" href="https://pyte.dev/apple-touch-icon.png">
<link rel="mask-icon" href="//localhost:1313/safari-pinned-tab.svg"> <link rel="mask-icon" href="https://pyte.dev/safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33"> <meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33"> <meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" hreflang="en" href="//localhost:1313/search/"> <link rel="alternate" hreflang="en" href="https://pyte.dev/search/">
<noscript> <noscript>
<style> <style>
#theme-toggle, #theme-toggle,
@@ -55,7 +55,60 @@
} }
</style> </style>
</noscript> </noscript><meta property="og:url" content="https://pyte.dev/search/">
<meta property="og:site_name" content="PyteDev Blog">
<meta property="og:title" content="Search">
<meta property="og:description" content="Search for a specific post or topic">
<meta property="og:locale" content="en-us">
<meta property="og:type" content="article">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Search">
<meta name="twitter:description" content="Search for a specific post or topic">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1 ,
"name": "Search",
"item": "https://pyte.dev/search/"
}
]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Search",
"name": "Search",
"description": "Search for a specific post or topic",
"keywords": [
],
"articleBody": " ",
"wordCount" : "0",
"inLanguage": "en",
"datePublished": "0001-01-01T00:00:00Z",
"dateModified": "0001-01-01T00:00:00Z",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://pyte.dev/search/"
},
"publisher": {
"@type": "Organization",
"name": "PyteDev Blog",
"logo": {
"@type": "ImageObject",
"url": "https://pyte.dev/favicon.ico"
}
}
}
</script>
</head> </head>
<body class="" id="top"> <body class="" id="top">
@@ -73,7 +126,7 @@
<header class="header"> <header class="header">
<nav class="nav"> <nav class="nav">
<div class="logo"> <div class="logo">
<a href="//localhost:1313/" accesskey="h" title="PyteDev Blog (Alt + H)">PyteDev Blog</a> <a href="https://pyte.dev/" accesskey="h" title="PyteDev Blog (Alt + H)">PyteDev Blog</a>
<div class="logo-switches"> <div class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)" aria-label="Toggle theme"> <button id="theme-toggle" accesskey="t" title="(Alt + T)" aria-label="Toggle theme">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24" <svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
@@ -99,17 +152,17 @@
</div> </div>
<ul id="menu"> <ul id="menu">
<li> <li>
<a href="//localhost:1313/" title="Home"> <a href="https://pyte.dev/" title="Home">
<span>Home</span> <span>Home</span>
</a> </a>
</li> </li>
<li> <li>
<a href="//localhost:1313/posts/" title="Blog"> <a href="https://pyte.dev/posts/" title="Blog">
<span>Blog</span> <span>Blog</span>
</a> </a>
</li> </li>
<li> <li>
<a href="//localhost:1313/search/" title="Search"> <a href="https://pyte.dev/search/" title="Search">
<span class="active">Search</span> <span class="active">Search</span>
</a> </a>
</li> </li>
@@ -153,7 +206,7 @@
</main> </main>
<footer class="footer"> <footer class="footer">
<span>&copy; 2025 <a href="//localhost:1313/">PyteDev Blog</a></span> · <span>&copy; 2025 <a href="https://pyte.dev/">PyteDev Blog</a></span> ·
<span> <span>
Powered by Powered by
Regular → Executable
+6 -6
View File
@@ -2,19 +2,19 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml"> xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url> <url>
<loc>//localhost:1313/posts/my-first-post/</loc> <loc>https://pyte.dev/posts/my-first-post/</loc>
<lastmod>2025-05-11T20:13:49+02:00</lastmod> <lastmod>2025-05-11T20:13:49+02:00</lastmod>
</url><url> </url><url>
<loc>//localhost:1313/posts/</loc> <loc>https://pyte.dev/posts/</loc>
<lastmod>2025-05-11T20:13:49+02:00</lastmod> <lastmod>2025-05-11T20:13:49+02:00</lastmod>
</url><url> </url><url>
<loc>//localhost:1313/</loc> <loc>https://pyte.dev/</loc>
<lastmod>2025-05-11T20:13:49+02:00</lastmod> <lastmod>2025-05-11T20:13:49+02:00</lastmod>
</url><url> </url><url>
<loc>//localhost:1313/categories/</loc> <loc>https://pyte.dev/categories/</loc>
</url><url> </url><url>
<loc>//localhost:1313/search/</loc> <loc>https://pyte.dev/search/</loc>
</url><url> </url><url>
<loc>//localhost:1313/tags/</loc> <loc>https://pyte.dev/tags/</loc>
</url> </url>
</urlset> </urlset>
Regular → Executable
+24 -16
View File
@@ -1,25 +1,25 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" dir="auto"> <html lang="en" dir="auto">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script><meta charset="utf-8"> <head><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <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="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="noindex, nofollow"> <meta name="robots" content="index, follow">
<title>Tags | PyteDev Blog</title> <title>Tags | PyteDev Blog</title>
<meta name="keywords" content=""> <meta name="keywords" content="">
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
<link rel="canonical" href="//localhost:1313/tags/"> <link rel="canonical" href="https://pyte.dev/tags/">
<link crossorigin="anonymous" href="/assets/css/stylesheet.f49d66caae9ea0fd43f21f29e71a8d3e284517ed770f2aa86fa012953ad3c9ef.css" integrity="sha256-9J1myq6eoP1D8h8p5xqNPihFF&#43;13Dyqob6ASlTrTye8=" rel="preload stylesheet" as="style"> <link crossorigin="anonymous" href="/assets/css/stylesheet.f49d66caae9ea0fd43f21f29e71a8d3e284517ed770f2aa86fa012953ad3c9ef.css" integrity="sha256-9J1myq6eoP1D8h8p5xqNPihFF&#43;13Dyqob6ASlTrTye8=" rel="preload stylesheet" as="style">
<link rel="icon" href="//localhost:1313/favicon.ico"> <link rel="icon" href="https://pyte.dev/favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="//localhost:1313/favicon-16x16.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://pyte.dev/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="//localhost:1313/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="32x32" href="https://pyte.dev/favicon-32x32.png">
<link rel="apple-touch-icon" href="//localhost:1313/apple-touch-icon.png"> <link rel="apple-touch-icon" href="https://pyte.dev/apple-touch-icon.png">
<link rel="mask-icon" href="//localhost:1313/safari-pinned-tab.svg"> <link rel="mask-icon" href="https://pyte.dev/safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33"> <meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33"> <meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" type="application/rss+xml" href="//localhost:1313/tags/index.xml"> <link rel="alternate" type="application/rss+xml" href="https://pyte.dev/tags/index.xml">
<link rel="alternate" hreflang="en" href="//localhost:1313/tags/"> <link rel="alternate" hreflang="en" href="https://pyte.dev/tags/">
<noscript> <noscript>
<style> <style>
#theme-toggle, #theme-toggle,
@@ -56,7 +56,15 @@
} }
</style> </style>
</noscript> </noscript><meta property="og:url" content="https://pyte.dev/tags/">
<meta property="og:site_name" content="PyteDev Blog">
<meta property="og:title" content="Tags">
<meta property="og:locale" content="en-us">
<meta property="og:type" content="website">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Tags">
<meta name="twitter:description" content="">
</head> </head>
<body class="list" id="top"> <body class="list" id="top">
@@ -74,7 +82,7 @@
<header class="header"> <header class="header">
<nav class="nav"> <nav class="nav">
<div class="logo"> <div class="logo">
<a href="//localhost:1313/" accesskey="h" title="PyteDev Blog (Alt + H)">PyteDev Blog</a> <a href="https://pyte.dev/" accesskey="h" title="PyteDev Blog (Alt + H)">PyteDev Blog</a>
<div class="logo-switches"> <div class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)" aria-label="Toggle theme"> <button id="theme-toggle" accesskey="t" title="(Alt + T)" aria-label="Toggle theme">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24" <svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
@@ -100,17 +108,17 @@
</div> </div>
<ul id="menu"> <ul id="menu">
<li> <li>
<a href="//localhost:1313/" title="Home"> <a href="https://pyte.dev/" title="Home">
<span>Home</span> <span>Home</span>
</a> </a>
</li> </li>
<li> <li>
<a href="//localhost:1313/posts/" title="Blog"> <a href="https://pyte.dev/posts/" title="Blog">
<span>Blog</span> <span>Blog</span>
</a> </a>
</li> </li>
<li> <li>
<a href="//localhost:1313/search/" title="Search"> <a href="https://pyte.dev/search/" title="Search">
<span>Search</span> <span>Search</span>
</a> </a>
</li> </li>
@@ -127,7 +135,7 @@
</main> </main>
<footer class="footer"> <footer class="footer">
<span>&copy; 2025 <a href="//localhost:1313/">PyteDev Blog</a></span> · <span>&copy; 2025 <a href="https://pyte.dev/">PyteDev Blog</a></span> ·
<span> <span>
Powered by Powered by
Regular → Executable
+2 -2
View File
@@ -2,10 +2,10 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel> <channel>
<title>Tags on PyteDev Blog</title> <title>Tags on PyteDev Blog</title>
<link>//localhost:1313/tags/</link> <link>https://pyte.dev/tags/</link>
<description>Recent content in Tags on PyteDev Blog</description> <description>Recent content in Tags on PyteDev Blog</description>
<generator>Hugo -- 0.147.2</generator> <generator>Hugo -- 0.147.2</generator>
<language>en-us</language> <language>en-us</language>
<atom:link href="//localhost:1313/tags/index.xml" rel="self" type="application/rss+xml" /> <atom:link href="https://pyte.dev/tags/index.xml" rel="self" type="application/rss+xml" />
</channel> </channel>
</rss> </rss>