feat: move categories to tags

This commit is contained in:
Devin Haska 2024-02-17 00:10:43 -08:00
parent b6c9a2b75c
commit 327b38f35b
56 changed files with 125 additions and 136 deletions

View file

@ -1,65 +1,18 @@
const path = require("path").posix; const postsByTag = (collection) => {
const { dir } = require("../constants.js"); const posts = collection.getFilteredByTag("post");
const { slugifyString } = require("../utils.js");
const getAllPosts = (collection) => { const postsByTag = {};
const posts = collection.getFilteredByGlob(
path.join(dir.input, "content/posts/**/*.md"),
);
return posts.reverse();
};
const getAllPostCategories = (collection) => { for (const post of posts) {
const posts = getAllPosts(collection); for (const tag of post.data.tags) {
postsByTag[tag] ??= [];
const allCategories = posts.flatMap((post) => post.data.categories); postsByTag[tag].push(post);
}
const categoryCounts = allCategories.reduce((acc, category) => {
if (acc[category]) {
acc[category]++;
} else {
acc[category] = 1;
} }
return acc; return postsByTag;
}, {});
const categories = Object.entries(categoryCounts)
.map(([category, count]) => ({
key: slugifyString(category),
title: category,
href: `/tags/${slugifyString(category)}`,
count: count,
}))
.sort((a, b) => b.count - a.count);
return categories;
};
const getPostsByCategory = (collection) => {
const posts = getAllPosts(collection);
const categories = Object.keys(getAllPostCategories(collection));
const postsByCategory = categories
.map((category) => ({
category,
posts: posts.filter((post) => post.data.categories.includes(category)),
}))
.sort((a, b) => b.posts.length - a.posts.length);
return postsByCategory;
};
const getAllCatalogue = (collection) => {
const items = collection.getFilteredByGlob(
path.join(dir.input, "content/catalogue/**/*.md"),
);
return items.reverse();
}; };
module.exports = { module.exports = {
getAllCatalogue, postsByTag,
getAllPostCategories,
getAllPosts,
getPostsByCategory,
}; };

View file

@ -4,6 +4,7 @@ const advancedFormat = require("dayjs/plugin/advancedFormat");
const postcss = require("postcss"); const postcss = require("postcss");
const cssnano = require("cssnano"); const cssnano = require("cssnano");
const { default: slugify } = require("slugify");
const keys = Object.keys; const keys = Object.keys;
const values = Object.values; const values = Object.values;
@ -40,6 +41,43 @@ const filterByCategory = (collection, category) => {
return collection.filter((item) => item.data.categories.includes(category)); return collection.filter((item) => item.data.categories.includes(category));
}; };
const allTags = (collection, ignore = []) => {
const tagSet = new Set(collection.flatMap((item) => item.data.tags));
ignore.forEach((tag) => tagSet.delete(tag));
return [...tagSet];
};
const allTagCounts = (collection, ignore = ["post"]) => {
if (!collection.length) {
throw new Error("Invalid collection, no items");
}
const tagCounts = new Map();
for (const item of collection) {
const tags = item.data.tags;
tags?.forEach((tag) => tagCounts.set(tag, (tagCounts.get(tag) || 0) + 1));
}
ignore.forEach((tag) => tagCounts.delete(tag));
const tagArray = Array.from(tagCounts.entries())
.map(([tag, count]) => ({
tag,
count,
}))
.sort((a, b) => b.count - a.count);
return tagArray;
};
const filter = (collection, filters = []) => {
return collection.filter((item) => !filters.includes(item));
};
module.exports = { module.exports = {
entries, entries,
filterByCategory, filterByCategory,
@ -48,4 +86,7 @@ module.exports = {
minifyCss, minifyCss,
organizeByDate, organizeByDate,
values, values,
allTags,
allTagCounts,
filter,
}; };

View file

@ -1,9 +1,4 @@
const { const { postsByTag } = require("./config/collections/index.js");
getAllPosts,
getAllPostCategories,
getPostsByCategory,
getAllCatalogue,
} = require("./config/collections/index.js");
const { dir } = require("./config/constants.js"); const { dir } = require("./config/constants.js");
const { const {
entries, entries,
@ -13,6 +8,9 @@ const {
organizeByDate, organizeByDate,
keys, keys,
filterByCategory, filterByCategory,
allTags,
allTagCounts,
filter,
} = require("./config/filters/index.js"); } = require("./config/filters/index.js");
const markdown = require("./config/plugins/markdown.js"); const markdown = require("./config/plugins/markdown.js");
const imageShortcode = require("./config/shortcodes/image.js"); const imageShortcode = require("./config/shortcodes/image.js");
@ -25,14 +23,13 @@ module.exports = (eleventyConfig) => {
require("./config/template-languages/css-config.js"), require("./config/template-languages/css-config.js"),
); );
eleventyConfig.addCollection("posts", getAllPosts); // --------------------- Custom Collections -----------------------
eleventyConfig.addCollection("categories", getAllPostCategories); eleventyConfig.addCollection("postsByTag", postsByTag);
eleventyConfig.addCollection("postsByCategory", getPostsByCategory);
eleventyConfig.addCollection("catalogue", getAllCatalogue);
// --------------------- Custom Filters ----------------------- // --------------------- Custom Filters -----------------------
eleventyConfig.addFilter("allTagCounts", allTagCounts);
eleventyConfig.addFilter("entries", entries); eleventyConfig.addFilter("entries", entries);
eleventyConfig.addFilter("filterByCategory", filterByCategory); eleventyConfig.addFilter("filter", filter);
eleventyConfig.addFilter("formatDate", formatDate); eleventyConfig.addFilter("formatDate", formatDate);
eleventyConfig.addFilter("keys", keys); eleventyConfig.addFilter("keys", keys);
eleventyConfig.addFilter("minifyCss", minifyCss); eleventyConfig.addFilter("minifyCss", minifyCss);

View file

@ -9,9 +9,9 @@ layout: base
{{ date | formatDate("MMMM D, YYYY") }}</time> {{ date | formatDate("MMMM D, YYYY") }}</time>
<h1>{{ title }}</h1> <h1>{{ title }}</h1>
<ul class="[ categories ] [ flex gap-1 list-none p-0 ]"> <ul class="[ categories ] [ flex gap-1 list-none p-0 ]">
{% for category in categories %} {% for tag in tags | filter(["post"]) %}
<li> <li>
<a class="[ flex ]" href="/tags/{{ category }}">{{ category }}</a> <a class="[ flex ]" href="/tags/{{ tag | slugify }}">{{ tag }}</a>
</li> </li>
{% endfor %} {% endfor %}
</ul> </ul>

View file

@ -1,5 +1,5 @@
{ {
"layout": "catalogue", "layout": "catalogue",
"tags": "books", "tags": "book",
"permalink": "books/{{ page.fileSlug }}/index.html" "permalink": "books/{{ page.fileSlug }}/index.html"
} }

View file

@ -0,0 +1,3 @@
{
"tags": "catalogue"
}

View file

@ -5,5 +5,4 @@ title: Catalogue
--- ---
<h1>Catalogue yo</h1> <h1>Catalogue yo</h1>
{% set items = collections.catalogue %} {% for item in collections.catalogue %}{{ item.data.tags | dump }}{% endfor %}
{% include "partials/archive.html" %}

View file

@ -8,5 +8,5 @@ title: Posts
<p> <p>
View all <a href="/tags">tags</a> View all <a href="/tags">tags</a>
</p> </p>
{% set items = collections.posts %} {% set items = collections.post %}
{% include "partials/archive.html" %} {% include "partials/archive.html" %}

View file

@ -1,14 +1,14 @@
--- ---
eleventyComputed:
title: "Tag: {{ category.title }}"
permalink: "{{ category.href }}/index.html"
layout: base layout: base
pagination: pagination:
data: collections.categories data: collections.postsByTag
size: 1 size: 1
alias: category alias: tag
filter:
- post
permalink: /tags/{{ tag | slugify }}/index.html
--- ---
<h1>Tag: {{ category.title }}</h1> <h1>Tag: {{ tag }}</h1>
{% set items = collections.posts | filterByCategory(category.title) %} {% set items = collections.postsByTag[ tag ] %}
{% include "partials/archive.html" %} {% include "partials/archive.html" %}

View file

@ -4,13 +4,14 @@ permalink: /tags/index.html
title: All tags title: All tags
--- ---
{% set tags = collections.post | allTagCounts %}
<section class="[ flow ]"> <section class="[ flow ]">
<h1>{{ title }}</h1> <h1>{{ title }}</h1>
<ol class="[ flex flex-wrap gap-0.5 list-none p-0 mb-0 ]"> <ol class="[ flex flex-wrap gap-0.5 list-none p-0 mb-0 ]">
{% for category in collections.categories %} {% for tag in tags %}
<li> <li>
<a href="{{ category.href }}" <a href="/tags/{{ tag.tag | slugify }}"
class="[ pill ] [ flex px-1 py-0.5 gap-0.5 ]">{{ category.title }} <span class="[ pill-count ]">{{ category.count }}</span></a> class="[ pill ] [ flex px-1 py-0.5 gap-0.5 ]">{{ tag.tag }} <span class="[ pill-count ]">{{ tag.count }}</span></a>
</li> </li>
{% endfor %} {% endfor %}
</ol> </ol>

View file

@ -2,7 +2,7 @@
title: "2020: In Review" title: "2020: In Review"
date: 2021-01-09 date: 2021-01-09
excerpt: A remarkable year. excerpt: A remarkable year.
categories: ["year recap"] tags: ["year recap"]
--- ---
How do you even begin to summarize the whirlwind that was 2020? What are the Greatest Hits? Heres a short list: How do you even begin to summarize the whirlwind that was 2020? What are the Greatest Hits? Heres a short list:

View file

@ -2,7 +2,7 @@
title: "2021 Ranked: Games" title: "2021 Ranked: Games"
date: 2022-01-18T20:52:22.166Z date: 2022-01-18T20:52:22.166Z
excerpt: All of the games I played in 2021. Ranked. excerpt: All of the games I played in 2021. Ranked.
categories: ["rankings"] tags: ["rankings"]
--- ---
As we move onto the year ahead that will be 2022 (please dont be the sequel everyone expects it to be), I always like to look at the past year and see what caught my attention. Lets look at all the games I played in 2021. Keep in mind these didnt all come out that year. Meanwhile Ill rank them all. As we move onto the year ahead that will be 2022 (please dont be the sequel everyone expects it to be), I always like to look at the past year and see what caught my attention. Lets look at all the games I played in 2021. Keep in mind these didnt all come out that year. Meanwhile Ill rank them all.

View file

@ -2,7 +2,7 @@
title: A Primer on Canadian Government title: A Primer on Canadian Government
date: "2021-01-27" date: "2021-01-27"
excerpt: Canadas parliamentary system explained. excerpt: Canadas parliamentary system explained.
categories: ["canada", "government"] tags: ["canada", "government"]
--- ---
In the last four years Ive learned an awful lot about how the United States government functions at a high level, and even on specifics like the House and Senate processes. Meanwhile Im foggy at best on how Canadas government functions. I decided to educate myself. In the last four years Ive learned an awful lot about how the United States government functions at a high level, and even on specifics like the House and Senate processes. Meanwhile Im foggy at best on how Canadas government functions. I decided to educate myself.

View file

@ -2,7 +2,7 @@
title: Thoughts on the Apple Watch title: Thoughts on the Apple Watch
date: 2019-05-20 date: 2019-05-20
excerpt: My experience with the Series 3 Apple Watch, 11 months later. excerpt: My experience with the Series 3 Apple Watch, 11 months later.
categories: ["apple watch", "apple"] tags: ["apple watch", "apple"]
--- ---
Since I started going to the gym regularly and kept watch on what foods I ate, I became more interested in monitoring my calories burned during workouts. Initially I thought I should get a Fitbit, but I wasnt too fond of their lineup at the time. At the time of writing they also _still_ dont sync to Apple or Android Health. When the Apple Watch was initially revealed I toyed with the idea of buying one, but had yet to come up with a compelling reason to buy it. Given my newfound interest in fitness and health, and that I had given the Watch a few months to bake - it seemed like now (June 2018) was good a time as ever to jump in. I decided one hot day that it was time for me to jump into the world of wearable tech. Since I started going to the gym regularly and kept watch on what foods I ate, I became more interested in monitoring my calories burned during workouts. Initially I thought I should get a Fitbit, but I wasnt too fond of their lineup at the time. At the time of writing they also _still_ dont sync to Apple or Android Health. When the Apple Watch was initially revealed I toyed with the idea of buying one, but had yet to come up with a compelling reason to buy it. Given my newfound interest in fitness and health, and that I had given the Watch a few months to bake - it seemed like now (June 2018) was good a time as ever to jump in. I decided one hot day that it was time for me to jump into the world of wearable tech.

View file

@ -2,7 +2,7 @@
title: Checking In title: Checking In
date: 2021-11-24T07:03:52.766Z date: 2021-11-24T07:03:52.766Z
excerpt: Kept you waiting, huh? excerpt: Kept you waiting, huh?
categories: ["checking in"] tags: ["checking in"]
--- ---
Ive dropped my regular writing habit as of late. I wanted to write a quick post to say Im doing alright. Whats happened recently? Ive dropped my regular writing habit as of late. I wanted to write a quick post to say Im doing alright. Whats happened recently?

View file

@ -2,7 +2,7 @@
title: Coming back to vinyl title: Coming back to vinyl
date: 2019-09-14 date: 2019-09-14
excerpt: Sometimes minimalism goes too far. excerpt: Sometimes minimalism goes too far.
categories: ["vinyl", "collecting", "minimalism"] tags: ["vinyl", "collecting", "minimalism"]
--- ---
This is an update to my post from a few months ago about a cautionary tale into collecting vinyl. I stand by the post, but I wanted to mention that Im back into the hobby. What happened? This is an update to my post from a few months ago about a cautionary tale into collecting vinyl. I stand by the post, but I wanted to mention that Im back into the hobby. What happened?

View file

@ -2,7 +2,7 @@
title: Give In to Feel Good title: Give In to Feel Good
date: 2020-08-16 date: 2020-08-16
excerpt: Procrastination isnt just about laziness, is it? excerpt: Procrastination isnt just about laziness, is it?
categories: ["procrastination", "mental health"] tags: ["procrastination", "mental health"]
--- ---
Procrastination is something I struggle with every single day. I find it often strikes as critical thoughts: Procrastination is something I struggle with every single day. I find it often strikes as critical thoughts:

View file

@ -3,7 +3,7 @@ title: "GMTK Game Jam Post-Mortem"
date: "2021-07-03T07:25:56.354Z" date: "2021-07-03T07:25:56.354Z"
excerpt: My first game jam ever. excerpt: My first game jam ever.
draft: false draft: false
categories: ["gamejam", "gamedev"] tags: ["gamejam", "gamedev"]
--- ---
This year I participated in the [GMTK Game Jam](https://gmtk.itch.io) with two friends. It lasted 48 hours from June 11th to 13th. My main responsibility was the art department. This year I participated in the [GMTK Game Jam](https://gmtk.itch.io) with two friends. It lasted 48 hours from June 11th to 13th. My main responsibility was the art department.

View file

@ -2,7 +2,7 @@
title: How this blog works title: How this blog works
date: 2019-04-13 date: 2019-04-13
excerpt: Everything powering this blog explained. excerpt: Everything powering this blog explained.
categories: ["gatsbyjs", "ssg", "react"] tags: ["gatsbyjs", "ssg", "react"]
--- ---
--- ---

View file

@ -2,7 +2,7 @@
title: "It's Been a While" title: "It's Been a While"
date: 2022-10-02T03:07:55.330Z date: 2022-10-02T03:07:55.330Z
excerpt: February 2022 - September 2022. excerpt: February 2022 - September 2022.
categories: ["gba", "updates", "burnout"] tags: ["gba", "updates", "burnout"]
--- ---
{% image "https://cdn.wonderfulfrog.com/unknown.jpg", "An AI generated image using the prompt 'a frog playing a game boy in watercolor'.", "" %} {% image "https://cdn.wonderfulfrog.com/unknown.jpg", "An AI generated image using the prompt 'a frog playing a game boy in watercolor'.", "" %}

View file

@ -2,7 +2,7 @@
title: Lately title: Lately
date: 2024-01-02T03:36:21.754Z date: 2024-01-02T03:36:21.754Z
excerpt: Kept you waiting, huh? excerpt: Kept you waiting, huh?
categories: ["updates"] tags: ["updates"]
--- ---
I know it's been a long time since my last post. Over a year in fact. I'd like to do a recap on the major life events, because there's been a lot! I know it's been a long time since my last post. Over a year in fact. I'd like to do a recap on the major life events, because there's been a lot!

View file

@ -3,7 +3,7 @@ title: My vim setup
draft: false draft: false
date: 2021-04-18T20:24:10.177Z date: 2021-04-18T20:24:10.177Z
excerpt: Everybody does it differently. excerpt: Everybody does it differently.
categories: ["vim", "development"] tags: ["vim", "development"]
--- ---
{% image "https://cdn.wonderfulfrog.com/vimsetup.png", "A screenshot of my `vim` setup in action.", "" %} {% image "https://cdn.wonderfulfrog.com/vimsetup.png", "A screenshot of my `vim` setup in action.", "" %}

View file

@ -2,7 +2,7 @@
title: My vinyl journey title: My vinyl journey
date: 2018-12-09 date: 2018-12-09
excerpt: A cautionary tale of getting into collecting records. excerpt: A cautionary tale of getting into collecting records.
categories: ["music", "vinyl", "collecting"] tags: ["music", "vinyl", "collecting"]
--- ---
**Update 04/16/2019**: See the updates section at the bottom for further discussion. **Update 04/16/2019**: See the updates section at the bottom for further discussion.

View file

@ -1,5 +1,5 @@
{ {
"layout": "post", "layout": "post",
"tags": "posts", "tags": "post",
"permalink": "posts/{{ page.fileSlug }}/index.html" "permalink": "posts/{{ page.fileSlug }}/index.html"
} }

View file

@ -2,7 +2,7 @@
title: Professional development in 2018 title: Professional development in 2018
date: 2019-01-07 date: 2019-01-07
excerpt: A look back at what happened in 2018 - professionally. For me. excerpt: A look back at what happened in 2018 - professionally. For me.
categories: ["personal", "career", "growth", "react"] tags: ["personal", "career", "growth", "react"]
--- ---
In 2018 I received the opportunity to develop my professional skills and further my career development. Id like to highlight some developments and things I wish to focus on and improve in the next year. In 2018 I received the opportunity to develop my professional skills and further my career development. Id like to highlight some developments and things I wish to focus on and improve in the next year.

View file

@ -2,7 +2,7 @@
title: Professional development in 2019 title: Professional development in 2019
date: 2020-01-23 date: 2020-01-23
excerpt: A look back at what happened in 2019 - professionally. For me. excerpt: A look back at what happened in 2019 - professionally. For me.
categories: ["career", "growth", "personal", "react", "swift"] tags: ["career", "growth", "personal", "react", "swift"]
--- ---
{% image "https://cdn.wonderfulfrog.com/dude-pretending-to-read.png", "A dude sitting on a chair with legs crossed casually pretending to read but seemingly looking off into the distance with a confident smile, or perhaps to look at a neat dog. From Open Doodles.", "" %} {% image "https://cdn.wonderfulfrog.com/dude-pretending-to-read.png", "A dude sitting on a chair with legs crossed casually pretending to read but seemingly looking off into the distance with a confident smile, or perhaps to look at a neat dog. From Open Doodles.", "" %}

View file

@ -2,7 +2,7 @@
title: Recently title: Recently
date: 2021-02-01 date: 2021-02-01
excerpt: January 2021. excerpt: January 2021.
categories: ["recently"] tags: ["recently"]
--- ---
Its been a rough month. Ive been struggling. I feel tired all the time and dont know why. Smarter heads than me suggest its stress — with world events being what they are. Its been a rough month. Ive been struggling. I feel tired all the time and dont know why. Smarter heads than me suggest its stress — with world events being what they are.

View file

@ -2,7 +2,7 @@
title: Recently title: Recently
date: 2022-02-01T23:49:47.158Z date: 2022-02-01T23:49:47.158Z
excerpt: February 2022. excerpt: February 2022.
categories: ["recently"] tags: ["recently"]
--- ---
{% image "https://cdn.wonderfulfrog.com/lastfm-feb-2022.jpeg", "My most-played music last month.", "" %} {% image "https://cdn.wonderfulfrog.com/lastfm-feb-2022.jpeg", "My most-played music last month.", "" %}

View file

@ -2,7 +2,7 @@
title: Recently title: Recently
date: 2021-03-05 date: 2021-03-05
excerpt: February 2021. excerpt: February 2021.
categories: ["recently", "valheim"] tags: ["recently", "valheim"]
--- ---
{% image "https://cdn.wonderfulfrog.com/forestsunrise.png", "A screenshot of Valheim with a sunrise coming through a thick, dense forest." , "" %} {% image "https://cdn.wonderfulfrog.com/forestsunrise.png", "A screenshot of Valheim with a sunrise coming through a thick, dense forest." , "" %}

View file

@ -1,9 +1,8 @@
--- ---
title: Recently title: Recently
draft: false
date: 2021-04-01T19:03:49.841Z date: 2021-04-01T19:03:49.841Z
excerpt: March 2021. excerpt: March 2021.
categories: ["recently", "valheim"] tags: ["recently", "valheim"]
--- ---
{% image "https://cdn.wonderfulfrog.com/coolbow.png", "My Valheim character under the moon." %} {% image "https://cdn.wonderfulfrog.com/coolbow.png", "My Valheim character under the moon." %}

View file

@ -2,7 +2,7 @@
title: Recently title: Recently
date: 2020-05-18 date: 2020-05-18
excerpt: May 2020. excerpt: May 2020.
categories: ["recently"] tags: ["recently"]
--- ---
A bad habit of mine is not updating my site with some new writing. After reading Tom MacWright's "[How to blog](https://macwright.org/2019/02/06/how-to-blog.html)" (and the rest of his fantastic site), I decided that I like the idea of writing on a schedule. So, I'm going to do my darnedest to makes sure I write something at least once a month. I like the title of "Recently", so I'm opting to steal that. A bad habit of mine is not updating my site with some new writing. After reading Tom MacWright's "[How to blog](https://macwright.org/2019/02/06/how-to-blog.html)" (and the rest of his fantastic site), I decided that I like the idea of writing on a schedule. So, I'm going to do my darnedest to makes sure I write something at least once a month. I like the title of "Recently", so I'm opting to steal that.

View file

@ -3,7 +3,7 @@ title: Recently
draft: false draft: false
date: 2021-05-01T19:03:49.841Z date: 2021-05-01T19:03:49.841Z
excerpt: April 2021. excerpt: April 2021.
categories: ["recently"] tags: ["recently"]
--- ---
{% image "https://cdn.wonderfulfrog.com/mistergotcha.png", "The Nib's 'Mister Gotcha' comic" %} {% image "https://cdn.wonderfulfrog.com/mistergotcha.png", "The Nib's 'Mister Gotcha' comic" %}

View file

@ -2,7 +2,7 @@
title: Recently title: Recently
date: 2020-06-02 date: 2020-06-02
excerpt: June 2020. excerpt: June 2020.
categories: ["recently"] tags: ["recently"]
--- ---
{% image "https://cdn.wonderfulfrog.com/wolfgang.jpg", "Wolfgang reading a book in an idyllic forest paradise", "" %} {% image "https://cdn.wonderfulfrog.com/wolfgang.jpg", "Wolfgang reading a book in an idyllic forest paradise", "" %}

View file

@ -1,9 +1,8 @@
--- ---
title: Recently title: Recently
draft: false
date: 2021-06-01T19:03:49.841Z date: 2021-06-01T19:03:49.841Z
excerpt: May 2021. excerpt: May 2021.
categories: ["recently"] tags: ["recently"]
--- ---
{% image "https://cdn.wonderfulfrog.com/coffee_time_with_dexter.jpg", "Miitopia: where you end up in cafe enjoying your coffee, with Dexter from Dexter's Lab being your barista.", "" %} {% image "https://cdn.wonderfulfrog.com/coffee_time_with_dexter.jpg", "Miitopia: where you end up in cafe enjoying your coffee, with Dexter from Dexter's Lab being your barista.", "" %}

View file

@ -2,7 +2,7 @@
title: Recently title: Recently
date: 2020-07-04 date: 2020-07-04
excerpt: July 2020. excerpt: July 2020.
categories: ["recently"] tags: ["recently"]
--- ---
{% image "https://wonderfulfrog.b-cdn.net/lady-actually-reading.svg", "Lady reading her book in what must be eventually pretty uncomfortable, but at least she has a nice cactus. From Open Doodles.", "" %} {% image "https://wonderfulfrog.b-cdn.net/lady-actually-reading.svg", "Lady reading her book in what must be eventually pretty uncomfortable, but at least she has a nice cactus. From Open Doodles.", "" %}

View file

@ -3,7 +3,7 @@ title: Recently
draft: false draft: false
date: 2021-07-05T00:11:37+00:00 date: 2021-07-05T00:11:37+00:00
excerpt: June 2021. excerpt: June 2021.
categories: ["recently"] tags: ["recently"]
--- ---
The west coast just got over the heat dome. In my neck of the woods, that was easily the hottest its ever been here. Our car at one point said 46ºC. We were ill-equipped to deal with the heat — no AC and living on the top floor of our building. To beat the heat we ended up booking a hotel for a few days. It was an expensive solution, but the sanity gained more than made up for it. The west coast just got over the heat dome. In my neck of the woods, that was easily the hottest its ever been here. Our car at one point said 46ºC. We were ill-equipped to deal with the heat — no AC and living on the top floor of our building. To beat the heat we ended up booking a hotel for a few days. It was an expensive solution, but the sanity gained more than made up for it.

View file

@ -2,7 +2,7 @@
title: Recently title: Recently
date: 2020-08-02 date: 2020-08-02
excerpt: August 2020. excerpt: August 2020.
categories: ["recently"] tags: ["recently"]
--- ---
Ive been focusing on my mental health lately. Its been largely ignored and Ive decided I need to fix that. Ive been focusing on my mental health lately. Its been largely ignored and Ive decided I need to fix that.

View file

@ -2,7 +2,7 @@
title: Recently title: Recently
date: 2020-09-02 date: 2020-09-02
excerpt: September 2020. excerpt: September 2020.
categories: ["recently"] tags: ["recently"]
--- ---
Been feeling kind of low lately. Struggling to feel engaged and get started on some of my personal projects. Facing my inner demons as it were, and trying to get back on my feet. On the other hand, Im working hard on my personal fitness, so thats going well! 💪 Been feeling kind of low lately. Struggling to feel engaged and get started on some of my personal projects. Facing my inner demons as it were, and trying to get back on my feet. On the other hand, Im working hard on my personal fitness, so thats going well! 💪

View file

@ -2,7 +2,7 @@
title: Recently title: Recently
date: 2020-10-04 date: 2020-10-04
excerpt: October 2020. excerpt: October 2020.
categories: ["recently"] tags: ["recently"]
--- ---
Its been a rough month, and its only the 4th. The [six-month COVID-19 wall][covid-wall] is hitting me hard. Its hard to feel like doing more than existing right now. Im glad Ive been talking to a counsellor about things. Its hard to even get the motivation to write this post. Its been a rough month, and its only the 4th. The [six-month COVID-19 wall][covid-wall] is hitting me hard. Its hard to feel like doing more than existing right now. Im glad Ive been talking to a counsellor about things. Its hard to even get the motivation to write this post.

View file

@ -2,7 +2,7 @@
title: Recently title: Recently
date: 2020-11-06 date: 2020-11-06
excerpt: November 2020. excerpt: November 2020.
categories: ["recently"] tags: ["recently"]
--- ---
{% image "https://cdn.wonderfulfrog.com/e460bb30-2ef1-4a3c-af6d-f7ff9c696bac.jpeg", "A frog recounting his struggles about trying his hardest, and feeling like its never enough. By Cat's Cafe.", "" %} {% image "https://cdn.wonderfulfrog.com/e460bb30-2ef1-4a3c-af6d-f7ff9c696bac.jpeg", "A frog recounting his struggles about trying his hardest, and feeling like its never enough. By Cat's Cafe.", "" %}

View file

@ -2,7 +2,7 @@
title: Recently title: Recently
date: 2020-12-07 date: 2020-12-07
excerpt: December 2020. excerpt: December 2020.
categories: ["recently"] tags: ["recently"]
--- ---
{% image "https://wonderfulfrog.b-cdn.net/tumblr_594d8523021106f126390d49d5a0a1a0_1db9a35a_1280.jpg", "Little Big Things by Cat's Cafe", "" %} {% image "https://wonderfulfrog.b-cdn.net/tumblr_594d8523021106f126390d49d5a0a1a0_1db9a35a_1280.jpg", "Little Big Things by Cat's Cafe", "" %}

View file

@ -2,7 +2,7 @@
title: Remember to be nice title: Remember to be nice
date: 2021-01-12 date: 2021-01-12
excerpt: Open source is often a thankless job. excerpt: Open source is often a thankless job.
categories: ["open source", "signal"] tags: ["open source", "signal"]
--- ---
[Signal][signal] is seeing a jump in activity after [WhatsApp recently made adjustments to their privacy policy][policychanges]. Coming from a paid, closed source, feature rich application like WhatsApp to an open source app like Signal can be a little jarring. Where is that favourite feature of mine? Why havent they prioritized it? So [Signal has to come out and remind people in the community to be nice][benice]. The developers only have so much free time. [Signal][signal] is seeing a jump in activity after [WhatsApp recently made adjustments to their privacy policy][policychanges]. Coming from a paid, closed source, feature rich application like WhatsApp to an open source app like Signal can be a little jarring. Where is that favourite feature of mine? Why havent they prioritized it? So [Signal has to come out and remind people in the community to be nice][benice]. The developers only have so much free time.

View file

@ -2,7 +2,7 @@
title: Stray Thoughts 1 title: Stray Thoughts 1
date: 2021-09-27T19:42:32.596Z date: 2021-09-27T19:42:32.596Z
excerpt: I can't decide what to call my weekly posts anymore. excerpt: I can't decide what to call my weekly posts anymore.
categories: ["stray thoughts"] tags: ["stray thoughts"]
--- ---
{% image "https://cdn.wonderfulfrog.com/collage.jpeg", "My popular last.fm scrobbles from the last week. From the top left: David Bowie - The Next Day, Turnstile - GLOW ON, Sleigh Bells - Texis, Angels & Airwaves - Lifeforms, Thrice - Horizons/East, Deafheaven - Infinite Granite, Japanese Breakfast - Jubilee, The Slang - Divide, Tyler, The Creator - IGOR", "" %} {% image "https://cdn.wonderfulfrog.com/collage.jpeg", "My popular last.fm scrobbles from the last week. From the top left: David Bowie - The Next Day, Turnstile - GLOW ON, Sleigh Bells - Texis, Angels & Airwaves - Lifeforms, Thrice - Horizons/East, Deafheaven - Infinite Granite, Japanese Breakfast - Jubilee, The Slang - Divide, Tyler, The Creator - IGOR", "" %}

View file

@ -2,7 +2,7 @@
title: Stray Thoughts 2 title: Stray Thoughts 2
date: 2021-10-03T22:35:21.592Z date: 2021-10-03T22:35:21.592Z
excerpt: Are collected thoughts really stray? excerpt: Are collected thoughts really stray?
categories: ["stray thoughts"] tags: ["stray thoughts"]
--- ---
{% image "https://cdn.wonderfulfrog.com/collage2.jpg", "This week's top last.fm artists." , "" %} {% image "https://cdn.wonderfulfrog.com/collage2.jpg", "This week's top last.fm artists." , "" %}

View file

@ -2,8 +2,9 @@
title: Stray Thoughts 3 title: Stray Thoughts 3
date: 2021-10-12T16:54:44.498Z date: 2021-10-12T16:54:44.498Z
excerpt: Sweater weather is here! excerpt: Sweater weather is here!
categories: ["stray thoughts"] tags: ["stray thoughts"]
--- ---
I've been fortunate to have vacation time for a few days. It was much needed R&R after a long haul of a project. I got to spend time with my partner — we had a special day where we did everything she wanted! There was plenty of tea shopping. I've been fortunate to have vacation time for a few days. It was much needed R&R after a long haul of a project. I got to spend time with my partner — we had a special day where we did everything she wanted! There was plenty of tea shopping.
I picked up [Metroid Dread](https://www.nintendo.com/games/detail/metroid-dread-switch/) on Friday. I'm a few hours in now. Here are my thoughts where I am: I picked up [Metroid Dread](https://www.nintendo.com/games/detail/metroid-dread-switch/) on Friday. I'm a few hours in now. Here are my thoughts where I am:

View file

@ -2,7 +2,7 @@
title: Switching from Gmail to ProtonMail title: Switching from Gmail to ProtonMail
date: 2018-11-24 date: 2018-11-24
excerpt: The beginning of a quest to take back my data. excerpt: The beginning of a quest to take back my data.
categories: [email, protonmail] tags: [email, protonmail]
--- ---
I've been an avid Gmail user since its inception sometime in 2004. I remember hunting for a beta invite back when they were highly coveted. I have received 25,467 emails and sent 1,738. The first email I sent was to a local shop to buy my old G3 iMac. I've been an avid Gmail user since its inception sometime in 2004. I remember hunting for a beta invite back when they were highly coveted. I have received 25,467 emails and sent 1,738. The first email I sent was to a local shop to buy my old G3 iMac.

View file

@ -2,7 +2,7 @@
title: "Tadpoles: The Big Little Migration" title: "Tadpoles: The Big Little Migration"
date: 2021-01-10 date: 2021-01-10
excerpt: A short film about frogs. excerpt: A short film about frogs.
categories: ["short film", "frogs"] tags: ["short film", "frogs"]
--- ---
TODO: YouTube: 5S-lZtE1J6M TODO: YouTube: 5S-lZtE1J6M

View file

@ -2,7 +2,7 @@
title: Take The Power Back (Over My Music) title: Take The Power Back (Over My Music)
date: 2020-07-26 date: 2020-07-26
excerpt: One guy's struggle to regain ownership of some MP3 files. excerpt: One guy's struggle to regain ownership of some MP3 files.
categories: ["music", "beets", "plex"] tags: ["music", "beets", "plex"]
--- ---
TODO: Come up with a YouTube shortcode for this video: qKSNABST4b0 TODO: Come up with a YouTube shortcode for this video: qKSNABST4b0

View file

@ -2,7 +2,7 @@
title: "The Fellow Stagg: A Review of the Details" title: "The Fellow Stagg: A Review of the Details"
date: 2022-01-22T21:35:22.320Z date: 2022-01-22T21:35:22.320Z
excerpt: Is it the Apple of kettles? excerpt: Is it the Apple of kettles?
categories: ["tea", "reviews"] tags: ["tea", "reviews"]
--- ---
{% image "https://cdn.wonderfulfrog.com/stagg-kettle.jpg", "A drawing of a Fellow Stagg kettle", "" %} {% image "https://cdn.wonderfulfrog.com/stagg-kettle.jpg", "A drawing of a Fellow Stagg kettle", "" %}

View file

@ -2,7 +2,7 @@
title: How does React's Suspense work? title: How does React's Suspense work?
date: 2019-10-26 date: 2019-10-26
excerpt: The Suspense is killing me. excerpt: The Suspense is killing me.
categories: ["react"] tags: ["react"]
--- ---
First and foremost, this post is writing about stuff that is part of the Experimental branch of React, so by the time you read this it could be out of date. Ill try to keep things up to date as they develop. First and foremost, this post is writing about stuff that is part of the Experimental branch of React, so by the time you read this it could be out of date. Ill try to keep things up to date as they develop.

View file

@ -2,7 +2,7 @@
title: Version 2 title: Version 2
date: 2021-09-19T00:50:06.409Z date: 2021-09-19T00:50:06.409Z
excerpt: Electric boogaloo. excerpt: Electric boogaloo.
categories: ["mdx", "development", "netlify", "eslint"] tags: ["mdx", "development", "netlify", "eslint"]
--- ---
{% image "https://cdn.wonderfulfrog.com/v2lines.png", "That's a lot of lines!", "" %} {% image "https://cdn.wonderfulfrog.com/v2lines.png", "That's a lot of lines!", "" %}

View file

@ -1,9 +1,8 @@
--- ---
title: Week 1 title: Week 1
date: 2021-08-15T19:01:49.565Z date: 2021-08-15T19:01:49.565Z
draft: false
excerpt: A new week, a new format. excerpt: A new week, a new format.
categories: ["weaknotes"] tags: ["weaknotes"]
--- ---
I'm trying a new format with my writing. When it comes time to write my monthly log, I usually have either too much or not enough to write about. I'm taking a page from a [few][weaknotes1] [other blogs][weaknotes2] I found that use "weaknotes", which are Twitter-like posts of short (possibly random) thoughts. I'm trying a new format with my writing. When it comes time to write my monthly log, I usually have either too much or not enough to write about. I'm taking a page from a [few][weaknotes1] [other blogs][weaknotes2] I found that use "weaknotes", which are Twitter-like posts of short (possibly random) thoughts.

View file

@ -1,9 +1,8 @@
--- ---
title: Week 2 title: Week 2
date: 2021-08-22T22:58:02.387Z date: 2021-08-22T22:58:02.387Z
draft: false
excerpt: Bit of a weird week. excerpt: Bit of a weird week.
categories: ["weaknotes"] tags: ["weaknotes"]
--- ---
{% image "https://cdn.wonderfulfrog.com/noblewarrior_d2rbeta.png", "Like Link in Zelda, I have NobleWarrior the ever-living Paladin. Never the same character, but I always make a new one every so often.", "" %} {% image "https://cdn.wonderfulfrog.com/noblewarrior_d2rbeta.png", "Like Link in Zelda, I have NobleWarrior the ever-living Paladin. Never the same character, but I always make a new one every so often.", "" %}

View file

@ -1,9 +1,8 @@
--- ---
title: Week 3 title: Week 3
date: 2021-08-30T00:07:20.030Z date: 2021-08-30T00:07:20.030Z
draft: false
excerpt: The One Where Apple Sucks A Lot. excerpt: The One Where Apple Sucks A Lot.
categories: ["weaknotes"] tags: ["weaknotes"]
--- ---
{% image "https://cdn.wonderfulfrog.com/podophobia.png", "", "" %} {% image "https://cdn.wonderfulfrog.com/podophobia.png", "", "" %}

View file

@ -1,9 +1,8 @@
--- ---
title: Week 4 title: Week 4
date: 2021-09-13T00:07:20.030Z date: 2021-09-13T00:07:20.030Z
draft: false
excerpt: It's the fourth one. excerpt: It's the fourth one.
categories: ["weaknotes"] tags: ["weaknotes"]
--- ---
{% image "https://cdn.wonderfulfrog.com/C0664BF8-4E3C-4285-8F5C-BECD7E0347B1.jpeg", "", "" %} {% image "https://cdn.wonderfulfrog.com/C0664BF8-4E3C-4285-8F5C-BECD7E0347B1.jpeg", "", "" %}

View file

@ -2,7 +2,7 @@
title: Whats Next? title: Whats Next?
date: 2020-09-13 date: 2020-09-13
excerpt: From one framework to another. excerpt: From one framework to another.
categories: ["nextjs", "gatsbyjs", "tailwind"] tags: ["nextjs", "gatsbyjs", "tailwind"]
--- ---
This site is now powered by NextJS. This is the site rebuild I have been talking about for some time, but it didnt turn out the way I was planning. This site is now powered by NextJS. This is the site rebuild I have been talking about for some time, but it didnt turn out the way I was planning.