Switch to gruvbox theme
149
public/404.html
@@ -1,168 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html><head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"><title>About - davegallant</title><link rel="icon" type="image/png" href=https://davegallant.ca/favicon.ico /><meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="I’m a software tinkerer with a passion for infrastructure, tooling, security, and coffee.
|
||||
Feel free to reach out at me@davegallant.ca." />
|
||||
<meta property="og:image" content=""/>
|
||||
<meta property="og:title" content="About" />
|
||||
<meta property="og:description" content="I’m a software tinkerer with a passion for infrastructure, tooling, security, and coffee.
|
||||
Feel free to reach out at me@davegallant.ca." />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:url" content="/about/" /><meta property="article:section" content="" />
|
||||
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary"/>
|
||||
<meta name="twitter:title" content="About"/>
|
||||
<meta name="twitter:description" content="I’m a software tinkerer with a passion for infrastructure, tooling, security, and coffee.
|
||||
Feel free to reach out at me@davegallant.ca."/>
|
||||
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
|
||||
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@1,500&display=swap" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Fira+Sans&display=swap" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
|
||||
|
||||
|
||||
<link rel="stylesheet" type="text/css" media="screen" href="/css/main.5ff68256cc04aa4360600458bf9767c053d7b990cfb09caa0724dd24045068c7.css" />
|
||||
<link id="darkModeStyle" rel="stylesheet" type="text/css" href="/css/dark.d61dc67f7e7db9e2fb71ee6e28efc53086daed613da0bbeb0ef66045420afd17.css" disabled />
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
|
||||
</script>
|
||||
|
||||
|
||||
<script type="text/x-mathjax-config">
|
||||
MathJax.Hub.Config({
|
||||
tex2jax: {
|
||||
inlineMath: [['$','$'], ['\\(','\\)']],
|
||||
displayMath: [['$$','$$'], ['\[','\]']],
|
||||
processEscapes: true,
|
||||
processEnvironments: true,
|
||||
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
|
||||
TeX: { equationNumbers: { autoNumber: "AMS" },
|
||||
extensions: ["AMSmath.js", "AMSsymbols.js"] }
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css">
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js"></script>
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" onload="renderMathInElement(document.body);"></script>
|
||||
|
||||
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
renderMathInElement(document.body, {
|
||||
delimiters: [
|
||||
{left: "$$", right: "$$", display: true},
|
||||
{left: "$", right: "$", display: false}
|
||||
]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/css/custom.d96bfb9e3314a7699144ab6ae7331d424cbd7fb34a2e890b17e7bb7db4e30f3a.css">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="content"><header>
|
||||
<div class="main">
|
||||
<a href="/">davegallant</a>
|
||||
</div>
|
||||
<nav>
|
||||
|
||||
<a href="/">Posts</a>
|
||||
|
||||
<a href="/about">About</a>
|
||||
|
||||
<a href="/index.xml">RSS</a>
|
||||
</nav>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="https://storage.ko-fi.com/cdn/widget/Widget_2.js"
|
||||
></script>
|
||||
<span id="dark-mode-toggle" onclick="toggleTheme()"></span>
|
||||
<script src="/js/themetoggle.js"></script>
|
||||
|
||||
|
||||
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<article>
|
||||
<div class="title">
|
||||
<h1 class="title">About</h1>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<section class="body"><p>I’m a software tinkerer with a passion for infrastructure, tooling, security, and coffee.</p>
|
||||
<p>Feel free to reach out at <a href="mailto:me@davegallant.ca">me@davegallant.ca</a>.</p>
|
||||
</section>
|
||||
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="https://storage.ko-fi.com/cdn/widget/Widget_2.js"
|
||||
></script>
|
||||
<script type="text/javascript">
|
||||
kofiwidget2.init("Buy me a coffee", "#a15bc2", "F1F2S4LWI");
|
||||
kofiwidget2.draw();
|
||||
</script>
|
||||
|
||||
|
||||
<div class="post-tags">
|
||||
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<script src="https://storage.ko-fi.com/cdn/scripts/overlay-widget.js"></script>
|
||||
<div style="display: flex"><a class="soc" href="mailto:me@davegallant.ca" rel="me" title="Email"
|
||||
><i data-feather="at-sign"></i
|
||||
></a>
|
||||
<a class="border"></a><a class="soc" href="https://linktr.ee/davegallant" rel="me" title="LinkTree"
|
||||
><i data-feather="compass"></i
|
||||
></a>
|
||||
<a class="border"></a><a class="soc" href="https://github.com/davegallant" rel="me" title="GitHub"
|
||||
><i data-feather="github"></i
|
||||
></a>
|
||||
<a class="border"></a><a class="soc" href="https://mastodon.social/@davegallant" rel="me" title="Mastodon"
|
||||
><i data-feather="speaker"></i
|
||||
></a>
|
||||
<a class="border"></a><a class="soc" href="https://www.linkedin.com/in/dave-gallant/" rel="me" title="LinkedIn"
|
||||
><i data-feather="linkedin"></i
|
||||
></a>
|
||||
<a class="border"></a></div>
|
||||
<div class="footer-info">
|
||||
2023 Dave Gallant
|
||||
</div>
|
||||
|
||||
</footer>
|
||||
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V8WJDERTX9"></script>
|
||||
<script>
|
||||
var doNotTrack = false;
|
||||
if (!doNotTrack) {
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'G-V8WJDERTX9', { 'anonymize_ip': false });
|
||||
}
|
||||
</script>
|
||||
|
||||
<script>
|
||||
feather.replace();
|
||||
</script></div>
|
||||
</body>
|
||||
</html>
|
BIN
public/android-chrome-192x192.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
public/android-chrome-512x512.png
Normal file
After Width: | Height: | Size: 9.6 KiB |
BIN
public/apple-touch-icon.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 7.5 KiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 79 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 7.4 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 4.4 KiB |
After Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 7.3 KiB |
After Width: | Height: | Size: 7.4 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 7.9 KiB |
After Width: | Height: | Size: 8.6 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 9.4 KiB |
After Width: | Height: | Size: 7.7 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 8.4 KiB |
After Width: | Height: | Size: 7.7 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 8.6 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 45 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 68 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 9.1 KiB |
After Width: | Height: | Size: 149 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 248 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 8.4 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 7.3 KiB |
9
public/browserconfig.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<browserconfig>
|
||||
<msapplication>
|
||||
<tile>
|
||||
<square150x150logo src="/mstile-150x150.png"/>
|
||||
<TileColor>#282828</TileColor>
|
||||
</tile>
|
||||
</msapplication>
|
||||
</browserconfig>
|
@@ -1,12 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Categories on davegallant</title>
|
||||
<link>/categories/</link>
|
||||
<description>Recent content in Categories on davegallant</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<copyright>Dave Gallant</copyright>
|
||||
<atom:link href="/categories/index.xml" rel="self" type="application/rss+xml" />
|
||||
</channel>
|
||||
</rss>
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Categories on</title><link>https://davegallant.ca/categories/</link><description>Recent content in Categories on</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>Dave Gallant</copyright><atom:link href="https://davegallant.ca/categories/index.xml" rel="self" type="application/rss+xml"/></channel></rss>
|
2
public/categories/page/1/index.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<!doctype html><html lang=en-us><head><title>https://davegallant.ca/categories/</title>
|
||||
<link rel=canonical href=https://davegallant.ca/categories/><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=https://davegallant.ca/categories/"></head></html>
|
0
public/css/.gitkeep
Normal file
1
public/css/copy-code-button.min.css
vendored
@@ -1 +0,0 @@
|
||||
.highlight-wrapper{display:block}.highlight-wrapper .lntd pre{padding:0}.chroma .lntd pre{border:0 solid #ccc}.chroma .lntd:first-child{padding:7px 7px 7px 10px;margin:0}.chroma .lntd:last-child{padding:7px 10px 7px 7px;margin:0}.highlight{position:relative;z-index:0;padding:0;margin:40px 0 10px;border-radius:4px}.highlight>.chroma{position:static;z-index:1;border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px;border-bottom-right-radius:4px;padding:10px}.copy-code-button{position:absolute;z-index:2;right:0;top:-29px;font-size:13px;font-weight:700;line-height:14px;letter-spacing:.5px;width:65px;color:#fff;background-color:#000;border:1.25px solid #232326;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0;white-space:nowrap;padding:6px 6px 7px;margin:0 0 0 1px;cursor:pointer;opacity:.6}.copy-code-button:hover,.copy-code-button:focus,.copy-code-button:active,.copy-code-button:active:hover{color:#222225;background-color:#b3b3b3;opacity:.8}.copyable-text-area{position:absolute;height:0;z-index:-1;opacity:.01}.chroma [data-lang]:before{position:absolute;z-index:0;top:-29px;left:0;content:attr(data-lang);font-size:13px;font-weight:700;color:#fff;background-color:#000;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-left-radius:0;border-bottom-right-radius:0;padding:6px 6px 7px;line-height:14px;opacity:.6;position:absolute;letter-spacing:.5px;border:1.25px solid #232326;margin:0 0 0 1px}
|
@@ -1,15 +0,0 @@
|
||||
.hanchor {
|
||||
visibility: hidden;
|
||||
color: silver;
|
||||
font-size: 100%;
|
||||
transition: 0.2s;
|
||||
padding-left: 8px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
h2:hover a,
|
||||
h3:hover a,
|
||||
h4:hover a {
|
||||
visibility: visible;
|
||||
text-decoration: none;
|
||||
}
|
@@ -1,153 +0,0 @@
|
||||
body {
|
||||
color: white;
|
||||
background-color: #202124;
|
||||
}
|
||||
|
||||
::-moz-selection {
|
||||
background: blue;
|
||||
color: #fff;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
::selection {
|
||||
background: rgb(212, 240, 32);
|
||||
color: #000000;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
hr {
|
||||
border-top: 3px dotted blue;
|
||||
}
|
||||
code {
|
||||
background-color: rgb(184, 189, 190);
|
||||
color: black;
|
||||
text-decoration: bold;
|
||||
padding: 0em 0.1em;
|
||||
}
|
||||
pre {
|
||||
background-color: #272822;
|
||||
line-height: 1.4;
|
||||
overflow-x: auto;
|
||||
padding: 1em;
|
||||
}
|
||||
blockquote {
|
||||
border-color: #ddd;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
color: #ddd;
|
||||
}
|
||||
h1::before {
|
||||
color: var(--darkMaincolor);
|
||||
}
|
||||
h2::before {
|
||||
color: var(--darkMaincolor);
|
||||
}
|
||||
h3::before {
|
||||
color: var(--darkMaincolor);
|
||||
}
|
||||
h4::before {
|
||||
color: var(--darkMaincolor);
|
||||
}
|
||||
h5::before {
|
||||
color: var(--darkMaincolor);
|
||||
}
|
||||
h6::before {
|
||||
color: var(--darkMaincolor);
|
||||
}
|
||||
|
||||
a {
|
||||
border-bottom: 3px solid var(--darkMaincolor);
|
||||
color: inherit;
|
||||
}
|
||||
a:hover {
|
||||
background-color: var(--darkMaincolor);
|
||||
color: black;
|
||||
}
|
||||
|
||||
.site-description a {
|
||||
color: #ddd;
|
||||
}
|
||||
.site-description a:hover {
|
||||
color: black;
|
||||
}
|
||||
|
||||
.tags a {
|
||||
border-bottom: 3px solid var(--darkMaincolor);
|
||||
}
|
||||
.tags a:hover {
|
||||
background-color: var(--darkMaincolor);
|
||||
color: black;
|
||||
}
|
||||
|
||||
.site-title a {
|
||||
color: white;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
.header nav,
|
||||
.footer {
|
||||
border-color: #333;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
background-color: #333;
|
||||
}
|
||||
.soc:hover {
|
||||
color: black;
|
||||
}
|
||||
.draft-label {
|
||||
color: var(--darkMaincolor);
|
||||
background-color: blue;
|
||||
}
|
||||
.highlight pre code[class="language-javaScript"]::before,
|
||||
.highlight pre code[class="language-js"]::before {
|
||||
content: "js";
|
||||
background: #f7df1e;
|
||||
color: black;
|
||||
}
|
||||
.highlight pre code[class*="language-yml"]::before,
|
||||
.highlight pre code[class*="language-yaml"]::before {
|
||||
content: "yaml";
|
||||
background: #f71e6a;
|
||||
color: white;
|
||||
}
|
||||
.highlight pre code[class*="language-shell"]::before,
|
||||
.highlight pre code[class*="language-bash"]::before,
|
||||
.highlight pre code[class*="language-sh"]::before {
|
||||
content: "shell";
|
||||
background: rgb(118, 137, 118);
|
||||
color: white;
|
||||
}
|
||||
.highlight pre code[class*="language-json"]::before {
|
||||
content: "json";
|
||||
background: dodgerblue;
|
||||
color: #000000;
|
||||
}
|
||||
.highlight pre code[class*="language-python"]::before,
|
||||
.highlight pre code[class*="language-py"]::before {
|
||||
content: "py";
|
||||
background: blue;
|
||||
color: yellow;
|
||||
}
|
||||
.highlight pre code[class*="language-css"]::before {
|
||||
content: "css";
|
||||
background: cyan;
|
||||
color: black;
|
||||
}
|
||||
.highlight pre code[class*="language-go"]::before {
|
||||
content: "Go";
|
||||
background: cyan;
|
||||
color: royalblue;
|
||||
}
|
||||
.highlight pre code[class*="language-md"]::before,
|
||||
.highlight pre code[class*="language-md"]::before {
|
||||
content: "Markdown";
|
||||
background: royalblue;
|
||||
color: whitesmoke;
|
||||
}
|