diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..a208af0 --- /dev/null +++ b/config.toml @@ -0,0 +1,17 @@ +# The URL the site will be built for +base_url = "https://dork.dev" + +# Whether to automatically compile all Sass files in the sass directory +compile_sass = true + +# Whether to build a search index to be used later on by a JavaScript library +build_search_index = true + +[markdown] +# Whether to do syntax highlighting +# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola +highlight_code = true + +[extra] +# Put all your custom variables here +site_title = "dork.dev" diff --git a/content/blog/2024-04-07-hello-world.html b/content/blog/2024-04-07-hello-world.html new file mode 100644 index 0000000..9d6668d --- /dev/null +++ b/content/blog/2024-04-07-hello-world.html @@ -0,0 +1,6 @@ +

+++ +title = "Doing something with this domain!" +date = 2024-04-07T19:34:53Z ++++ +I've moved this website to use cobalt! Hopefully I should be making posts here, too. ^^

+

I have a few ideas for posts here, including talking about starting with using the RTL-SDR v4 and my experiences so far with the Framework 13 laptop.

diff --git a/posts/2024-04-07-the-first-month-of-life-with-the-framework-13.html b/content/blog/2024-04-07-the-first-month-of-life-with-the-framework-13.html similarity index 79% rename from posts/2024-04-07-the-first-month-of-life-with-the-framework-13.html rename to content/blog/2024-04-07-the-first-month-of-life-with-the-framework-13.html index 50a5ad5..e86ebfb 100644 --- a/posts/2024-04-07-the-first-month-of-life-with-the-framework-13.html +++ b/content/blog/2024-04-07-the-first-month-of-life-with-the-framework-13.html @@ -1,25 +1,8 @@ - - - - -dork.dev - The first month of life with the Framework 13 - - - - - - - -
-
-

dork.dev - The first month of life with the Framework 13

-
-
-
-
- Published on . - -

Preparation

+

+++ +title = "The first month of life with the Framework 13" +date = 2024-04-07T19:34:59Z ++++

+

Preparation

I was starting to feel as if I needed to upgrade away from the Lenovo Thinkpad x270 because of performance issues and I had the money laying around to finally perform that upgrade. I settled upon the Framework 13 for ideological reasons, especially wanting a laptop that could last me a long time and be upgraded as I see fit, through generational improvements of the mainboard.

I ordered the Ryzen 5 7640U version without RAM or an NVMe SSD, so I was going to have to source myself both elsewhere. With help from a dear friend, I picked out the Kingston Fury Impact 32GB (2x16GB) 5600MHz DDR5 SODIMM set alongside the Crucial P5 Plus 1TB (which, I should've got a fancier larger SSD instead of, much as the dear friend suggested). These were ordered from Canada Computers with the help of the wife, so they took like a week to arrive (because coast-to-coast...).

I ordered 4 expansion cards with my Framework, 3 USB C expansion cards and 1 USB A expansion card. I am now aware that the USB A expansion card causes a constant power draw due to oversights in the design. I will eventually attempt to get another expansion card of some other variety, I already have a few ideas. I may even make my own!

@@ -47,20 +30,3 @@ Here's the lists of games I have installed, as pictures of the applications:

A list of games installed via Lutris

A list of games installed via Steam

This brings us practically up to the current day, 2 days before a month has passed since the laptop was made operational. I have felt no buyer's remorse, no bad feelings about this laptop whatsoever.

- -
-
- -
- - diff --git a/posts/2024-09-14-2-months-into-my-first-3d-printer.html b/content/blog/2024-09-14-2-months-into-my-first-3d-printer.html similarity index 85% rename from posts/2024-09-14-2-months-into-my-first-3d-printer.html rename to content/blog/2024-09-14-2-months-into-my-first-3d-printer.html index ee53e8f..ea3a75f 100644 --- a/posts/2024-09-14-2-months-into-my-first-3d-printer.html +++ b/content/blog/2024-09-14-2-months-into-my-first-3d-printer.html @@ -1,25 +1,8 @@ - - - - -dork.dev - 2 months into my first 3D printer - - - - - - - -
-
-

dork.dev - 2 months into my first 3D printer

-
-
-
-
- Published on . - -

Ender 3 V3 SE

+

+++ +title = "2 months into my first 3D printer" +date = 2024-09-14T19:26:06Z ++++ +Ender 3 V3 SE

Pre-arrival

I ordered the Ender 3 V3 SE while it was on sale at C$229 on 2024-06-29 from Creality directly. It arrived a week later on 2024-07-05.

Problems start - extruder and build plate

@@ -70,20 +53,3 @@ It took two days for my fiancée to notice the actual problem to its full extent

In the future, I'm likely to get a G10 bed for the purposes of not having to expend glue for prints while still getting decent bed adhesion. If I had known it was an option ahead of time, I definitely would've bought it initially in the first place.

When finances are less rigid, I intend to upgrade the belts on my printer to using linear rails where possible instead.

A full picture of my intended upgrades can be found here.

- -
-
- -
- - diff --git a/posts/2025-06-20-keyboards.html b/content/blog/2025-06-20-keyboards.html similarity index 60% rename from posts/2025-06-20-keyboards.html rename to content/blog/2025-06-20-keyboards.html index 7f039a2..3bde791 100644 --- a/posts/2025-06-20-keyboards.html +++ b/content/blog/2025-06-20-keyboards.html @@ -1,25 +1,8 @@ - - - - -dork.dev - I built two keyboards over the last year! - - - - - - - -
-
-

dork.dev - I built two keyboards over the last year!

-
-
-
-
- Published on . - -

Handwired

+

+++ +title = "I built two keyboards over the last year!" +date = 2025-06-20T07:53:17Z ++++

+

Handwired

Design: Void40

Inspired by a video sent to me by a friend, "Building a Split USB-C Handwired Keyboard" by Joe Scotto, I started initially with a 3x3 macropad in the same style as Joe Scotto.

I moved onto a Planck-like shortly afterwards, initially I was using a large RP2040 devboard, but I settled on an RP2040 Zero (not pictured!).

@@ -45,20 +28,3 @@ Keyboard design: "S

Keycaps are KAT Cyberspace.

I spent an awful lot of time debugging issues that were fundamentally my own fault for following the build guide wrong in one way or another, but I feel like it turned out very pretty.

[Sofle RGB]

- -
-
- -
- - diff --git a/posts/2025-06-20-taimihud.html b/content/blog/2025-06-20-taimihud.html similarity index 85% rename from posts/2025-06-20-taimihud.html rename to content/blog/2025-06-20-taimihud.html index b16ed29..83f47e2 100644 --- a/posts/2025-06-20-taimihud.html +++ b/content/blog/2025-06-20-taimihud.html @@ -1,25 +1,8 @@ - - - - -dork.dev - TaimiHUD - finally, I can play Guild Wars 2 on Linux! - - - - - - - -
-
-

dork.dev - TaimiHUD - finally, I can play Guild Wars 2 on Linux!

-
-
-
-
- Published on . - -

An unbelievable quantity of thanks to:

+

+++ +title = "TaimiHUD - finally, I can play Guild Wars 2 on Linux!" +date = "2025-06-20T07:53:23Z" ++++

+

An unbelievable quantity of thanks to:

  • Sarah, my beloved friend, for:
      @@ -117,20 +100,3 @@

      My wife contributed us the revamp to support ArcDPS and I see no reason why we should not continue to support any reasonable loader options in future.

      Community

      Look out in the near future! I will likely be making a discord and so on for this project.

      - -
-
- -
- - diff --git a/content/blog/2025-07-08-moved-to-zola.html b/content/blog/2025-07-08-moved-to-zola.html new file mode 100644 index 0000000..65ae343 --- /dev/null +++ b/content/blog/2025-07-08-moved-to-zola.html @@ -0,0 +1,4 @@ +

+++ +title = "I moved from Cobalt to Zola!" ++++ +I was particularly unkeen with how Cobalt was handling datetimes and so decided to move to Zola, especially since TaimiHUD's website is going to be using it also. This setup is basically derived/duplicated from the TaimiHUD website setup.

diff --git a/posts/framework-desktop.png b/content/blog/framework-desktop.png similarity index 100% rename from posts/framework-desktop.png rename to content/blog/framework-desktop.png diff --git a/posts/framework-laptop.jpg b/content/blog/framework-laptop.jpg similarity index 100% rename from posts/framework-laptop.jpg rename to content/blog/framework-laptop.jpg diff --git a/posts/framework-lutris.png b/content/blog/framework-lutris.png similarity index 100% rename from posts/framework-lutris.png rename to content/blog/framework-lutris.png diff --git a/posts/framework-steam.png b/content/blog/framework-steam.png similarity index 100% rename from posts/framework-steam.png rename to content/blog/framework-steam.png diff --git a/posts/handwire-keyboard-matrix.jpg b/content/blog/handwire-keyboard-matrix.jpg similarity index 100% rename from posts/handwire-keyboard-matrix.jpg rename to content/blog/handwire-keyboard-matrix.jpg diff --git a/posts/handwire-keyboard-mcu.jpg b/content/blog/handwire-keyboard-mcu.jpg similarity index 100% rename from posts/handwire-keyboard-mcu.jpg rename to content/blog/handwire-keyboard-mcu.jpg diff --git a/posts/handwire-keyboard.jpg b/content/blog/handwire-keyboard.jpg similarity index 100% rename from posts/handwire-keyboard.jpg rename to content/blog/handwire-keyboard.jpg diff --git a/posts/printer.jpg b/content/blog/printer.jpg similarity index 100% rename from posts/printer.jpg rename to content/blog/printer.jpg diff --git a/posts/sofle-rgb-finished.jpg b/content/blog/sofle-rgb-finished.jpg similarity index 100% rename from posts/sofle-rgb-finished.jpg rename to content/blog/sofle-rgb-finished.jpg diff --git a/posts/taimihud-billboard.png b/content/blog/taimihud-billboard.png similarity index 100% rename from posts/taimihud-billboard.png rename to content/blog/taimihud-billboard.png diff --git a/posts/taimihud-cats.png b/content/blog/taimihud-cats.png similarity index 100% rename from posts/taimihud-cats.png rename to content/blog/taimihud-cats.png diff --git a/posts/taimihud-markers-ui.png b/content/blog/taimihud-markers-ui.png similarity index 100% rename from posts/taimihud-markers-ui.png rename to content/blog/taimihud-markers-ui.png diff --git a/posts/taimihud-pathing.png b/content/blog/taimihud-pathing.png similarity index 100% rename from posts/taimihud-pathing.png rename to content/blog/taimihud-pathing.png diff --git a/posts/taimihud-timers-ui.png b/content/blog/taimihud-timers-ui.png similarity index 100% rename from posts/taimihud-timers-ui.png rename to content/blog/taimihud-timers-ui.png diff --git a/posts/taimihud-timers.png b/content/blog/taimihud-timers.png similarity index 100% rename from posts/taimihud-timers.png rename to content/blog/taimihud-timers.png diff --git a/posts/taimihud.png b/content/blog/taimihud.png similarity index 100% rename from posts/taimihud.png rename to content/blog/taimihud.png diff --git a/flake.lock b/flake.lock index 94ed893..73bc67b 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1712439257, - "narHash": "sha256-aSpiNepFOMk9932HOax0XwNxbA38GOUVOiXfUVPOrck=", + "lastModified": 1750741721, + "narHash": "sha256-Z0djmTa1YmnGMfE9jEe05oO4zggjDmxOGKwt844bUhE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ff0dbd94265ac470dda06a657d5fe49de93b4599", + "rev": "4b1164c3215f018c4442463a27689d973cffd750", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index a4dee0f..8cad917 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,5 @@ { - description = "dork.dev, using the cobalt ssg"; + description = "dork.dev; using Zola"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; diff --git a/index.html b/index.html deleted file mode 100644 index b672253..0000000 --- a/index.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - -dork.dev - Home - - - - - - - -
-
-

dork.dev - Home

-
-
-
-
-

about

-

Hi! I'm kat and I'm a dorky developer (meant affectionately, of course; I chose the dork life ^~^).

-

My hobbies involve software development, system administration, infrastructure, smart home projects, hobbyist electronics, playing with SDR, reading books and manga, watching anime, cooking and baking.

-

I am currently studying for an amateur radio qualification in Canada and I hope to eventually get a firearms possession and acquisition license and a first aid qualification.

-

This website is not for talking about my professional life, but for credence; I am a DevOps engineer with two years of experience and I have a bachelors (at a first) in Digital Forensics and Cyber Security.

-
-
-

posts

- -
-
-

projects

- -
- -
- -
- - diff --git a/posts/2024-04-07-hello-world.html b/posts/2024-04-07-hello-world.html deleted file mode 100644 index 126c6c9..0000000 --- a/posts/2024-04-07-hello-world.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - -dork.dev - Doing something with this domain! - - - - - - - -
-
-

dork.dev - Doing something with this domain!

-
-
-
-
- Published on . - -

I've moved this website to use cobalt! Hopefully I should be making posts here, too. ^^

-

I have a few ideas for posts here, including talking about starting with using the RTL-SDR v4 and my experiences so far with the Framework 13 laptop.

- -
-
- -
- - diff --git a/public/blog/framework-desktop.png b/public/blog/framework-desktop.png new file mode 100644 index 0000000..894581f Binary files /dev/null and b/public/blog/framework-desktop.png differ diff --git a/public/blog/framework-laptop.jpg b/public/blog/framework-laptop.jpg new file mode 100644 index 0000000..4522450 Binary files /dev/null and b/public/blog/framework-laptop.jpg differ diff --git a/public/blog/framework-lutris.png b/public/blog/framework-lutris.png new file mode 100644 index 0000000..8cb7278 Binary files /dev/null and b/public/blog/framework-lutris.png differ diff --git a/public/blog/framework-steam.png b/public/blog/framework-steam.png new file mode 100644 index 0000000..b4f208a Binary files /dev/null and b/public/blog/framework-steam.png differ diff --git a/public/blog/handwire-keyboard-matrix.jpg b/public/blog/handwire-keyboard-matrix.jpg new file mode 100644 index 0000000..fb01fe2 Binary files /dev/null and b/public/blog/handwire-keyboard-matrix.jpg differ diff --git a/public/blog/handwire-keyboard-mcu.jpg b/public/blog/handwire-keyboard-mcu.jpg new file mode 100644 index 0000000..7ae6fb8 Binary files /dev/null and b/public/blog/handwire-keyboard-mcu.jpg differ diff --git a/public/blog/handwire-keyboard.jpg b/public/blog/handwire-keyboard.jpg new file mode 100644 index 0000000..ce5926f Binary files /dev/null and b/public/blog/handwire-keyboard.jpg differ diff --git a/public/blog/printer.jpg b/public/blog/printer.jpg new file mode 100644 index 0000000..bd531cc Binary files /dev/null and b/public/blog/printer.jpg differ diff --git a/public/blog/sofle-rgb-finished.jpg b/public/blog/sofle-rgb-finished.jpg new file mode 100644 index 0000000..0b76ad0 Binary files /dev/null and b/public/blog/sofle-rgb-finished.jpg differ diff --git a/public/blog/taimihud-billboard.png b/public/blog/taimihud-billboard.png new file mode 100644 index 0000000..d41a514 Binary files /dev/null and b/public/blog/taimihud-billboard.png differ diff --git a/public/blog/taimihud-cats.png b/public/blog/taimihud-cats.png new file mode 100644 index 0000000..56598c7 Binary files /dev/null and b/public/blog/taimihud-cats.png differ diff --git a/public/blog/taimihud-markers-ui.png b/public/blog/taimihud-markers-ui.png new file mode 100644 index 0000000..6de2fbf Binary files /dev/null and b/public/blog/taimihud-markers-ui.png differ diff --git a/public/blog/taimihud-pathing.png b/public/blog/taimihud-pathing.png new file mode 100644 index 0000000..80f8be4 Binary files /dev/null and b/public/blog/taimihud-pathing.png differ diff --git a/public/blog/taimihud-timers-ui.png b/public/blog/taimihud-timers-ui.png new file mode 100644 index 0000000..e8628ad Binary files /dev/null and b/public/blog/taimihud-timers-ui.png differ diff --git a/public/blog/taimihud-timers.png b/public/blog/taimihud-timers.png new file mode 100644 index 0000000..8732e85 Binary files /dev/null and b/public/blog/taimihud-timers.png differ diff --git a/public/blog/taimihud.png b/public/blog/taimihud.png new file mode 100644 index 0000000..e9da125 Binary files /dev/null and b/public/blog/taimihud.png differ diff --git a/public/elasticlunr.min.js b/public/elasticlunr.min.js new file mode 100644 index 0000000..79dad65 --- /dev/null +++ b/public/elasticlunr.min.js @@ -0,0 +1,10 @@ +/** + * elasticlunr - http://weixsong.github.io + * Lightweight full-text search engine in Javascript for browser search and offline search. - 0.9.6 + * + * Copyright (C) 2017 Oliver Nightingale + * Copyright (C) 2017 Wei Song + * MIT Licensed + * @license + */ +!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();odork.devhttps://dork.devkat, the dorky developerTaimiHUD - finally, I can play Guild Wars 2 on Linux!https://dork.dev/posts/2025-06-20-taimihud.htmlAn unbelievable quantity of thanks to: -]]>https://dork.dev/posts/2025-06-20-taimihud.htmlFri, 20 Jun 2025 07:53:23 +0000I built two keyboards over the last year!https://dork.dev/posts/2025-06-20-keyboards.htmlHandwired -]]>https://dork.dev/posts/2025-06-20-keyboards.htmlFri, 20 Jun 2025 07:53:17 +00002 months into my first 3D printerhttps://dork.dev/posts/2024-09-14-2-months-into-my-first-3d-printer.htmlEnder 3 V3 SE

-]]>
https://dork.dev/posts/2024-09-14-2-months-into-my-first-3d-printer.htmlSat, 14 Sep 2024 19:26:06 +0000
The first month of life with the Framework 13https://dork.dev/posts/2024-04-07-the-first-month-of-life-with-the-framework-13.htmlPreparation -]]>https://dork.dev/posts/2024-04-07-the-first-month-of-life-with-the-framework-13.htmlSun, 07 Apr 2024 19:34:59 +0000Doing something with this domain!https://dork.dev/posts/2024-04-07-hello-world.htmlI've moved this website to use cobalt! Hopefully I should be making posts here, too. ^^

-]]>
https://dork.dev/posts/2024-04-07-hello-world.htmlSun, 07 Apr 2024 19:34:53 +0000
diff --git a/sass/stylesheet.css b/sass/stylesheet.css new file mode 100644 index 0000000..627224e --- /dev/null +++ b/sass/stylesheet.css @@ -0,0 +1,105 @@ +* { + box-sizing: border-box; } + +html { + font-family: "Monaspace Krypton", monospace; } + +body { + /* Make the body a 80 character wide container */ + width: 80ch; + /* Center the container within the viewport */ + margin: 0 auto; + /* Give the lines an adequate amount of room to breathe. */ + line-height: 1.4; + /* Make sure the edge of the body has a gap for mobile */ + padding: 1em; } + +#gallery ul { + list-style-type: none; + margin: 0; + padding: 0; + column-count: 2; } + +img { + /* Make sure that the images do not overflow the body */ + max-width: 100%; + /* Make sure that the images are not too tall as to be annoying */ + max-height: 50ch; } + +header nav ul { + list-style-type: none; + margin: 0; + padding: 0; + display: flex; + flex-wrap: wrap; + gap: 0.5em; } + header nav ul li { + display: inline-block; + padding: 0; + margin: 0; + flex-grow: 1; + text-align: center; } + +#interests ul { + column-count: 2; } + +a, a:link { + text-decoration: none; + color: #16b1bd; } + +a:visited { + text-decoration: none; + color: #3784e8; } + +a:hover { + text-decoration: none; + color: #37DCE8; + border-bottom: 0.01rem #37DCE8 solid; } + +a:hover:has(img) { + border: none; + padding: 0.02rem; } + a:hover:has(img) img { + border: 0.01rem #37DCE8 solid; } + +/* We want the footer to be like two columns, where the right columns are also right-aligned and the columns grow to share the space sanely. */ +footer nav ul { + list-style-type: none; + padding: 0; + margin: 0; + display: flex; + flex-wrap: wrap; + column-count: 2; + gap: 0.5em 0.25em; } + footer nav ul li { + padding: 0; + margin: 0; + flex-grow: 1; } + footer nav ul li:nth-child(2n) { + text-align: right; } + +@media (prefers-color-scheme: dark) { + html { + color: #ddd; + background: #141414; } + h1, h2, h3 { + color: #eee; } } + +@media (prefers-color-scheme: light) { + html { + color: #333; + background: #fcfcfc; } + h1, h2, h3 { + color: #111; } } + +html:has(#color-scheme-dark:checked) { + color: #ddd; + background: #141414; } + html:has(#color-scheme-dark:checked) h1, html:has(#color-scheme-dark:checked) h2, html:has(#color-scheme-dark:checked) h3 { + color: #eee; } + +html:has(#color-scheme-light:checked) { + color: #333; + background: #fcfcfc; } + html:has(#color-scheme-light:checked) h1, html:has(#color-scheme-light:checked) h2, html:has(#color-scheme-light:checked) h3 { + color: #111; } diff --git a/shell.nix b/shell.nix index 535b6bb..75df41e 100644 --- a/shell.nix +++ b/shell.nix @@ -1,8 +1,8 @@ {pkgs ? import {}}: let - inherit (pkgs) mkShell cobalt; + inherit (pkgs) mkShell zola; in mkShell { packages = [ - cobalt + zola ]; } diff --git a/stylesheet.css b/stylesheet.css deleted file mode 100644 index 6e8bd0f..0000000 --- a/stylesheet.css +++ /dev/null @@ -1,48 +0,0 @@ -/* Let's keep it stupid, simple. ^^ */ -* { - /* Make CSS sizing sane */ - box-sizing: border-box; } - -html { - font-family: "Monaspace Krypton", monospace; - /* Make the main text not solid black */ - color: #333; - /* Let's not use solid white */ - background: #fcfcfc; } - -body { - /* Make the body a 80 character wide container */ - width: 80ch; - /* Center the container within the viewport */ - margin: 0 auto; - /* Give the lines an adequate amount of room to breathe. */ - line-height: 1.4; - /* Make sure the edge of the body has a gap for mobile */ - padding: 1em; } - -h1, h2, h3 { - /* More contrast with the headers than the main text */ - color: #111; } - -img { - /* Make sure that the images do not overflow the body */ - max-width: 100%; - /* Make sure that the images are not too tall as to be annoying */ - max-height: 50ch; } - -/* We want the footer to be like two columns, where the right columns are also right-aligned and the columns grow to share the space sanely. */ -footer nav ul { - list-style-type: none; - padding: 0; - margin: 0; - display: flex; - flex-wrap: wrap; - column-count: 2; - gap: 0.5em 0.25em; } - footer nav ul li { - display: inline-block; - padding: 0; - margin: 0; - flex-grow: 1; } - footer nav ul li:nth-child(2n) { - text-align: right; } diff --git a/templates/base.html b/templates/base.html new file mode 100644 index 0000000..055434d --- /dev/null +++ b/templates/base.html @@ -0,0 +1,24 @@ + + + + + + {{ config.extra.site_title }} + {% include "head.html" %} + + + +
+
+ {% include "header.html" %} +
+
+ {% block content %} {% endblock content %} +
+
+ {% include "footer.html" %} +
+
+ + + diff --git a/templates/blog.html b/templates/blog.html new file mode 100644 index 0000000..90b3a03 --- /dev/null +++ b/templates/blog.html @@ -0,0 +1,18 @@ +{% extends "base.html" %} + +{% block content %} +
+

Blogposts

+
    + {% for post in section.pages %} +
  • + +
  • + {% endfor %} +
+
+{% endblock content %} + diff --git a/templates/footer.html b/templates/footer.html new file mode 100644 index 0000000..148777a --- /dev/null +++ b/templates/footer.html @@ -0,0 +1,9 @@ +
+ \ No newline at end of file diff --git a/templates/head.html b/templates/head.html new file mode 100644 index 0000000..6b4c5fd --- /dev/null +++ b/templates/head.html @@ -0,0 +1,7 @@ + +{{ config.extra.site_title }} + + + + + diff --git a/templates/header.html b/templates/header.html new file mode 100644 index 0000000..67640ed --- /dev/null +++ b/templates/header.html @@ -0,0 +1,13 @@ + + + + + +

{{ config.extra.site_title }}

+ +
diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000..8533782 --- /dev/null +++ b/templates/index.html @@ -0,0 +1,75 @@ +{% extends "base.html" %} + +{% block content %} +
+

About

+ + Hi! I'm Kat. I have an eclectic range of interests. +
+ +
+

Interests

+ +
    +
  • Software Development
  • +
  • Video game modding
  • +
  • System Administration
  • +
  • Development Operations
  • +
  • Digital Infrastructure
  • +
  • Hobbyist Electronics
  • +
  • Smart Home Projects
  • +
  • Software-defined Radio
  • +
  • Amateur Radio (not yet licensed!)
  • +
  • Firearms
  • +
  • Anime and Manga
  • +
  • Cyber Security
  • +
  • 3D Printing
  • +
  • Mechanical Keyboards
  • +
+
+ +
+

Projects

+ + Please see my GitHub. + + + +
+ +{% endblock content %} diff --git a/templates/page.html b/templates/page.html new file mode 100644 index 0000000..c127084 --- /dev/null +++ b/templates/page.html @@ -0,0 +1,9 @@ +{% extends "base.html" %} + +{% block content %} +

+ {{ page.title }} +

+

+{{ page.content | safe }} +{% endblock content %}