Compare commits
13 Commits
2e34ac9ac4
...
537c1b3d3b
Author | SHA1 | Date | |
---|---|---|---|
|
537c1b3d3b | ||
|
d06628d503 | ||
|
8af61db534 | ||
|
3b8e125d80 | ||
|
92b0f948be | ||
|
aa31beb01c | ||
|
028defa959 | ||
|
8683d699e1 | ||
|
58ebcc7de5 | ||
|
d2d24269ef | ||
|
92f44ed248 | ||
|
0da424dd19 | ||
|
789cae3baa |
43
.github/workflows/publish.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
name: Publish Hugo Site
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
name: Publish Hugo Site
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "18"
|
||||
cache: "npm"
|
||||
# The action defaults to search for the dependency file (package-lock.json,
|
||||
# npm-shrinkwrap.json or yarn.lock) in the repository root, and uses its
|
||||
# hash as a part of the cache key.
|
||||
# https://github.com/actions/setup-node/blob/main/docs/advanced-usage.md#caching-packages-data
|
||||
cache-dependency-path: "**/package-lock.json"
|
||||
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v2
|
||||
with:
|
||||
hugo-version: "0.121.1"
|
||||
extended: true
|
||||
|
||||
- run: npm ci
|
||||
- run: hugo --minify
|
||||
|
||||
- name: Deploy to GitHub Pages
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
2
.gitignore
vendored
@@ -111,3 +111,5 @@ dist
|
||||
.svelte-kit
|
||||
|
||||
# End of https://www.toptal.com/developers/gitignore/api/hugo,node
|
||||
|
||||
public/
|
||||
|
41
config.yaml
@@ -1,7 +1,9 @@
|
||||
baseurl: "https://davegallant.ca"
|
||||
languageCode: en-us
|
||||
baseURL: /
|
||||
googleAnalytics: G-V8WJDERTX9
|
||||
copyright: Dave Gallant
|
||||
enableGitInfo: true
|
||||
enableRobotsTXT: true
|
||||
noJSConfigInAssets: true
|
||||
|
||||
params:
|
||||
author: Dave Gallant
|
||||
@@ -12,6 +14,8 @@ params:
|
||||
text: davegallant.ca
|
||||
url: /
|
||||
|
||||
defaultTheme: "dark"
|
||||
|
||||
comments:
|
||||
utterances:
|
||||
enable: true
|
||||
@@ -20,6 +24,27 @@ params:
|
||||
username: davegallant
|
||||
repository: davegallant.github.io
|
||||
|
||||
prism:
|
||||
languages:
|
||||
- markup
|
||||
- css
|
||||
- clike
|
||||
- javascript
|
||||
- bash
|
||||
- csharp
|
||||
- hcl
|
||||
- ignore
|
||||
- json
|
||||
- markdown
|
||||
- powershell
|
||||
- toml
|
||||
- yaml
|
||||
plugins:
|
||||
- normalize-whitespace
|
||||
- toolbar
|
||||
- copy-to-clipboard
|
||||
- command-line
|
||||
|
||||
menu:
|
||||
main:
|
||||
- name: RSS
|
||||
@@ -29,10 +54,22 @@ menu:
|
||||
permalinks:
|
||||
post: "/blog/:year/:month/:day/:slug/"
|
||||
|
||||
markup:
|
||||
goldmark:
|
||||
renderer:
|
||||
unsafe: true
|
||||
|
||||
module:
|
||||
imports:
|
||||
- path: github.com/davegallant/hugo-theme-gruvbox
|
||||
- path: github.com/schnerring/hugo-mod-json-resume
|
||||
mounts:
|
||||
- source: data
|
||||
target: data
|
||||
- source: layouts
|
||||
target: layouts
|
||||
- source: assets/css/json-resume.css
|
||||
target: assets/css/critical/44-json-resume.css
|
||||
mounts:
|
||||
- source: node_modules/simple-icons/icons
|
||||
target: assets/simple-icons
|
||||
|
@@ -4,7 +4,7 @@ date: 2022-03-13T18:49:10-04:00
|
||||
lastmod: 2022-03-13T18:49:10-04:00
|
||||
comments: true
|
||||
draft: false
|
||||
tags: ["degoogle", "synology", "gmail", "backup", "ransomware"]
|
||||
tags: ["synology", "gmail", "backup", "ransomware"]
|
||||
---
|
||||
|
||||
I've used gmail since the beta launched touting a whopping 1GB of storage. I thought this was a massive leap in email technology at the time. I was lucky enough to get an invite fairly quickly. Not suprisingly, I have many years of emails, attachments, and photos. I certainly do not want to lose the content of many of these emails. Despite the redundancy of the data that Google secures, I still feel better retaining a copy of this data on my own physical machines.
|
||||
|
@@ -11,7 +11,7 @@ There are a number of reasons why you might want to replace docker, especially o
|
||||
|
||||
<!--more-->
|
||||
|
||||
{{< tweet 1388586550682861568 >}}
|
||||
{{< tweet user="moyix" id="1388586550682861568" >}}
|
||||
|
||||
Docker has been one of the larger influencers in the container world, helping to standardize the [OCI Image Format Specification](https://github.com/opencontainers/image-spec/blob/main/spec.md). For many developers, containers have become synonymous with terms like `docker` and `Dockerfile` (a file containing build instructions for a container image). Docker has certainly made it very convenient to build and run containers, but it is not the only solution for doing so.
|
||||
|
||||
|
@@ -7,7 +7,6 @@ comments: true
|
||||
tags:
|
||||
[
|
||||
"invidious",
|
||||
"degoogle",
|
||||
"youtube",
|
||||
"yewtu.be",
|
||||
"tailscale",
|
||||
|
@@ -5,6 +5,7 @@ lastmod: 2021-09-06T01:12:54-04:00
|
||||
draft: false
|
||||
comments: true
|
||||
author: "Dave Gallant"
|
||||
tags: ["self-hosted", "proxmox", "tailscale"]
|
||||
---
|
||||
|
||||
A homelab can be an inexpensive way to host a multitude of internal/external services and learn _a lot_ in the process.
|
||||
|
@@ -1,10 +1,9 @@
|
||||
{
|
||||
"basics": {
|
||||
"name": "Dave Gallant",
|
||||
"label": "Software Engineer",
|
||||
"image": "",
|
||||
"email": "me@davegallant.ca",
|
||||
"summary": "I'm a software tinkerer passionate about infra, security and self-hosting 👋.",
|
||||
"summary": "👋 I'm a software tinkerer with a passion for infra, security and self-hosting.",
|
||||
"profiles": [
|
||||
{
|
||||
"network": "LinkTree",
|
||||
|
5
go.mod
@@ -1,9 +1,8 @@
|
||||
module davegallant.github.io
|
||||
|
||||
go 1.21.5
|
||||
go 1.21
|
||||
|
||||
require (
|
||||
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102030224-3e3d39381e83 // indirect
|
||||
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102202609-f31cb2b5c2f4 // indirect
|
||||
github.com/schnerring/hugo-mod-json-resume v0.0.0-20231224014047-e651a547c19a // indirect
|
||||
github.com/schnerring/hugo-theme-gruvbox v0.0.0-20231222001142-c40bfccc26fe // indirect
|
||||
)
|
||||
|
18
go.sum
@@ -1,6 +1,16 @@
|
||||
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102030224-3e3d39381e83 h1:1K2zeS/GlzUztodRODqVdT0L53So3oKQl2W6xv3hk3k=
|
||||
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102030224-3e3d39381e83/go.mod h1:BQehNdf/SB/+bCc031OVsLECIgB9ZaN1dfUFKTeOIuo=
|
||||
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102155230-cac2894e8557 h1:rXYdDcfrr/E2k2o3nnuLE6BmDw8K+JSs8hHFCLKzJGo=
|
||||
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102155230-cac2894e8557/go.mod h1:BQehNdf/SB/+bCc031OVsLECIgB9ZaN1dfUFKTeOIuo=
|
||||
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102171330-adc30b08067a h1:muPaq+6iMPFeTPhq7aD1RgAyzpJKEZdAZa+HEX/fDAY=
|
||||
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102171330-adc30b08067a/go.mod h1:BQehNdf/SB/+bCc031OVsLECIgB9ZaN1dfUFKTeOIuo=
|
||||
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102171826-d67d7957b276 h1:YS3mESQh4CBWBF5ubgDxcGlGod+ZgaNorFYu8ZiB/zY=
|
||||
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102171826-d67d7957b276/go.mod h1:BQehNdf/SB/+bCc031OVsLECIgB9ZaN1dfUFKTeOIuo=
|
||||
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102200159-9a3d1dc7bc54 h1:7FzV8p/mlirxME4/V+KRsQp7QxucKV3f3Uj3kqxI37A=
|
||||
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102200159-9a3d1dc7bc54/go.mod h1:BQehNdf/SB/+bCc031OVsLECIgB9ZaN1dfUFKTeOIuo=
|
||||
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102200650-e760163af723 h1:DiYyh60x4rLMDiYTSPGtYnBKLJRd72OcMuVvc9PkQ6Y=
|
||||
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102200650-e760163af723/go.mod h1:BQehNdf/SB/+bCc031OVsLECIgB9ZaN1dfUFKTeOIuo=
|
||||
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102201014-35cc70be186f h1:qiJX+D0Yn75E1rNnEfprPOVSFam5uwr46xg7vNwe7qY=
|
||||
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102201014-35cc70be186f/go.mod h1:BQehNdf/SB/+bCc031OVsLECIgB9ZaN1dfUFKTeOIuo=
|
||||
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102202609-f31cb2b5c2f4 h1:al0gmkt0SgL67AtSFifzlB4WZEP3Vu+ngLp381XJlkI=
|
||||
github.com/davegallant/hugo-theme-gruvbox v0.0.0-20240102202609-f31cb2b5c2f4/go.mod h1:BQehNdf/SB/+bCc031OVsLECIgB9ZaN1dfUFKTeOIuo=
|
||||
github.com/schnerring/hugo-mod-json-resume v0.0.0-20231224014047-e651a547c19a h1:EZRiOf0iW5k9lycVv3LngzSsGUxDRszYS4U7ea2r8RY=
|
||||
github.com/schnerring/hugo-mod-json-resume v0.0.0-20231224014047-e651a547c19a/go.mod h1:5dixHC0WHu0w2Aqb8hsOCrIU1OBYr1w5Q6HZAmTub7Q=
|
||||
github.com/schnerring/hugo-theme-gruvbox v0.0.0-20231222001142-c40bfccc26fe h1:YFCe/83618UT24IqSn7Ka0TSSZ54BNvDJ7n0WzxWgsg=
|
||||
github.com/schnerring/hugo-theme-gruvbox v0.0.0-20231222001142-c40bfccc26fe/go.mod h1:ZEP0AB4v1k845Jmx9XmOY39CuR7Zud/owFh8wRGgeZg=
|
||||
|
@@ -11,7 +11,7 @@
|
||||
|
||||
{{- $utterancesEnabled := $config.utterances.enable -}}
|
||||
|
||||
{{- if and ( $utterancesEnabled ) -}}
|
||||
{{- if $utterancesEnabled -}}
|
||||
<section id='comments' class='comments'>
|
||||
<div class='container sep-before'>
|
||||
<div class='comments'>
|
||||
|
@@ -7,10 +7,10 @@
|
||||
|
||||
<script>
|
||||
// load utteranc comment
|
||||
var getTheme = window.localStorage && window.localStorage.getItem("theme-storage");
|
||||
getTheme = getTheme == null ? 'light' : getTheme;
|
||||
var getTheme = window.localStorage && window.localStorage.getItem("theme");
|
||||
getTheme = getTheme == null ? 'dark' : getTheme;
|
||||
|
||||
let theme = getTheme === 'dark' ? 'github-dark' : 'github-light';
|
||||
let theme = getTheme === 'dark' ? 'gruvbox-dark' : 'github-light';
|
||||
let s = document.createElement('script');
|
||||
s.src = 'https://utteranc.es/client.js';
|
||||
s.setAttribute('repo', '{{ print $username "/" $repository }}');
|
||||
|
32
package-lock.json
generated
@@ -2253,15 +2253,6 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/dir-glob/node_modules/path-type": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
|
||||
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/doctrine": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
|
||||
@@ -3012,6 +3003,18 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/globby/node_modules/path-type": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz",
|
||||
"integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/globjoin": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz",
|
||||
@@ -4054,15 +4057,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/path-type": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz",
|
||||
"integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==",
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
|
||||
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/picocolors": {
|
||||
|
@@ -1 +0,0 @@
|
||||
davegallant.ca
|
Before Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 157 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 117 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 7.7 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 8.4 KiB |
Before Width: | Height: | Size: 7.7 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 90 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 935 KiB |
Before Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 149 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 248 KiB |