implemented eleventy filter for links

This commit is contained in:
sundae 2025-10-19 15:55:35 +03:00
parent fb24c6a302
commit c8223447a0
No known key found for this signature in database
41 changed files with 230 additions and 205 deletions

View file

@ -8,9 +8,12 @@ avatar: /assets/img/art/sundae_glistening.png
## {{page.fileSlug}}
<time datetime="{{date|ISO}}">{{date|readable}}</time>
<time datetime="{{date|ISO}}">Published: {{date|readable}}</time>
{%if modified%}
<time datetime="{{modified|ISO}}">Last modified: {{modified|readable}}</time>
{%endif%}
<section aria-label="Post warning">
<section class="post-warning">
WARNING: BORING NERD TOPIC AHOY
@ -28,17 +31,17 @@ Actually, it had been mostly finished for a while (since July 1st), but I hit a
### I have <s>no</s> some idea what I'm doing
For starters, porting a website (at least one that's paw-written by yours truly) to a static site generator like [Eleventy](https://11ty.dev/) was definitely something, having only dabbled with editing `.html` and `.css` files without hosting a local server.
For starters, porting a website (at least one that's paw-written by yours truly) to a static site generator like {{"Eleventy"|link:"https://11ty.dev/"}} was definitely something, having only dabbled with editing `.html` and `.css` files without hosting a local server.
Initially I went looking around for a base (as to not start from complete scratch) to use and found [Smol 11ty Starter by 5t3ph](https://github.com/5t3ph/smol-11ty-starter) and set it up.
Initially I went looking around for a base (as to not start from complete scratch") to use and found {{"Smol 11ty Starter by 5t3ph"|link:"https://github.com/5t3ph/smol-11ty-starter"}} and set it up.
I was **very eager** to start working on it, and because I decided to do so late at night, I didn't consult any documentation and thus felt like it would be impossible to learn [Nunjucks](https://mozilla.github.io/nunjucks/) (one of the [templating languages](https://www.11ty.dev/docs/languages/) used in Eleventy) got upset, settled down and slept.
I was **very eager** to start working on it, and because I decided to do so late at night, I didn't consult any documentation and thus felt like it would be impossible to learn {{"Nunjucks"|link:"https://mozilla.github.io/nunjucks/"}} (one of the {{"templating languages"|link:"https://www.11ty.dev/docs/languages/"}} used in Eleventy") got upset, settled down and slept.
### You're telling me that Java scripted this?
I still don't understand JavaScript that well, got stumped on a couple of things, and as a result I took some time off working on the re-write.
Regardless, I had ported over the base layout and most pages, which would be around 90% of the work done within the first couple of days. The last 10% that was left being: having to tackle date conversion with [Luxon](https://github.com/moment/luxon), setting custom filters for Eleventy to use them and forgetting to port a few page elements to `.json` data tables.
Regardless, I had ported over the base layout and most pages, which would be around 90% of the work done within the first couple of days. The last 10% that was left being: having to tackle date conversion with {{"Luxon"|link:"https://github.com/moment/luxon"}}, setting custom filters for Eleventy to use them and forgetting to port a few page elements to `.json` data tables.
Currently, my filters are handled really shittily, but they work whenever I build my site.

View file

@ -5,19 +5,23 @@ blurb: <p>i hate luxon</p><p><a href="/assets/img/blog/luxon.png"><img src="/ass
avatar: /assets/img/art/sundae_lick.gif
---
## {{page.fileSlug}}
<time datetime="{{date|ISO}}">{{date|readable}}</time>
<time datetime="{{date|ISO}}">Published: {{date|readable}}</time>
{%if modified%}
<time datetime="{{modified|ISO}}">Last modified: {{modified|readable}}</time>
{%endif%}
I haven't worked on much of anything the past 8+ months, and out of the blue, I decided that I wasn't happy with how my website was looking, so I've been spending a couple of weeks working on rewriting the site and writing this post up.
### So, what's new?
It's now [open source](https://bunsin.space/forgejo/sundae/website) under <abbr title="Creative Commons Attribution-NonCommercial-ShareAlike 4.0">CC-BY-NC-SA 4.0</abbr>!
It's now {{"open source"|link:"https://bunsin.space/forgejo/sundae/website"}} under <abbr title="Creative Commons Attribution-NonCommercial-ShareAlike 4.0">CC-BY-NC-SA 4.0</abbr>!
Besides that, a lot is new, actually. For starters, I ported the site over to a fresh build of [Eleventy 3.1.0](https://github.com/11ty/eleventy/releases/tag/v3.1.0), which was way easier than I expected, [since I originally started from a base](/blog/break-time#i-have-no-some-idea-what-i'm-doing).
Besides that, a lot is new, actually. For starters, I ported the site over to a fresh build of {{"Eleventy 3.1.0"|link:"https://github.com/11ty/eleventy/releases/tag/v3.1.0"}}, which was way easier than I expected, {{"since I originally started from a base"|link:"/blog/break-time#i-have-no-some-idea-what-i'm-doing"}}.
I figured out that standard `markdown` doesn't implement header links (without manually adding in inline `html` headings with `id` attributes), so I ended up switching to [markdown-it](https://github.com/markdown-it/markdown-it) and [markdown-it-anchor](https://github.com/valeriangalliat/markdown-it-anchor).
I figured out that standard `markdown` doesn't implement header links (without manually adding in inline `html` headings with `id` attributes), so I ended up switching to {{"markdown-it"|link:"https://github.com/markdown-it/markdown-it"}} and {{"markdown-it-anchor"|link:"https://github.com/valeriangalliat/markdown-it-anchor"}}.
I switched to using [date-fns](https://date-fns.org) aswell, instead of [Luxon](https://github.com/moment/luxon/). This library is just way better documented, for someone that still sort of struggles with JavaScript.
I switched to using {{"date-fns"|link:"https://date-fns.org"}} aswell, instead of {{"Luxon"|link:"https://github.com/moment/luxon/"}}. This library is just way better documented, for someone that still sort of struggles with JavaScript.
Here's a snippet of my time filters in my `eleventy.config.js`:
@ -32,7 +36,7 @@ eleventyConfig.addFilter("readable", (dateObj) => {
});
```
They're just two, which I previously [struggled to achieve with Luxon](/blog/break-time/#you're-telling-me-that-java-scripted-this%3F), requiring me to end up writing an extra filter, which I still do not know why it was erroring.
They're just two, which I [previously struggled to achieve with Luxon](/blog/break-time/#you're-telling-me-that-java-scripted-this%3F), requiring me to end up writing an extra filter, which I still do not know why it was erroring.
### Smaller stuff
@ -40,7 +44,7 @@ I wasn't exactly a fan of how I laid out my [interests](/home#interests), previo
I've changed them to be more minimal, mimicking Windows desktop entries with the shortcut icon.
If you'd like to implement the shelving for your own website, you can find the source files in the [old branch](https://bunsin.space/forgejo/sundae/website/src/branch/old).
If you'd like to implement the shelving for your own website, you can find the source files in the {{"old branch"|link:"https://bunsin.space/forgejo/sundae/website/src/branch/old"}}.
<section><a href="/assets/img/blog/shelf.png"><figure><img src="/assets/img/blog/shelf.png" alt=""><figcaption>How the shelving featuring my personal favorite games and music looked before.</figcaption></figure></a>
<a href="/assets/img/blog/media.png"><figure><img src="/assets/img/blog/media.png" alt=""><figcaption>How it looks now.<br>Note: the cut-off in the middle is meant to showcase the light and dark theme.</figcaption></figure></a></section>

View file

@ -1,21 +1,31 @@
---
description: Working with Linux
date: 2024-06-22
modified: 2025-09-09
modified: 2025-10-19
blurb: <p><a href="https://blog.codinghorror.com/the-works-on-my-machine-certification-program/"><img src="/assets/img/blog/works-on-my-machine.png" alt="Shiny golden stamp with text 'Works on my machine'"></a></p><p>whatever i'm using might not necessarily work for you</p>
avatar: /assets/img/art/sundae_glistening.png
---
## {{page.fileSlug}}
<time datetime="{{date|ISO}}">{{date|readable}}</time>
<time datetime="{{date|ISO}}">Published: {{date|readable}}</time>
{%if modified%}
<time datetime="{{modified|ISO}}">Last modified: {{modified|readable}}</time>
{%endif%}
<section aria-label="Addendum">
<section class="addendum">
With Microsoft announcing that <span>![](https://www.google.com/s2/favicons?domain=https://microsoft.com)[Windows 10 will stop being supported after October 14, 2025](https://support.microsoft.com/en-us/windows/windows-10-support-ends-on-october-14-2025-2ca8b313-1946-43d3-b55c-2b95b107f281)</span>, I highly recommend looking into Linux if your device is on Windows 10 and you don't want to buy a whole new device that meets the system requirements of 11.
**Addendum:**
<span>![](https://www.google.com/s2/favicons?domain=https://kde.org)[Here's a handy resource](https://kde.org/for/w10-exiles/)</span> if you aren't sure how to proceed.
{{"Microsoft has ended Windows 10 support on October 14, 2025"|link:"https://support.microsoft.com/en-us/windows/windows-10-support-ends-on-october-14-2025-2ca8b313-1946-43d3-b55c-2b95b107f281"}}
I'm not paid or anything to mention this, I just think **we shouldn't have to put up with capitalist bullshit to continue using a device.**
I highly recommend looking into Linux if your device is on Windows 10 and you don't want to buy a whole new device that meets the system requirements of Windows 11.
Here's a few resources if you aren't sure what to do:
- {{"KDE For Windows 10 Exiles"|link:"https://kde.org/for/w10-exiles/"}}
- {{"Distrochooser"|link:"https://distrochooser.de/"}}
- {{"iFixit guide on installing Linux on Windows PCs"|link:"https://www.ifixit.com/Guide/How+to+Install+Linux+on+a+Windows+PC/196722"}}
I'm not paid or anything to mention these, I just think **we shouldn't have to put up with capitalist bullshit to continue using a device.**
</section>
I've been using Linux exclusively for the past 3 months and the switch to it has been pretty fun!
@ -38,17 +48,19 @@ So... the hardest part about moving is, well, how would I move to Linux? There's
### Decisions
I went to set up a virtual machine to understand what I'd want out of a "new" operating system, so I tried out <span>![](https://www.google.com/s2/favicons?domain=https://fedoraproject.org)[Fedora Workstation](https://fedoraproject.org/#editions)</span> at first and it felt pretty seamless, I didn't have to use the terminal for much of anything.
I went to set up a virtual machine to understand what I'd want out of a "new" operating system, so I tried out {{"Fedora Workstation"|link:"https://fedoraproject.org/#editions"}} at first and it felt pretty seamless, I didn't have to use the terminal for much of anything.
I tinkered with it for a couple of days before deciding to look up system/media installers for Linux distributions (that are able to be run on Windows) and coming up empty-handed, cluelessly thinking that somehow only Windows manages to offer one.
...Until I found <span>![](https://www.google.com/s2/favicons?domain=https://debian.org)[Debian's System Installer for Windows (win32loader)](https://wiki.debian.org/DebianInstaller/Loader)</span>, which I tried running under a Windows 11 virtual machine to see if it would fail to install, and it didn't!
...Until I found {{"Debian's System Installer for Windows (win32-loader)"|link:"https://en.wikipedia.org/wiki/Debian-Installer"}}, which I tried running under a Windows 11 virtual machine to see if it would fail to install, and it didn't!
So I just went ahead and installed it over my actual Windows partition (backing up my documents prior).
<aside><span><img src="https://www.google.com/s2/favicons?domain=https://ventoy.net" alt=""><a href="https://www.ventoy.net/en/faq.html">Ventoy is able to boot from a HDD/SSD</a></span> if you are willing to sacrifice one (temporarily) to install it on there.
<aside>{{"Ventoy is able to boot from a HDD/SSD"|link:"https://www.ventoy.net/en/faq.html"}} if you are willing to sacrifice one (temporarily) to install it on there.
<b>I didn't know this</b>, and I've hardly seen anyone bring up solutions, besides off-handed suggestions about using a flash drive—and every guide basically centering around that notion, but a flash drive is <em>not necessary.</em></aside>
I would <u>not recommend</u> installing <span>![](https://www.google.com/s2/favicons?domain=https://debian.org)[Debian](https://www.debian.org)</span> to anyone new to Linux whatsoever, or with the method I used.
I would <u>not recommend</u> installing {{"Debian"|link:"https://www.debian.org"}} to anyone new to Linux whatsoever, or with the method I used.
<hr>
Here's a little anecdote:
@ -63,11 +75,11 @@ If anything, at least I got some experience with the terminal, which I thought i
Besides Debian, so far I've tried:
* <span>![](https://www.google.com/s2/favicons?domain=https://fedoraproject.org)[Fedora](https://fedoraproject.org)</span>
* {{"Fedora"|link:"https://fedoraproject.org"}}
_(Aforementioned in a virtual machine. Overall very solid, might come around to using it again)_
* <span>![](https://www.google.com/s2/favicons?domain=https://manjaro.org)[Manjaro](https://manjaro.org/)</span>
* {{"Manjaro"|link:"https://manjaro.org/"}}
_(Tries too hard being beginner-friendly, needed to tinker to get my Nvidia GPU to work) as of v24/Wynsdey_
* <span>![](https://www.google.com/s2/favicons?domain=https://endeavouros.com)[EndeavourOS](https://endeavouros.com/)</span>
* {{"EndeavourOS"|link:"https://endeavouros.com/"}}
_(Works out of the box with my Nvidia GPU, minimal issues)_
And out of them, Endeavour has been the most comfortable experience for me, so far.
@ -81,29 +93,29 @@ It's personally been no cost to me with the hobbies I have, keyword: <u>personal
Here's a few programs I used before switching over, that didn't/won't have a Linux port:
* <span>![](https://www.google.com/s2/favicons?domain=https://notepad-plus-plus.org)[Notepad++](https://notepad-plus-plus.org)</span>, replaced by <span>![](https://www.google.com/s2/favicons?domain=https://vscodium.com)[VSCodium](https://vscodium.com/)</span>
* <span>![](https://www.google.com/s2/favicons?domain=https://getpaint.net)[paint.net](https://getpaint.net/)</span>, replaced by <span>![](https://www.google.com/s2/favicons?domain=https://gimp.org)[GIMP](https://www.gimp.org)</span>
* <span>![](https://www.google.com/s2/favicons?domain=https://foobar2000.org)[foobar2000](https://www.foobar2000.org)</span>, replaced by [DeaDBeeF](https://deadbeef.sourceforge.io/)
* <span>![](https://www.google.com/s2/favicons?domain=https://nvidia.com)[Nvidia ShadowPlay](https://www.nvidia.com/en-us/geforce/geforce-experience/shadowplay/)</span>, replaced by <span>![](https://www.google.com/s2/favicons?domain=https://obsproject.com)[OBS Studio](https://obsproject.com)</span>, which I achieved by toggling "Enable Replay Buffer" in the Output settings and setting up keybinds associated.
* {{"Notepad++"|link:"https://notepad-plus-plus.org"}}, replaced by {{"VSCodium"|link:"https://vscodium.com/"}}
* {{"paint.net"|link:"https://getpaint.net/"}}, replaced by {{"GIMP"|link:"https://www.gimp.org"}}
* {{"foobar2000"|link:"https://www.foobar2000.org"}}, replaced by {{"DeaDBeeF"|link:"https://deadbeef.sourceforge.io/"}}
* {{"Nvidia ShadowPlay"|link:"https://www.nvidia.com/en-us/geforce/geforce-experience/shadowplay/"}}, replaced by {{"OBS Studio"|link:"https://obsproject.com"}}, which I achieved by toggling "Enable Replay Buffer" in the Output settings and setting up keybinds associated.
... that being said, the programs that I do miss using from Windows are:
* <span>![](https://www.google.com/s2/favicons?domain=https://getsharex.com)[ShareX](https://getsharex.com/)</span>
* {{"ShareX"|link:"https://getsharex.com"}}
_(screenshotting utility)_
* <span>![](https://www.google.com/s2/favicons?domain=https://voidtools.com)[Everything by voidtools](https://www.voidtools.com/)</span>
* {{"Everything by voidtools"|link:"https://www.voidtools.com/"}}
_(fast file search/indexer)_
<aside>If you are curious about what kind of programs Linux offers, take a look at <span><img src="https://www.google.com/s2/favicons?domain=https://kde.org" alt=""><a href="https://apps.kde.org">KDE apps</a></span>, <span><img src="https://www.google.com/s2/favicons?domain=https://gnome.org" alt=""><a href="https://apps.gnome.org">GNOME apps</a></span> and <span><img src="https://www.google.com/s2/favicons?domain=https://flathub.org" alt=""><a href="https://flathub.org">Flathub</a></span>.</aside>
<aside>If you are curious about what kind of programs Linux offers, take a look at {{"KDE apps"|link:"https://apps.kde.org"}}, {{"GNOME apps"|link:"https://apps.gnome.org"}} and {{"Flathub"|link:"https://flathub.org"}}.</aside>
ShareX is by and large the most useful tool for taking screenshots and packed with some miscellaneous multi-purpose tools inside, both [Spectacle](https://apps.kde.org/spectacle/) and [Flameshot](https://flathub.org/apps/org.flameshot.Flameshot) felt a bit lackluster in comparison.
ShareX is by and large the most useful tool for taking screenshots and packed with some miscellaneous multi-purpose tools inside, both {{"Spectacle"|link:"https://invent.kde.org/plasma/spectacle"}} and {{"Flameshot"|link:"https://flameshot.org/"}} felt a bit lackluster in comparison.
Despite that, I've been using Spectacle and it's pretty good if I look past that.
Everything by voidtools is just muscle memory as a result of Windows's slow search indexer.
[Dolphin](https://apps.kde.org/dolphin) can list any file I know the filename of way quicker than Windows ever could.
{{"Dolphin"|link:"https://apps.kde.org/dolphin"}} can list any file I know the filename of way quicker than Windows ever could.
### GAMING
Linux can run a ton of games with [Proton](https://www.protondb.com)
Linux can run a ton of games with {{"Proton"|link:"https://www.protondb.com"}}
I'm not super knowledgeable about its inner workings, so I'm not gonna try to sound like I do.
...yeah I don't have much to say about this at the time of writing, I've basically been shuffling 3 games whenever I do play something lately. It's not been bad so far!
...yeah I don't have much to say about this at the time of writing, I've basically been shuffling 3 games whenever I do play something lately. It's not been bad so far!