diff options
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | .gitmodules | 3 | ||||
-rw-r--r-- | .hugo_build.lock | 0 | ||||
-rw-r--r-- | archetypes/default.md | 6 | ||||
-rw-r--r-- | assets/images/calvin_and_hobbes.jpg | bin | 0 -> 263427 bytes | |||
-rw-r--r-- | content/_index.md | 4 | ||||
-rw-r--r-- | content/about/index.md | 29 | ||||
-rw-r--r-- | content/posts/_index.md | 4 | ||||
-rwxr-xr-x | deploy.sh | 5 | ||||
-rw-r--r-- | flake.lock | 61 | ||||
-rw-r--r-- | flake.nix | 19 | ||||
-rw-r--r-- | hugo.toml | 62 | ||||
-rw-r--r-- | layouts/_default/rss.xml | 39 | ||||
-rw-r--r-- | layouts/partials/footer.html | 34 | ||||
-rw-r--r-- | static/Captain_and_Rainey.jpg | bin | 0 -> 454551 bytes | |||
m--------- | themes/hugo-blog-awesome | 0 |
16 files changed, 268 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7ba0a09 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/public +/resources diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..e84a7c7 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "themes/hugo-blog-awesome"] + path = themes/hugo-blog-awesome + url = https://github.com/hugo-sid/hugo-blog-awesome.git diff --git a/.hugo_build.lock b/.hugo_build.lock new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/.hugo_build.lock diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..8da6978 --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ ++++ +title = '' +description = '' +date = '{{ .Date }}' +draft = true ++++ diff --git a/assets/images/calvin_and_hobbes.jpg b/assets/images/calvin_and_hobbes.jpg Binary files differnew file mode 100644 index 0000000..109590d --- /dev/null +++ b/assets/images/calvin_and_hobbes.jpg diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..621ab40 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,4 @@ ++++ +title = 'Home' +author = 'Tyler Dunneback' ++++ diff --git a/content/about/index.md b/content/about/index.md new file mode 100644 index 0000000..2741bbd --- /dev/null +++ b/content/about/index.md @@ -0,0 +1,29 @@ ++++ +title = 'About' +author = 'Tyler Dunneback' ++++ + +Greetings, my name is Tyler Dunneback! + +I am passionate about decentralization, data sovereignty, and privacy. As a +result, I run a lot of my own infrastructure. You can find the configuration +for my entire home network [here](https://codeberg.org/tdback/nix-config). + +I am a firm believer in automating away the boring things in life, keeping +things simple, and embracing the +[three virtues of a great programmer](https://thethreevirtues.com/). + +I enjoy learning new programming languages and working on open source projects. +I am currently interested in learning more about low-level programming - such as +operating system development - and developing +[TUIs](https://en.wikipedia.org/wiki/Text-based_user_interface). + +You can find my current and past projects on +[Codeberg](https://codeberg.org/tdback). In fact, you can view all of the +source code for this site in its +[git repository](https://codeberg.org/tdback/website). + +When away from the keyboard, I enjoy spending time with my beautiful wife and +our two labs Captain and Rainey. + +![Captain and Rainey](/Captain_and_Rainey.jpg) diff --git a/content/posts/_index.md b/content/posts/_index.md new file mode 100644 index 0000000..d23f2af --- /dev/null +++ b/content/posts/_index.md @@ -0,0 +1,4 @@ ++++ +title = 'Posts' +author = 'Tyler Dunneback' ++++ diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..f705868 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +# deploy.sh: Generate and deploy files to the 'hive' web server. + +hugo && rsync -avz --delete public/ hive:/var/www/tdback.net/ diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..f3d280c --- /dev/null +++ b/flake.lock @@ -0,0 +1,61 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1733940404, + "narHash": "sha256-Pj39hSoUA86ZePPF/UXiYHHM7hMIkios8TYG29kQT4g=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "5d67ea6b4b63378b9c13be21e2ec9d1afc921713", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..857f4fe --- /dev/null +++ b/flake.nix @@ -0,0 +1,19 @@ +{ + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + }; + + outputs = { ... }@inputs: + inputs.flake-utils.lib.eachDefaultSystem (system: + let + pkgs = import inputs.nixpkgs { inherit system; }; + in + { + devShells.default = pkgs.mkShell { + buildInputs = with pkgs; [ + hugo + ]; + }; + }); +} diff --git a/hugo.toml b/hugo.toml new file mode 100644 index 0000000..07e0c3d --- /dev/null +++ b/hugo.toml @@ -0,0 +1,62 @@ +title = 'tdback.net' +baseURL = 'https://tdback.net' +theme = 'hugo-blog-awesome' +languageCode = 'en-us' +defaultContentLanguage = 'en-us' + +[params] + sitename = 'tdbacks blog' + defaultColor = 'auto' + toc = false + tocOpen = false + goToTop = true + dateFormat = '2006-01-02' + mainSections = ['posts'] + rssFeedDescription = 'full' + [params.author] + avatar = 'images/calvin_and_hobbes.jpg' + intro = 'Tyler Dunneback' + description = '*nix hobbyist and avid self-hoster' + name = 'Tyler Dunneback' + [params.webmanifest] + name = 'tdback.net' + display = 'standalone' + [[params.socialIcons]] + name = 'gitea' + url = 'https://codeberg.org/tdback' + [[params.socialIcons]] + name = 'mastodon' + url = 'https://social.tdback.net/@tdback' + [[params.socialIcons]] + name = 'rss' + url = '/index.xml' + +[menus] + [[menus.main]] + pageRef = '/' + name = 'Home' + url = '/' + weight = 10 + [[menus.main]] + pageRef = 'posts' + name = 'Posts' + url = '/posts/' + weight = 20 + [[menus.main]] + pageRef = 'about' + name = 'About' + url = '/about/' + weight = 30 + [[menus.main]] + pageRef = 'rss' + name = 'RSS' + url = '/index.xml' + weight = 40 + +[markup] + [markup.highlight] + noClasses = false + codeFences = true + guessSyntax = true + [markup.goldmark.renderer] + unsafe = true diff --git a/layouts/_default/rss.xml b/layouts/_default/rss.xml new file mode 100644 index 0000000..f5116c6 --- /dev/null +++ b/layouts/_default/rss.xml @@ -0,0 +1,39 @@ +<!-- RSS generation layout overrides. --> +{{- $pages := where .Site.RegularPages "Section" "posts" -}} +{{- $limit := .Site.Config.Services.RSS.Limit -}} +{{- if ge $limit 1 -}} +{{- $pages = $pages | first $limit -}} +{{- end -}} +{{- $rssFeedDescription := .Site.Params.rssFeedDescription | default "summary" -}} +{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }} +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>{{ .Site.Title }} blog</title> + <link>{{ .Permalink }}</link> + <description>Recent content on {{ .Site.Title }}.</description> + <generator>Hugo</generator> + <language>{{ site.Language.LanguageCode }}</language>{{ with .Site.Author.email }} + <managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Author.email }} + <webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with .Site.Copyright }} + <copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }} + <lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }} + {{- with .OutputFormats.Get "RSS" -}} + {{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }} + {{- end -}} + {{ range $pages }} + <item> + <title>{{ .Title }}</title> + <link>{{ .Permalink }}</link> + <pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate> + {{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}} + <guid>{{ .Permalink }}</guid> + {{ if eq $rssFeedDescription "summary"}} + <description>{{ .Summary | html }}</description> + {{ else if (eq $rssFeedDescription "full")}} + <description>{{ .Content | html }}</description> + {{ else }} {{ errorf "Error in RSS feed generation %q" .Path }} + {{ end }} + </item> + {{ end }} + </channel> +</rss> diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 0000000..ca79fa6 --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,34 @@ +<!-- Footer class overrides. --> +<footer class="footer"> + <style> + .craftering { + margin: auto; + width: 50%; + text-align: center; + } + </style> + + <span class="footer_item"> </span> + + + <div class="footer_social-icons"> + {{- partial "socialIcons.html" site.Params.socialIcons -}} + </div> + + <div class="craftering"> + <a href="https://craftering.systemcrafters.net/@tdback/previous">←</a> + <a href="https://craftering.systemcrafters.net/">craftering</a> + <a href="https://craftering.systemcrafters.net/@tdback/next">→</a> + </div> + + <small class="footer_copyright"> + © {{ now.Format "2006" }} {{ .Site.Params.author.name }}. + {{ T "footer.disclaimer" | safeHTML }} + </small> +</footer> + +{{- if .Site.Params.goToTop -}} +<a href="#" title="{{ T "footer.go_to_top" }}" id="totop"> + {{ partial "svgs/arrowUp.svg" (dict "height" 48 "width" 48) . }} +</a> +{{- end -}} diff --git a/static/Captain_and_Rainey.jpg b/static/Captain_and_Rainey.jpg Binary files differnew file mode 100644 index 0000000..5e72f10 --- /dev/null +++ b/static/Captain_and_Rainey.jpg diff --git a/themes/hugo-blog-awesome b/themes/hugo-blog-awesome new file mode 160000 +Subproject 2fc9f474a546dac32277498d6085e49e91713a6 |