This commit is contained in:
ryfrd 2026-02-16 14:49:12 +00:00
parent 4663084e7a
commit c9179e5bfb
19 changed files with 0 additions and 8134 deletions

View file

@ -1,49 +0,0 @@
<!doctype html>
<html lang="en"><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">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="http://localhost:1313/favicon.ico">
<link id="stylesheet" rel="stylesheet" href="/css/light.css">
<link rel="canonical" href="http://localhost:1313/adventures-in-running-headscale-on-nixos/" />
<title>adventures in running headscale on nixos</title>
</head>
<body><header id="banner">
<nav class="navbar">
<a href="http://localhost:1313/" class="home">🏠</a>
<a
href="/info/"
title="👋"
>👋</a
><a
href="/search/"
title="🔎"
>🔎</a
>
<button id="toggle-button" class="toggle-button" onclick="toggleTheme()">🌚</button>
</nav>
</header>
<main id="content">
<article>
<header id="post-header">
<h2>adventures in running headscale on nixos</h2>
<div>
<p>June 25, 2024</p>
</div>
</header></article>
</main>
<footer id="footer">
<small>
made with <a href="https://gohugo.io">hugo</a>
</small>
<script src="/js/search.js"></script>
<script src="/js/toggle.js"></script>
</footer>
</body>
</html>

View file

@ -1,75 +0,0 @@
<!doctype html>
<html lang="en"><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">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="http://localhost:1313/favicon.ico">
<link id="stylesheet" rel="stylesheet" href="/css/light.css">
<link rel="canonical" href="http://localhost:1313/backing-up-nixos-state-with-restic/" />
<title>Backing up nixos state with restic</title>
</head>
<body><header id="banner">
<nav class="navbar">
<a href="http://localhost:1313/" class="home">🏠</a>
<a
href="/info/"
title="👋"
>👋</a
><a
href="/search/"
title="🔎"
>🔎</a
>
<button id="toggle-button" class="toggle-button" onclick="toggleTheme()">🌚</button>
</nav>
</header>
<main id="content">
<article>
<header id="post-header">
<h2>Backing up nixos state with restic</h2>
<div>
<p>February 16, 2026</p>
</div>
</header><p>I&rsquo;m writing this so I can hopefully remember what I did in six months.</p>
<p>As hard as you try to eliminate all state from your computing life with nixos, the fact remains that you can&rsquo;t get rid of all of it.
For example, I run forgejo on my VPS.
Now I have my config which means I could set up a forgejo instance just how I like it if everything went to pot.
But that wouldn&rsquo;t bring back any of the repos I had there previously.</p>
<p>This is the method I cooked up for backing up some of those important bits and bob on my VPS.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-nix" data-lang="nix"><span class="line"><span class="cl"><span class="p">{</span> <span class="n">config</span><span class="o">,</span> <span class="o">...</span> <span class="p">}:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="n">services</span><span class="o">.</span><span class="n">restic</span> <span class="o">=</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="n">backups</span><span class="o">.</span><span class="s2">&#34;hetzner-storage-box&#34;</span> <span class="o">=</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="n">initialize</span> <span class="o">=</span> <span class="no">true</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="n">user</span> <span class="o">=</span> <span class="s2">&#34;root&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="n">passwordFile</span> <span class="o">=</span> <span class="s2">&#34;/etc/nixos/secrets/restic&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="n">paths</span> <span class="o">=</span> <span class="p">[</span>
</span></span><span class="line"><span class="cl"> <span class="s2">&#34;</span><span class="si">${</span><span class="n">config</span><span class="o">.</span><span class="n">services</span><span class="o">.</span><span class="n">forgejo</span><span class="o">.</span><span class="n">stateDir</span><span class="si">}</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="p">];</span>
</span></span><span class="line"><span class="cl"> <span class="n">repository</span> <span class="o">=</span> <span class="s2">&#34;sftp:user@storagebox:/remotelab&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="n">extraOptions</span> <span class="o">=</span> <span class="p">[</span>
</span></span><span class="line"><span class="cl"> <span class="s2">&#34;sftp.command=&#39;ssh user@storagebox -i /root/.ssh/id_ed25519 -s sftp&#39;&#34;</span>
</span></span><span class="line"><span class="cl"> <span class="p">];</span>
</span></span><span class="line"><span class="cl"> <span class="n">timerConfig</span> <span class="o">=</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="n">OnCalendar</span> <span class="o">=</span> <span class="s2">&#34;daily&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="n">Persistent</span> <span class="o">=</span> <span class="no">true</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="p">};</span>
</span></span><span class="line"><span class="cl"> <span class="p">};</span>
</span></span><span class="line"><span class="cl"> <span class="p">};</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span></code></pre></div></article>
</main>
<footer id="footer">
<small>
made with <a href="https://gohugo.io">hugo</a>
</small>
<script src="/js/search.js"></script>
<script src="/js/toggle.js"></script>
</footer>
</body>
</html>

View file

@ -1,56 +0,0 @@
<!doctype html>
<html lang="en"><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">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="http://localhost:1313/favicon.ico">
<link id="stylesheet" rel="stylesheet" href="/css/light.css">
<link rel="canonical" href="http://localhost:1313/configuring-a-dynamic-modern-and-minimal-diy-wayland-desktop-environment-with-home-manager/" />
<title>configuring a dynamic, modern, and minimal DIY wayland desktop environment with home-manager</title>
</head>
<body><header id="banner">
<nav class="navbar">
<a href="http://localhost:1313/" class="home">🏠</a>
<a
href="/info/"
title="👋"
>👋</a
><a
href="/search/"
title="🔎"
>🔎</a
>
<button id="toggle-button" class="toggle-button" onclick="toggleTheme()">🌚</button>
</nav>
</header>
<main id="content">
<article>
<header id="post-header">
<h2>configuring a dynamic, modern, and minimal DIY wayland desktop environment with home-manager</h2>
<div>
<p>June 25, 2023</p>
</div>
</header><h3 id="components">components</h3>
<ul>
<li>hyprland (window manager)</li>
<li>waybar (bar)</li>
<li>wofi (application launcher)</li>
<li>mako (notification daemon)</li>
</ul>
</article>
</main>
<footer id="footer">
<small>
made with <a href="https://gohugo.io">hugo</a>
</small>
<script src="/js/search.js"></script>
<script src="/js/toggle.js"></script>
</footer>
</body>
</html>

View file

@ -1,73 +0,0 @@
<!doctype html>
<html lang="en"><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">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="http://localhost:1313/favicon.ico">
<link id="stylesheet" rel="stylesheet" href="/css/light.css">
<link rel="canonical" href="http://localhost:1313/nginx-reverse-proxy-with-ssl-for-services-running-on-tailscale/" />
<title>nginx reverse-proxy with SSL for services running on tailscale!</title>
</head>
<body><header id="banner">
<nav class="navbar">
<a href="http://localhost:1313/" class="home">🏠</a>
<a
href="/info/"
title="👋"
>👋</a
><a
href="/search/"
title="🔎"
>🔎</a
>
<button id="toggle-button" class="toggle-button" onclick="toggleTheme()">🌚</button>
</nav>
</header>
<main id="content">
<article>
<header id="post-header">
<h2>nginx reverse-proxy with SSL for services running on tailscale!</h2>
<div>
<p>September 12, 2023</p>
</div>
</header><p>So you&rsquo;re running something on a server somewhere. For whatever reason you cant or don&rsquo;t want to expose ports 80 and 443 to the outside world.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-nix" data-lang="nix"><span class="line"><span class="cl"><span class="n">services</span><span class="o">.</span><span class="n">jellyfin</span><span class="o">.</span><span class="n">enable</span> <span class="o">=</span> <span class="no">true</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">security</span><span class="o">.</span><span class="n">acme</span> <span class="o">=</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="n">acceptTerms</span> <span class="o">=</span> <span class="no">true</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="n">defaults</span> <span class="o">=</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="n">email</span> <span class="o">=</span> <span class="s2">&#34;barry@email.com&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="n">dnsProvider</span> <span class="o">=</span> <span class="s2">&#34;cloudflare&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="n">credentialsFile</span> <span class="o">=</span> <span class="s2">&#34;/etc/credentials.env&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="p">};</span>
</span></span><span class="line"><span class="cl"><span class="p">};</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">services</span><span class="o">.</span><span class="n">nginx</span> <span class="o">=</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="n">enable</span> <span class="o">=</span> <span class="no">true</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="n">virtualHosts</span><span class="o">.</span><span class="s2">&#34;example.com&#34;</span> <span class="o">=</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="n">enableACME</span> <span class="o">=</span> <span class="no">true</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="n">acmeRoot</span> <span class="o">=</span> <span class="no">null</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="n">addSSL</span> <span class="o">=</span> <span class="no">true</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="n">locations</span><span class="o">.</span><span class="s2">&#34;/&#34;</span> <span class="o">=</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="n">proxyPass</span> <span class="o">=</span> <span class="s2">&#34;http://127.0.0.1:8096&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="n">proxyWebsockets</span> <span class="o">=</span> <span class="no">true</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"> <span class="p">};</span>
</span></span><span class="line"><span class="cl"> <span class="p">};</span>
</span></span><span class="line"><span class="cl"><span class="p">};</span>
</span></span></code></pre></div></article>
</main>
<footer id="footer">
<small>
made with <a href="https://gohugo.io">hugo</a>
</small>
<script src="/js/search.js"></script>
<script src="/js/toggle.js"></script>
</footer>
</body>
</html>

View file

@ -1,49 +0,0 @@
<!doctype html>
<html lang="en"><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">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="http://localhost:1313/favicon.ico">
<link id="stylesheet" rel="stylesheet" href="/css/light.css">
<link rel="canonical" href="http://localhost:1313/placeholder/" />
<title>placeholder</title>
</head>
<body><header id="banner">
<nav class="navbar">
<a href="http://localhost:1313/" class="home">🏠</a>
<a
href="/info/"
title="👋"
>👋</a
><a
href="/search/"
title="🔎"
>🔎</a
>
<button id="toggle-button" class="toggle-button" onclick="toggleTheme()">🌚</button>
</nav>
</header>
<main id="content">
<article>
<header id="post-header">
<h2>placeholder</h2>
<div>
<p>March 13, 2023</p>
</div>
</header></article>
</main>
<footer id="footer">
<small>
made with <a href="https://gohugo.io">hugo</a>
</small>
<script src="/js/search.js"></script>
<script src="/js/toggle.js"></script>
</footer>
</body>
</html>

View file

@ -1,10 +0,0 @@
<!DOCTYPE html>
<html lang="en-GB">
<head>
<title>http://localhost:1313/search/</title>
<link rel="canonical" href="http://localhost:1313/search/">
<meta name="robots" content="noindex">
<meta charset="utf-8">
<meta http-equiv="refresh" content="0; url=http://localhost:1313/search/">
</head>
</html>

View file

@ -1,81 +0,0 @@
<!doctype html>
<html lang="en"><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">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="http://localhost:1313/favicon.ico">
<link rel="alternate" type="application/rss+xml" href="http://localhost:1313/search/index.xml" title="James' Blog">
<link id="stylesheet" rel="stylesheet" href="/css/light.css">
<link rel="canonical" href="http://localhost:1313/search/" />
<title></title>
</head>
<body><header id="banner">
<nav class="navbar">
<a href="http://localhost:1313/" class="home">🏠</a>
<a
href="/info/"
title="👋"
>👋</a
><a
href="/search/"
title="🔎"
>🔎</a
>
<button id="toggle-button" class="toggle-button" onclick="toggleTheme()">🌚</button>
</nav>
</header>
<main id="content">
<h2>Search</h2>
<p>This is not a very clever search. It simply looks if the content of a post contains your query. </p>
<input type="text" id="search" placeholder="leaf through the archive"/>
<ul id="results"></ul>
<h2>Everything</h2>
<h3>2023</h3>
<h4><a href="/python-podcast-scripting/">Python podcast scripting</a></h4>
<h4><a href="/bread-dough-for-lazy-boys/">Bread dough for lazy boys</a></h4>
<h3>2022</h3>
<h4><a href="/multi-user-qtile-fiddling/">Multi user qtile fiddling</a></h4>
<h4><a href="/teeny-tiny-bash-fetch-script/">Teeny tiny bash fetch script</a></h4>
<h4><a href="/get-the-thoughts-out-of-your-head-and-into-a-digital-format-with-this-python-journalling-script/">Get the thoughts out of your head and into a digital format with this python journalling script</a></h4>
<h4><a href="/lowkey-emacs-setup-bits-and-bobs/">Lowkey emacs setup bits and bobs</a></h4>
<h4><a href="/the-search-for-en-passant-checkmates-2-electric-boogaloo/">The search for en passant checkmates 2: Electric Boogaloo</a></h4>
<h4><a href="/the-search-for-en-passant-checkmates/">The search for en passant checkmates</a></h4>
<h4><a href="/declarative-firefox-config-with-home-manager-on-nixos/">Declarative firefox config with home-manager on nixos</a></h4>
<h4><a href="/upgrade-your-qtile-setup-with-a-cute-dropdown-terminal/">Upgrade your qtile setup with a cute dropdown terminal</a></h4>
</main>
<footer id="footer">
<small>
made with <a href="https://gohugo.io">hugo</a>
</small>
<script src="/js/search.js"></script>
<script src="/js/toggle.js"></script>
</footer>
</body>
</html>

View file

@ -1,60 +0,0 @@
<!doctype html>
<html lang="en"><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">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="http://localhost:1313/favicon.ico">
<link rel="alternate" type="application/rss+xml" href="http://localhost:1313/search/index.xml" title="James' Blog">
<link id="stylesheet" rel="stylesheet" href="/css/light.css">
<link rel="canonical" href="http://localhost:1313/search/" />
<title></title>
</head>
<body><header id="banner">
<nav class="navbar">
<a href="http://localhost:1313/" class="home">🏠</a>
<a
href="/info/"
title="👋"
>👋</a
><a
href="/search/"
title="🔎"
>🔎</a
>
<button id="toggle-button" class="toggle-button" onclick="toggleTheme()">🌚</button>
</nav>
</header>
<main id="content">
<h2>Search</h2>
<p>This is not a very clever search. It simply looks if the content of a post contains your query. </p>
<input type="text" id="search" placeholder="leaf through the archive"/>
<ul id="results"></ul>
<h2>Everything</h2>
<h3>2022</h3>
<h4><a href="/rudimentary-local-scrobbling-with-bash/">Rudimentary local scrobbling with bash</a></h4>
</main>
<footer id="footer">
<small>
made with <a href="https://gohugo.io">hugo</a>
</small>
<script src="/js/search.js"></script>
<script src="/js/toggle.js"></script>
</footer>
</body>
</html>

View file

@ -1,124 +0,0 @@
<!doctype html>
<html lang="en"><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">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="http://localhost:1313/favicon.ico">
<link id="stylesheet" rel="stylesheet" href="/css/light.css">
<link rel="canonical" href="http://localhost:1313/setting-up-a-lean-mean-hugo-blogging-theme/" />
<title>setting up a lean mean hugo blogging theme</title>
</head>
<body><header id="banner">
<nav class="navbar">
<a href="http://localhost:1313/" class="home">🏠</a>
<a
href="/info/"
title="👋"
>👋</a
><a
href="/search/"
title="🔎"
>🔎</a
>
<button id="toggle-button" class="toggle-button" onclick="toggleTheme()">🌚</button>
</nav>
</header>
<main id="content">
<article>
<header id="post-header">
<h2>setting up a lean mean hugo blogging theme</h2>
<div>
<p>November 10, 2022</p>
</div>
</header><p>When I first started messing around with hugo, I found the whole thing slihtly mystifying. I downloaded a theme like they asked me, edited the config file to try and customise things a little and quickly broke everything. To be fair, this was mainly due to my tinkering instinct to fly to close to the sun. But anyway, the point at which I started to really appreciate the power of hugo was when I tried to make my own - admittedly less feautureful - theme. This selection of tips and tricks will assume that you&rsquo;ve just run something like <code>hugo new site lovely-new-website</code>, entered the new directory with <code>cd lovely-new-website</code> and you&rsquo;ve got a selection of mostly empty directories looking something like this.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">.
</span></span><span class="line"><span class="cl">├── archetypes
</span></span><span class="line"><span class="cl">│   └── default.md
</span></span><span class="line"><span class="cl">├── config.toml
</span></span><span class="line"><span class="cl">├── content
</span></span><span class="line"><span class="cl">├── data
</span></span><span class="line"><span class="cl">├── layouts
</span></span><span class="line"><span class="cl">├── public
</span></span><span class="line"><span class="cl">├── static
</span></span><span class="line"><span class="cl">└── themes
</span></span></code></pre></div><p>Our first concern will be getting a barebones theme template that can be customised to our liking. I would recommend <a href="https://github.com/ericmurphyxyz/hugo-starter-theme">this</a> guy which I used to get up and running. You could also check out <a href="https://gitlab.com/robbygozzarder/mcl">my theme</a> which I&rsquo;m using on this site that is also very simple (as you can probably see from the website lol). Once you&rsquo;ve got a theme with (I&rsquo;m using mine as an example) <code>git clone https://gitlab.com/robbygozzarder/mcl</code> and placed it in the themes directory you&rsquo;ll need to adjust your config.toml file to point it to this theme.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="nx">theme</span><span class="p">=</span><span class="s2">&#34;mcl&#34;</span>
</span></span></code></pre></div><p>The directory structure of your new theme will look something like this:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">.
</span></span><span class="line"><span class="cl">└── mcl
</span></span><span class="line"><span class="cl"> ├── archetypes
</span></span><span class="line"><span class="cl"> │   └── default.md
</span></span><span class="line"><span class="cl"> ├── layouts
</span></span><span class="line"><span class="cl"> │   ├── 404.html
</span></span><span class="line"><span class="cl"> │   ├── _default
</span></span><span class="line"><span class="cl"> │   │   ├── list.html
</span></span><span class="line"><span class="cl"> │   │   └── single.html
</span></span><span class="line"><span class="cl"> │   ├── index.html
</span></span><span class="line"><span class="cl"> │   └── partials
</span></span><span class="line"><span class="cl"> │   ├── footer.html
</span></span><span class="line"><span class="cl"> │   ├── header.html
</span></span><span class="line"><span class="cl"> │   └── nav.html
</span></span><span class="line"><span class="cl"> ├── README.md
</span></span><span class="line"><span class="cl"> └── static
</span></span><span class="line"><span class="cl"> └── css
</span></span><span class="line"><span class="cl"> └── style.css
</span></span></code></pre></div><p>This is where most of the magic happens:</p>
<ul>
<li>The default.md file in the archetypes directory dictates what template to follow when adding new post files.</li>
<li>The layouts directory is where most of the meat is:
<ul>
<li>Firstly, there&rsquo;s the partials directory which contains outlines for sections which you want to be used multiple times across the site such as a footer (footer.html)</li>
<li>Sceondly, we have _default which contains outlines for the two types of hugo pages; singles (single.html) such as this individual post page, and lists (list.html) such as the tags and posts pages on this site.</li>
<li>Partials also contains index.html which (you guessed it!) is your home page.</li>
</ul>
</li>
<li>Last but not least, there&rsquo;s static which as you can see just has the css for the site (this is all looks though - the action happens in partials).</li>
</ul>
<p>Now the theme is sorted the next three things you need to know anything about (imho) are the content, public, and static directories:</p>
<ul>
<li>Content is where you put your posts - these are just markdown files which hugo converts to html for you.</li>
<li>Public is where hugo puts your built - ready to be served - site. You can then copy this directory to wherever your webserver is looking eg. /var/www/jdysmcl</li>
<li>Static is where assets which you want to use with your site are kept. I basically just use it for images which I can then reference from my posts.</li>
</ul>
<p>Now we&rsquo;ve got the directory what&rsquo;s happening where admin out the way let&rsquo;s have a look at what some of the html files in the themes directory look like; this is the index.html for my site for example:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl">{{ partial &#34;header.html&#34; . }}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">p</span><span class="p">&gt;</span>This is mainly a place for me to document various
</span></span><span class="line"><span class="cl">bits and bobs I&#39;ve been doing on my computers.
</span></span><span class="line"><span class="cl">I am a noob in most things so take anything written
</span></span><span class="line"><span class="cl">here with a pinch of salt. Lots of love :)<span class="p">&lt;/</span><span class="nt">p</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">{{ .Content }}
</span></span><span class="line"><span class="cl">{{ range .Site.RegularPages | first 5 }}
</span></span><span class="line"><span class="cl"> <span class="p">&lt;</span><span class="nt">h3</span><span class="p">&gt;</span> <span class="p">&lt;</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">&#34;{{ .RelPermalink }}&#34;</span><span class="p">&gt;</span>{{ .Title }}<span class="p">&lt;/</span><span class="nt">a</span><span class="p">&gt;&lt;/</span><span class="nt">h3</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"> {{ .Summary }}
</span></span><span class="line"><span class="cl"> <span class="p">&lt;</span><span class="nt">br</span><span class="p">&gt;&lt;</span><span class="nt">br</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"> {{ .Date.Format &#34;06 Jan, 2006&#34; }} |
</span></span><span class="line"><span class="cl"> {{ .WordCount }} words |
</span></span><span class="line"><span class="cl"> {{ .ReadingTime }} mins |
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> {{ range (.GetTerms &#34;tags&#34;) }}
</span></span><span class="line"><span class="cl"> <span class="p">&lt;</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">&#39;{{ .Permalink }}&#39;</span><span class="p">&gt;</span>{{ .LinkTitle }}<span class="p">&lt;/</span><span class="nt">a</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"> {{ end }}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">{{ end }}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">{{ partial &#34;footer.html&#34; . }}
</span></span></code></pre></div><p>In short, this plops the header and footer partials at the top and bottom of the page respectively, includes a short warning not to listen to me, and then displays my five most recent posts along with a snippet of the post and some accompanyning info: date, word count, reading time, and tags. The keen eyed among you will have noticed that this is a mish mash of normal html tags and strange stuff enclosed in double curly brackets. I&rsquo;m going to end on this cliffhanger but if you want to know more about the curly brackets check out the hugo docs <a href="https://gohugo.io/templates/introduction">here</a>.</p>
</article>
</main>
<footer id="footer">
<small>
made with <a href="https://gohugo.io">hugo</a>
</small>
<script src="/js/search.js"></script>
<script src="/js/toggle.js"></script>
</footer>
</body>
</html>

View file

@ -1,98 +0,0 @@
<!doctype html>
<html lang="en"><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">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="http://localhost:1313/favicon.ico">
<link rel="alternate" type="application/rss+xml" href="http://localhost:1313/tags/hugo/index.xml" title="James' Blog">
<link id="stylesheet" rel="stylesheet" href="/css/light.css">
<link rel="canonical" href="http://localhost:1313/tags/hugo/" />
<title>Hugo</title>
</head>
<body><header id="banner">
<nav class="navbar">
<a href="http://localhost:1313/" class="home">🏠</a>
<a
href="/info/"
title="👋"
>👋</a
><a
href="/search/"
title="🔎"
>🔎</a
>
<button id="toggle-button" class="toggle-button" onclick="toggleTheme()">🌚</button>
</nav>
</header>
<main id="content">
<a href="/backing-up-nixos-state-with-restic/">Backing up nixos state with restic</a>
<a href="/wuthering-heights-2026-hmmm/">Wuthering Heights (2026): Hmmm</a>
<a href="/handy-script-for-a-more-zen-twitch-experience/">Handy script for a more zen twitch experience</a>
<a href="/over-engineered-nixos-blog-deployment-setup/">Over-engineered (?) nixos blog deployment setup</a>
<a href="/adventures-in-running-headscale-on-nixos/">adventures in running headscale on nixos</a>
<a href="/so-you-want-to-write-a-neovim-plugin-with-lua/">So you want to write a neovim plugin with lua</a>
<a href="/nginx-reverse-proxy-with-ssl-for-services-running-on-tailscale/">nginx reverse-proxy with SSL for services running on tailscale!</a>
<a href="/making-nix-colors-talk-to-neovim/">Making nix-colors talk to neovim</a>
<a href="/vanilla-javascript-theme-toggle-for-simpletons/">Vanilla javascript theme toggle for simpletons</a>
<a href="/configuring-a-dynamic-modern-and-minimal-diy-wayland-desktop-environment-with-home-manager/">configuring a dynamic, modern, and minimal DIY wayland desktop environment with home-manager</a>
<a href="/tailscale-caddy-and-nixos-containers/">Tailscale, caddy, and nixos containers</a>
<a href="/learning-about-qtile-widgets-with-cricket/">Learning about qtile widgets with cricket</a>
<a href="/achieve-peak-rice-with-nix-colors/">Achieve peak rice with nix-colors</a>
<a href="/placeholder/">placeholder</a>
<a href="/translating-docker-to-nix/">Translating docker to nix?!</a>
<a href="/simple-nixos-config-for-vps-static-site/">Simple nixos config for vps static site</a>
<a href="/python-podcast-scripting/">Python podcast scripting</a>
<a href="/bread-dough-for-lazy-boys/">Bread dough for lazy boys</a>
<a href="/multi-user-qtile-fiddling/">Multi user qtile fiddling</a>
<a href="/teeny-tiny-bash-fetch-script/">Teeny tiny bash fetch script</a>
<a href="/get-the-thoughts-out-of-your-head-and-into-a-digital-format-with-this-python-journalling-script/">Get the thoughts out of your head and into a digital format with this python journalling script</a>
<a href="/lowkey-emacs-setup-bits-and-bobs/">Lowkey emacs setup bits and bobs</a>
<a href="/setting-up-a-lean-mean-hugo-blogging-theme/">setting up a lean mean hugo blogging theme</a>
<a href="/the-search-for-en-passant-checkmates-2-electric-boogaloo/">The search for en passant checkmates 2: Electric Boogaloo</a>
<a href="/the-search-for-en-passant-checkmates/">The search for en passant checkmates</a>
<a href="/declarative-firefox-config-with-home-manager-on-nixos/">Declarative firefox config with home-manager on nixos</a>
<a href="/upgrade-your-qtile-setup-with-a-cute-dropdown-terminal/">Upgrade your qtile setup with a cute dropdown terminal</a>
<a href="/rudimentary-local-scrobbling-with-bash/">Rudimentary local scrobbling with bash</a>
</main>
<footer id="footer">
<small>
made with <a href="https://gohugo.io">hugo</a>
</small>
<script src="/js/search.js"></script>
<script src="/js/toggle.js"></script>
</footer>
</body>
</html>

File diff suppressed because it is too large Load diff

View file

@ -1,98 +0,0 @@
<!doctype html>
<html lang="en"><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">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="http://localhost:1313/favicon.ico">
<link rel="alternate" type="application/rss+xml" href="http://localhost:1313/tags/restic/index.xml" title="James' Blog">
<link id="stylesheet" rel="stylesheet" href="/css/light.css">
<link rel="canonical" href="http://localhost:1313/tags/restic/" />
<title>Restic</title>
</head>
<body><header id="banner">
<nav class="navbar">
<a href="http://localhost:1313/" class="home">🏠</a>
<a
href="/info/"
title="👋"
>👋</a
><a
href="/search/"
title="🔎"
>🔎</a
>
<button id="toggle-button" class="toggle-button" onclick="toggleTheme()">🌚</button>
</nav>
</header>
<main id="content">
<a href="/backing-up-nixos-state-with-restic/">Backing up nixos state with restic</a>
<a href="/wuthering-heights-2026-hmmm/">Wuthering Heights (2026): Hmmm</a>
<a href="/handy-script-for-a-more-zen-twitch-experience/">Handy script for a more zen twitch experience</a>
<a href="/over-engineered-nixos-blog-deployment-setup/">Over-engineered (?) nixos blog deployment setup</a>
<a href="/adventures-in-running-headscale-on-nixos/">adventures in running headscale on nixos</a>
<a href="/so-you-want-to-write-a-neovim-plugin-with-lua/">So you want to write a neovim plugin with lua</a>
<a href="/nginx-reverse-proxy-with-ssl-for-services-running-on-tailscale/">nginx reverse-proxy with SSL for services running on tailscale!</a>
<a href="/making-nix-colors-talk-to-neovim/">Making nix-colors talk to neovim</a>
<a href="/vanilla-javascript-theme-toggle-for-simpletons/">Vanilla javascript theme toggle for simpletons</a>
<a href="/configuring-a-dynamic-modern-and-minimal-diy-wayland-desktop-environment-with-home-manager/">configuring a dynamic, modern, and minimal DIY wayland desktop environment with home-manager</a>
<a href="/tailscale-caddy-and-nixos-containers/">Tailscale, caddy, and nixos containers</a>
<a href="/learning-about-qtile-widgets-with-cricket/">Learning about qtile widgets with cricket</a>
<a href="/achieve-peak-rice-with-nix-colors/">Achieve peak rice with nix-colors</a>
<a href="/placeholder/">placeholder</a>
<a href="/translating-docker-to-nix/">Translating docker to nix?!</a>
<a href="/simple-nixos-config-for-vps-static-site/">Simple nixos config for vps static site</a>
<a href="/python-podcast-scripting/">Python podcast scripting</a>
<a href="/bread-dough-for-lazy-boys/">Bread dough for lazy boys</a>
<a href="/multi-user-qtile-fiddling/">Multi user qtile fiddling</a>
<a href="/teeny-tiny-bash-fetch-script/">Teeny tiny bash fetch script</a>
<a href="/get-the-thoughts-out-of-your-head-and-into-a-digital-format-with-this-python-journalling-script/">Get the thoughts out of your head and into a digital format with this python journalling script</a>
<a href="/lowkey-emacs-setup-bits-and-bobs/">Lowkey emacs setup bits and bobs</a>
<a href="/setting-up-a-lean-mean-hugo-blogging-theme/">setting up a lean mean hugo blogging theme</a>
<a href="/the-search-for-en-passant-checkmates-2-electric-boogaloo/">The search for en passant checkmates 2: Electric Boogaloo</a>
<a href="/the-search-for-en-passant-checkmates/">The search for en passant checkmates</a>
<a href="/declarative-firefox-config-with-home-manager-on-nixos/">Declarative firefox config with home-manager on nixos</a>
<a href="/upgrade-your-qtile-setup-with-a-cute-dropdown-terminal/">Upgrade your qtile setup with a cute dropdown terminal</a>
<a href="/rudimentary-local-scrobbling-with-bash/">Rudimentary local scrobbling with bash</a>
</main>
<footer id="footer">
<small>
made with <a href="https://gohugo.io">hugo</a>
</small>
<script src="/js/search.js"></script>
<script src="/js/toggle.js"></script>
</footer>
</body>
</html>

File diff suppressed because it is too large Load diff

View file

@ -1,98 +0,0 @@
<!doctype html>
<html lang="en"><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">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="http://localhost:1313/favicon.ico">
<link rel="alternate" type="application/rss+xml" href="http://localhost:1313/tags/thing/index.xml" title="James' Blog">
<link id="stylesheet" rel="stylesheet" href="/css/light.css">
<link rel="canonical" href="http://localhost:1313/tags/thing/" />
<title>Thing</title>
</head>
<body><header id="banner">
<nav class="navbar">
<a href="http://localhost:1313/" class="home">🏠</a>
<a
href="/info/"
title="👋"
>👋</a
><a
href="/search/"
title="🔎"
>🔎</a
>
<button id="toggle-button" class="toggle-button" onclick="toggleTheme()">🌚</button>
</nav>
</header>
<main id="content">
<a href="/backing-up-nixos-state-with-restic/">Backing up nixos state with restic</a>
<a href="/wuthering-heights-2026-hmmm/">Wuthering Heights (2026): Hmmm</a>
<a href="/handy-script-for-a-more-zen-twitch-experience/">Handy script for a more zen twitch experience</a>
<a href="/over-engineered-nixos-blog-deployment-setup/">Over-engineered (?) nixos blog deployment setup</a>
<a href="/adventures-in-running-headscale-on-nixos/">adventures in running headscale on nixos</a>
<a href="/so-you-want-to-write-a-neovim-plugin-with-lua/">So you want to write a neovim plugin with lua</a>
<a href="/nginx-reverse-proxy-with-ssl-for-services-running-on-tailscale/">nginx reverse-proxy with SSL for services running on tailscale!</a>
<a href="/making-nix-colors-talk-to-neovim/">Making nix-colors talk to neovim</a>
<a href="/vanilla-javascript-theme-toggle-for-simpletons/">Vanilla javascript theme toggle for simpletons</a>
<a href="/configuring-a-dynamic-modern-and-minimal-diy-wayland-desktop-environment-with-home-manager/">configuring a dynamic, modern, and minimal DIY wayland desktop environment with home-manager</a>
<a href="/tailscale-caddy-and-nixos-containers/">Tailscale, caddy, and nixos containers</a>
<a href="/learning-about-qtile-widgets-with-cricket/">Learning about qtile widgets with cricket</a>
<a href="/achieve-peak-rice-with-nix-colors/">Achieve peak rice with nix-colors</a>
<a href="/placeholder/">placeholder</a>
<a href="/translating-docker-to-nix/">Translating docker to nix?!</a>
<a href="/simple-nixos-config-for-vps-static-site/">Simple nixos config for vps static site</a>
<a href="/python-podcast-scripting/">Python podcast scripting</a>
<a href="/bread-dough-for-lazy-boys/">Bread dough for lazy boys</a>
<a href="/multi-user-qtile-fiddling/">Multi user qtile fiddling</a>
<a href="/teeny-tiny-bash-fetch-script/">Teeny tiny bash fetch script</a>
<a href="/get-the-thoughts-out-of-your-head-and-into-a-digital-format-with-this-python-journalling-script/">Get the thoughts out of your head and into a digital format with this python journalling script</a>
<a href="/lowkey-emacs-setup-bits-and-bobs/">Lowkey emacs setup bits and bobs</a>
<a href="/setting-up-a-lean-mean-hugo-blogging-theme/">setting up a lean mean hugo blogging theme</a>
<a href="/the-search-for-en-passant-checkmates-2-electric-boogaloo/">The search for en passant checkmates 2: Electric Boogaloo</a>
<a href="/the-search-for-en-passant-checkmates/">The search for en passant checkmates</a>
<a href="/declarative-firefox-config-with-home-manager-on-nixos/">Declarative firefox config with home-manager on nixos</a>
<a href="/upgrade-your-qtile-setup-with-a-cute-dropdown-terminal/">Upgrade your qtile setup with a cute dropdown terminal</a>
<a href="/rudimentary-local-scrobbling-with-bash/">Rudimentary local scrobbling with bash</a>
</main>
<footer id="footer">
<small>
made with <a href="https://gohugo.io">hugo</a>
</small>
<script src="/js/search.js"></script>
<script src="/js/toggle.js"></script>
</footer>
</body>
</html>

File diff suppressed because it is too large Load diff

View file

@ -1,98 +0,0 @@
<!doctype html>
<html lang="en"><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">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="http://localhost:1313/favicon.ico">
<link rel="alternate" type="application/rss+xml" href="http://localhost:1313/tags/wotsit/index.xml" title="James' Blog">
<link id="stylesheet" rel="stylesheet" href="/css/light.css">
<link rel="canonical" href="http://localhost:1313/tags/wotsit/" />
<title>Wotsit</title>
</head>
<body><header id="banner">
<nav class="navbar">
<a href="http://localhost:1313/" class="home">🏠</a>
<a
href="/info/"
title="👋"
>👋</a
><a
href="/search/"
title="🔎"
>🔎</a
>
<button id="toggle-button" class="toggle-button" onclick="toggleTheme()">🌚</button>
</nav>
</header>
<main id="content">
<a href="/backing-up-nixos-state-with-restic/">Backing up nixos state with restic</a>
<a href="/wuthering-heights-2026-hmmm/">Wuthering Heights (2026): Hmmm</a>
<a href="/handy-script-for-a-more-zen-twitch-experience/">Handy script for a more zen twitch experience</a>
<a href="/over-engineered-nixos-blog-deployment-setup/">Over-engineered (?) nixos blog deployment setup</a>
<a href="/adventures-in-running-headscale-on-nixos/">adventures in running headscale on nixos</a>
<a href="/so-you-want-to-write-a-neovim-plugin-with-lua/">So you want to write a neovim plugin with lua</a>
<a href="/nginx-reverse-proxy-with-ssl-for-services-running-on-tailscale/">nginx reverse-proxy with SSL for services running on tailscale!</a>
<a href="/making-nix-colors-talk-to-neovim/">Making nix-colors talk to neovim</a>
<a href="/vanilla-javascript-theme-toggle-for-simpletons/">Vanilla javascript theme toggle for simpletons</a>
<a href="/configuring-a-dynamic-modern-and-minimal-diy-wayland-desktop-environment-with-home-manager/">configuring a dynamic, modern, and minimal DIY wayland desktop environment with home-manager</a>
<a href="/tailscale-caddy-and-nixos-containers/">Tailscale, caddy, and nixos containers</a>
<a href="/learning-about-qtile-widgets-with-cricket/">Learning about qtile widgets with cricket</a>
<a href="/achieve-peak-rice-with-nix-colors/">Achieve peak rice with nix-colors</a>
<a href="/placeholder/">placeholder</a>
<a href="/translating-docker-to-nix/">Translating docker to nix?!</a>
<a href="/simple-nixos-config-for-vps-static-site/">Simple nixos config for vps static site</a>
<a href="/python-podcast-scripting/">Python podcast scripting</a>
<a href="/bread-dough-for-lazy-boys/">Bread dough for lazy boys</a>
<a href="/multi-user-qtile-fiddling/">Multi user qtile fiddling</a>
<a href="/teeny-tiny-bash-fetch-script/">Teeny tiny bash fetch script</a>
<a href="/get-the-thoughts-out-of-your-head-and-into-a-digital-format-with-this-python-journalling-script/">Get the thoughts out of your head and into a digital format with this python journalling script</a>
<a href="/lowkey-emacs-setup-bits-and-bobs/">Lowkey emacs setup bits and bobs</a>
<a href="/setting-up-a-lean-mean-hugo-blogging-theme/">setting up a lean mean hugo blogging theme</a>
<a href="/the-search-for-en-passant-checkmates-2-electric-boogaloo/">The search for en passant checkmates 2: Electric Boogaloo</a>
<a href="/the-search-for-en-passant-checkmates/">The search for en passant checkmates</a>
<a href="/declarative-firefox-config-with-home-manager-on-nixos/">Declarative firefox config with home-manager on nixos</a>
<a href="/upgrade-your-qtile-setup-with-a-cute-dropdown-terminal/">Upgrade your qtile setup with a cute dropdown terminal</a>
<a href="/rudimentary-local-scrobbling-with-bash/">Rudimentary local scrobbling with bash</a>
</main>
<footer id="footer">
<small>
made with <a href="https://gohugo.io">hugo</a>
</small>
<script src="/js/search.js"></script>
<script src="/js/toggle.js"></script>
</footer>
</body>
</html>

File diff suppressed because it is too large Load diff

View file

@ -1,71 +0,0 @@
<!doctype html>
<html lang="en"><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">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="http://localhost:1313/favicon.ico">
<link id="stylesheet" rel="stylesheet" href="/css/light.css">
<link rel="canonical" href="http://localhost:1313/wuthering-heights-2026-hmmm/" />
<title>Wuthering Heights (2026): Hmmm</title>
</head>
<body><header id="banner">
<nav class="navbar">
<a href="http://localhost:1313/" class="home">🏠</a>
<a
href="/info/"
title="👋"
>👋</a
><a
href="/search/"
title="🔎"
>🔎</a
>
<button id="toggle-button" class="toggle-button" onclick="toggleTheme()">🌚</button>
</nav>
</header>
<main id="content">
<article>
<header id="post-header">
<h2>Wuthering Heights (2026): Hmmm</h2>
<div>
<p>February 13, 2026</p>
</div>
</header><h3 id="things-i-enjoyed">Things I enjoyed</h3>
<ul>
<li>Though not particularly &lsquo;dark skinned&rsquo;, Jacob Elordi is well suited to the role of surly sweaty gigahunk.</li>
<li>An unashamed fanfic quality which I found amusing.
It honestly felt as if it had been dreamt up by a horny teenager on tumblr at points.</li>
</ul>
<h3 id="things-i-didnt-enjoy">Things I didn&rsquo;t enjoy</h3>
<ul>
<li>The whole thing had a music video gloss which made the landscape feel incidental.
It felt like a set not something the characters actually inahbited.
Even when they were banging on the moors they didn&rsquo;t seem to get muddy.
This was a problem for me.</li>
<li>Fundamentally, once you got past the visual glitz and knowingly executed tropes it felt completely emotionally empty.
Given that it&rsquo;s a film about the enduring power of passionate undying love this was also a major problem.</li>
</ul>
<h3 id="things-that-intrigued-me">Things that intrigued me</h3>
<ul>
<li>Jacob Elordi doing the same accent as Christian Bale in The Prestige.</li>
</ul>
<h3 id="verdict">Verdict</h3>
<p>48 heaving bosoms out of 100</p>
<p><img src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fkeithlovesmovies.com%2Fwp-content%2Fuploads%2F2025%2F09%2FBE_OPT3_clean.jpg&amp;f=1&amp;nofb=1&amp;ipt=a17c1ba002ea1418f85d9cc735fdb258b633a98800e16e2fc9f82f0772ec93e7" alt="Grassy fingers in mouth"></p>
</article>
</main>
<footer id="footer">
<small>
made with <a href="https://gohugo.io">hugo</a>
</small>
<script src="/js/search.js"></script>
<script src="/js/toggle.js"></script>
</footer>
</body>
</html>

View file

@ -1,70 +0,0 @@
<!doctype html>
<html lang="en"><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">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="http://localhost:1313/favicon.ico">
<link id="stylesheet" rel="stylesheet" href="/css/light.css">
<link rel="canonical" href="http://localhost:1313/wuthering-heights/" />
<title>Wuthering Heights</title>
</head>
<body><header id="banner">
<nav class="navbar">
<a href="http://localhost:1313/" class="home">🏠</a>
<a
href="/info/"
title="👋"
>👋</a
><a
href="/search/"
title="🔎"
>🔎</a
>
<button id="toggle-button" class="toggle-button" onclick="toggleTheme()">🌚</button>
</nav>
</header>
<main id="content">
<article>
<header id="post-header">
<h2>Wuthering Heights</h2>
<div>
<p>February 13, 2026</p>
</div>
</header><h3 id="things-i-enjoyed">Things I enjoyed</h3>
<ul>
<li>Jacob Elordi is unreasonably hot as the sweaty gigahunk.</li>
<li>An unashamed fanfic quality which I found amusing.
It honestly felt as if it had been dreamt up by a horny teenager on tumblr at points.</li>
</ul>
<p>bread kneading
heaving bosoms</p>
<h3 id="things-i-didnt-enjoy">Things I didn&rsquo;t enjoy</h3>
<ul>
<li>The whole thing had a music video gloss which made the landscape feel incidental.
It felt like a set not something the characters actually inahbited.
Even when they were banging on the moors they didn&rsquo;t seem to get muddy.
This was a problem for me.</li>
</ul>
<h3 id="things-that-intrigued-me">Things that intrigued me</h3>
<ul>
<li>Jacob Elordi doing the same accent as Christian Bale in The Prestige.</li>
</ul>
<h3 id="verdict">Verdict</h3>
<p>49 heaving bosoms out of 100</p>
</article>
</main>
<footer id="footer">
<small>
made with <a href="https://gohugo.io">hugo</a>
</small>
<script src="/js/search.js"></script>
<script src="/js/toggle.js"></script>
</footer>
</body>
</html>