Compare commits

..

3 commits

Author SHA1 Message Date
0a7e78015b
feat: add extern
Some checks failed
Publish / publish (push) Failing after 40s
2025-11-09 07:14:29 -08:00
fc43c018e5
feat: move banners into a containing directory 2025-11-09 06:39:49 -08:00
6ebd2ddee9
feat: put javascript into separate files 2025-11-09 06:34:41 -08:00
59 changed files with 142 additions and 80 deletions

7
content/external/_index.md vendored Normal file
View file

@ -0,0 +1,7 @@
+++
title = "Blog"
sort_by = "date"
template = "external.html"
page_template = "page.html"
draft = false
+++

35
content/external/external.toml vendored Normal file
View file

@ -0,0 +1,35 @@
[0-smart-questions]
title = "How To Ask Questions The Smart Way"
author = "Eric S. Raymond, Rick Moen"
permalink = "http://catb.org/~esr/faqs/smart-questions.html"
archive = "https://archive.ph/4Nsm2"
[1-humanitys-endgame]
title = "Humanity's Endgame"
author = "Henry Wismayer"
permalink = "https://www.noemamag.com/humanitys-endgame/"
archive = "https://archive.ph/wvnUr"
[2-if-all-the-world-were-a-monorepo]
title = "If all the world were a monorepo"
author = "Julie Tibshirani"
permalink = "https://jtibs.substack.com/p/if-all-the-world-were-a-monorepo"
archive = "https://archive.ph/5ZOw2"
[3-microsoft-broke-my-voice]
title = "Microsoft broke my voice"
author = "a_lilian"
permalink = "https://www.youtube.com/watch?v=LKcT-aQuIFs"
suffix = "YouTube"
[4-burn-after-watching]
title = "Burn After Watching"
author = "a_lilian"
permalink = "https://www.youtube.com/watch?v=-IargH0hL-s"
suffix = "YouTube"
[5-lost-ephemera]
title = "Lost Ephemera - The traces we left behind"
author = "a_lilian"
permalink = "https://www.youtube.com/watch?v=xbg-Jjfw2Dg"
suffix = "YouTube"

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 377 B

After

Width:  |  Height:  |  Size: 377 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 402 B

After

Width:  |  Height:  |  Size: 402 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 521 B

After

Width:  |  Height:  |  Size: 521 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 743 B

After

Width:  |  Height:  |  Size: 743 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 916 B

After

Width:  |  Height:  |  Size: 916 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 495 B

After

Width:  |  Height:  |  Size: 495 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 445 B

After

Width:  |  Height:  |  Size: 445 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 47 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 258 B

After

Width:  |  Height:  |  Size: 258 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 247 B

After

Width:  |  Height:  |  Size: 247 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 695 B

After

Width:  |  Height:  |  Size: 695 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 351 B

After

Width:  |  Height:  |  Size: 351 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 2 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 242 B

After

Width:  |  Height:  |  Size: 242 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 272 B

After

Width:  |  Height:  |  Size: 272 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 483 B

After

Width:  |  Height:  |  Size: 483 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 250 B

After

Width:  |  Height:  |  Size: 250 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 503 B

After

Width:  |  Height:  |  Size: 503 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Before After
Before After

20
static/colorscheme.js Normal file
View file

@ -0,0 +1,20 @@
var radios = document.getElementsByName("color-scheme");
var prev = localStorage.getItem("color-scheme");
for (var i = 0; i < radios.length; i++) {
var _this = radios[i];
_this.checked = _this.value == prev;
radios[i].addEventListener("change", function() {
if (this.value !== prev) {
prev = this.value;
localStorage.setItem("color-scheme", this.value);
}
});
}
var button = document.getElementById("clear-color-scheme");
button.addEventListener("click", function() {
for (var i = 0; i < radios.length; i++) {
var _this = radios[i];
_this.checked = false;
localStorage.removeItem("color-scheme");
}
});

9
static/nonoscript.js Normal file
View file

@ -0,0 +1,9 @@
function nonoscriptImplementer() {
var nonoscript = document.getElementsByClassName("nonoscript");
console.log(nonoscript);
for (let item of nonoscript) {
console.log("meep!");
item.classList.remove("nonoscript");
}
}
window.onload = nonoscriptImplementer();

View file

@ -49,26 +49,6 @@
<noscript>Persistence of user-selected color scheme is not possible without Javascript, however automatic detection from CSS will still work.</noscript>
<script>
var radios = document.getElementsByName("color-scheme");
var prev = localStorage.getItem("color-scheme");
for (var i = 0; i < radios.length; i++) {
var _this = radios[i];
_this.checked = _this.value == prev;
radios[i].addEventListener("change", function() {
if (this.value !== prev) {
prev = this.value;
localStorage.setItem("color-scheme", this.value);
}
});
}
var button = document.getElementById("clear-color-scheme");
button.addEventListener("click", function() {
for (var i = 0; i < radios.length; i++) {
var _this = radios[i];
_this.checked = false;
localStorage.removeItem("color-scheme");
}
});
<script src="/colorscheme.js">
</script>
<!-- End of component for color scheme selection -->

19
templates/external.html Normal file
View file

@ -0,0 +1,19 @@
{% extends "base.html" %}
{% block content %}
<section id="blogposts">
<h2>Things I find value in sharing</h2>
<ul>
{% set data = load_data(path="content/external/external.toml") %}
{% for k, v in data %}
<li>
<article>
<a href="{{v.permalink | safe}}"><strong>{{ v.title }}</strong></a>
{% if v.author is defined %} by {{ v.author }}{% endif %}{% if v.archive is defined %} - <a href="{{v.archive}}">Archive</a> {% endif %}{% if v.suffix is defined %} ({{ v.suffix }}){% endif %}
</article>
</li>
{% endfor %}
</ul>
</section>
{% endblock content %}

View file

@ -5,6 +5,7 @@
<ul>
<li><a href="/">Home</a></li>
<li><a href="/blog">Blog</a></li>
<li><a href="/external">External</a></li>
</ul>
</nav>
<hr>

View file

@ -37,72 +37,72 @@ b D+ G e++ h--- r+++ x+
<h3>Web badges <small><a href="https://en.wikipedia.org/wiki/Web_badge">Explain?</a></small></h3>
<div class="button-container">
<img src="nonhuman.png" alt="I'm therian; non-human."/>
<img src="trans.png" alt="I'm a transgender woman."/>
<img src="nb.png" alt="I also identify as non-binary."/>
<img src="lesbian.png" alt="I'm a lesbian."/>
<img src="polyamory.png" alt="I'm polyamorous."/>
<img src="autism.png" alt="I'm autistic."/>
<img src="pluralproud.png" alt="Plural and proud!"/>
<img src="ourpaws.png" alt="Furry!"/>
<img src="blahaj.png" alt="I love my IKEA sharks"/>
<img src="boykisser.png" alt=":3"/>
<img src="/88x31/nonhuman.png" alt="I'm therian; non-human."/>
<img src="/88x31/trans.png" alt="I'm a transgender woman."/>
<img src="/88x31/nb.png" alt="I also identify as non-binary."/>
<img src="/88x31/lesbian.png" alt="I'm a lesbian."/>
<img src="/88x31/polyamory.png" alt="I'm polyamorous."/>
<img src="/88x31/autism.png" alt="I'm autistic."/>
<img src="/88x31/pluralproud.png" alt="Plural and proud!"/>
<img src="/88x31/ourpaws.png" alt="Furry!"/>
<img src="/88x31/blahaj.png" alt="I love my IKEA sharks"/>
<img src="/88x31/boykisser.png" alt=":3"/>
<a href="https://nixos.org">
<img src="nixos.png" alt="Powered by NixOS; the website isn't currently but hopefully will be in the future! I run it on everything else though."/>
<img src="/88x31/nixos.png" alt="Powered by NixOS; the website isn't currently but hopefully will be in the future! I run it on everything else though."/>
</a>
<a href="https://neovim.io">
<img src="neovim.gif" alt="Made with Neovim"/>
<img src="/88x31/neovim.gif" alt="Made with Neovim"/>
</a>
<a href="https://firefox.com">
<img src="fftake.gif" alt="Firefox; take back the web!"/>
<img src="/88x31/fftake.gif" alt="Firefox; take back the web!"/>
</a>
<a href="https://ublockorigin.com/">
<img src="button-ublock.gif" alt="uBlock Origin, now! Death to the corporate web!"/>
<img src="/88x31/button-ublock.gif" alt="uBlock Origin, now! Death to the corporate web!"/>
</a>
<img src="abc.gif" alt="Anything but Chrome!"/>
<img src="/88x31/abc.gif" alt="Anything but Chrome!"/>
<a href="https://canada.ca">
<img src="canada.gif" alt="Canadian flag with Eh?"/>
<img src="/88x31/canada.gif" alt="Canadian flag with Eh?"/>
</a>
<a href="https://gov.uk">
<img src="briish.gif" alt="Union Jack; flag of the United Kingdom"/>
<img src="/88x31/briish.gif" alt="Union Jack; flag of the United Kingdom"/>
</a>
<img src="anarchynow.gif" alt="Anarchy, now!"/>
<img src="piracy.png" alt="Piracy, now!"/>
<img src="pgp-now.gif" alt="PGP, now!"/>
<img src="antinazi.gif" alt="Death to fascists!"/>
<img src="roly-saynotoweb3.gif" alt="Fuck Web3!"/>
<img src="fucknfts.png" alt="Fuck NFTs!"/>
<img src="antidiscord.gif" alt="Fuck Discord!"/>
<img src="ircworks.gif" alt="IRC works!"/>
<img src="acab.gif" alt="All cops are bastards"/>
<img src="trn.png" alt="Trans rights, now!"/>
<img src="ao3.gif" alt="Pro AO3 freak"/>
<img src="xenia.png" alt="Xenia my beloved"/>
<img src="openeyes.jpg" alt="Open your eyes!"/>
<img src="acidnow.jpg" alt="Acid now! :p"/>
<img src="keysmash.gif" alt="Keysmash equality"/>
<img src="button-2hu.gif" alt="2hu!!!"/>
<img src="badapple.webp" alt="bad apple!!!"/>
<img src="cuteanimegirls.gif" alt="Cute anime girls, now! :3"/>
<img src="lain.gif" alt="Serial Experiments Lain"/>
<img src="ccs.gif" alt="Cardcaptor Sakura :3"/>
<img src="/88x31/anarchynow.gif" alt="Anarchy, now!"/>
<img src="/88x31/piracy.png" alt="Piracy, now!"/>
<img src="/88x31/pgp-now.gif" alt="PGP, now!"/>
<img src="/88x31/antinazi.gif" alt="Death to fascists!"/>
<img src="/88x31/roly-saynotoweb3.gif" alt="Fuck Web3!"/>
<img src="/88x31/fucknfts.png" alt="Fuck NFTs!"/>
<img src="/88x31/antidiscord.gif" alt="Fuck Discord!"/>
<img src="/88x31/ircworks.gif" alt="IRC works!"/>
<img src="/88x31/acab.gif" alt="All cops are bastards"/>
<img src="/88x31/trn.png" alt="Trans rights, now!"/>
<img src="/88x31/ao3.gif" alt="Pro AO3 freak"/>
<img src="/88x31/xenia.png" alt="Xenia my beloved"/>
<img src="/88x31/openeyes.jpg" alt="Open your eyes!"/>
<img src="/88x31/acidnow.jpg" alt="Acid now! :p"/>
<img src="/88x31/keysmash.gif" alt="Keysmash equality"/>
<img src="/88x31/button-2hu.gif" alt="2hu!!!"/>
<img src="/88x31/badapple.webp" alt="bad apple!!!"/>
<img src="/88x31/cuteanimegirls.gif" alt="Cute anime girls, now! :3"/>
<img src="/88x31/lain.gif" alt="Serial Experiments Lain"/>
<img src="/88x31/ccs.gif" alt="Cardcaptor Sakura :3"/>
<a href="https://pokemon.com">
<img src="pokemon.jpg" alt="Pokemon forever!"/>
<img src="/88x31/pokemon.jpg" alt="Pokemon forever!"/>
</a>
<img src="medjed.jpg" alt="Medjed; <3 Futaba Sakura, <3 Persona 5"/>
<img src="hl.gif" alt="Half Life"/>
<img src="minecraft.gif" alt="Minecraft"/>
<img src="button-html.gif" alt="&lt;HTML&gt Learn it today">
<img src="button-css.gif" alt="CSS is difficult">
<img src="button-grid.gif" alt="Made with CSS Grid">
<img src="queer.png" alt="You're telling me a queer coded this?">
<img src="/88x31/medjed.jpg" alt="Medjed; <3 Futaba Sakura, <3 Persona 5"/>
<img src="/88x31/hl.gif" alt="Half Life"/>
<img src="/88x31/minecraft.gif" alt="Minecraft"/>
<img src="/88x31/button-html.gif" alt="&lt;HTML&gt Learn it today">
<img src="/88x31/button-css.gif" alt="CSS is difficult">
<img src="/88x31/button-grid.gif" alt="Made with CSS Grid">
<img src="/88x31/queer.png" alt="You're telling me a queer coded this?">
</div>
<br>
<h4>Sources, where known:</h4>
<a href="https://rainy.gay"><img src="rainysource.png" alt="rainy.gay"/></a>
<a href="https://github.com/moosyu/buttons"><img src="moosyuBtn.gif" alt="moosyu"/></a>
<a href="https://qalle.neocities.org/88x31/"><img src="qalle.png" alt="qalle"/></a>
<a href="https://capstasher.neocities.org/"><img src="capstasher.png" alt="capstasher"></a>
<a href="https://rainy.gay"><img src="/88x31/rainysource.png" alt="rainy.gay"/></a>
<a href="https://github.com/moosyu/buttons"><img src="/88x31/moosyuBtn.gif" alt="moosyu"/></a>
<a href="https://qalle.neocities.org/88x31/"><img src="/88x31/qalle.png" alt="qalle"/></a>
<a href="https://capstasher.neocities.org/"><img src="/88x31/capstasher.png" alt="capstasher"></a>
<a href="https://hellnet.work">hellnet.work</a>
<hr>
</section>

View file

@ -16,15 +16,6 @@
```
-->
<script>
function nonoscriptImplementer() {
var nonoscript = document.getElementsByClassName("nonoscript");
console.log(nonoscript);
for (let item of nonoscript) {
console.log("meep!");
item.classList.remove("nonoscript");
}
}
window.onload = nonoscriptImplementer();
<script src="/nonoscript.js">
</script>
<!-- End of component for no-noscript -->