Compare commits

..

10 commits

Author SHA1 Message Date
26dc35e0d0 Mushrooms photo post 2025-08-31 07:45:30 -06:00
f95940c387 Lake Louise photo post 2025-08-31 07:44:49 -06:00
588d88a0b2 Student Again post 2025-08-31 07:39:02 -06:00
1d15db8aa5 I Am an AI Hater link post 2025-08-29 09:14:24 -06:00
2688e4e339 Add a deployment command group to the website script
This group has one command so far: next-tag. It looks at the git tag list and
figured out the next deployment tag. For the most part tags are named like so:

    deploy-%Y-%m-%d-NN

The middle segments are year-month-day, and the last segment is an incrementing
counter. For the most part this number will be 01. On days when I deploy more than
once, it will increment.
2025-08-29 08:59:03 -06:00
69760a802d Lait's Go photo post 2025-08-28 17:13:40 -06:00
294226cfcb Remove Travel category; move it to a tag 2025-08-28 11:25:53 -06:00
ea6eea2b03 Add link archetype 2025-08-28 11:24:51 -06:00
459c55d344 Remove Travel category from Pajaro Dunes post; make it a tag 2025-08-28 11:24:38 -06:00
c9d7c6409e Create a Links category for two recent links posts 2025-08-28 11:23:58 -06:00
24 changed files with 198 additions and 89 deletions

9
archetypes/link.md Normal file
View file

@ -0,0 +1,9 @@
---
title: "{{ replace .Name "-" " " | title }}"
slug: link-{{ .Name }}
date: {{ .Date }}
categories: links
draft: true
tags: []
---

View file

@ -1,3 +1,2 @@
blog: blog/:year/:month/:slug/
photos: photos/:year/:month/:slug/
tweets: tweets/:year/:month/:slug/

View file

@ -1,8 +1,7 @@
---
title: "Pajaro Dunes"
date: 2023-05-30T08:31:34-07:00
categories: Travel
tags: [Beaches, Tess, EJ, Vacations]
tags: [Travel, Beaches, Tess, EJ, Vacations]
---
{{< tess >}}, EJ, and I took a weekend trip down the coast over Memorial Day

View file

@ -1,7 +1,8 @@
---
title: "Link: America Tips Into Fascism"
title: "America Tips Into Fascism by Garrett Graff"
slug: america-tips-into-fascism
date: 2025-08-25T22:31:15-06:00
categories: Links
tags:
- Politics
- USA

View file

@ -0,0 +1,18 @@
---
title: "I Am an AI Hater by Anthony Moser"
slug: link-i-am-an-ai-hater
date: 2025-08-28T08:36:59-06:00
categories: links
tags:
- AI
- Tech
---
A [fierce argument][link] against AI by Anthony Moser.
> But I am more than a critic: I am a hater. I am not here to make a careful
> comprehensive argument, because people have already done that. ... I am here
> to be rude, because this is a rude technology, and it deserves a rude
> response.
[link]: https://anthonymoser.github.io/writing/ai/haterdom/2025/08/26/i-am-an-ai-hater.html

View file

@ -1,7 +1,8 @@
---
title: "Link: Rings by ND Stevenson"
title: "Rings by ND Stevenson"
slug: ndstevenson-rings
date: 2025-08-28T07:43:45-06:00
categories: Links
tags:
- Comics
- LGBTQIA+

View file

@ -0,0 +1,32 @@
---
title: "I'm a Student Again"
description: I started taking Japanese classes at CCSF.
slug: student-again
date: 2025-09-02
tags:
- Life
- School
- japanese
- CCSF
---
I've been fortunate to take two trips to Japan over the last couple years.
Leading up to those trips, I picked up learning Japanese, attempting to build
some basic language skills for getting around. At first, I used [Duolingo][dja]
but recently switched to [Migaku][mja].
When I returned from our most recent trip, I decided to find a class so I can
practice speaking skills. [Community College of San Francisco][ccsf] has an
excellent program called "[Free City][fc]" that grants free tuition to residents
of the city. It also has [Japanese program][ccsfja]. So I enrolled in their
online Japanese 1A course.
This is my first time taking formal classes since I graduated college. I'm
looking forward to learning in a more structured way again, and also getting a
chance to practice speaking with people rather than talking at my phone screen.
[dja]: https://www.duolingo.com/course/ja/en/Learn-Japanese
[mja]: https://migaku.com/learn-japanese
[ccsf]: https://www.ccsf.edu
[ccsfja]: https://www.ccsf.edu/degrees-certificates/japanese
[fc]: https://www.ccsf.edu/free-city

View file

@ -2,8 +2,7 @@
title: "Sunset over Pajaro Dunes"
linkTitle: Pajaro Sunset
date: 2023-05-28T20:12:13-07:00
categories: Travel
tags: ["Beaches"]
tags: [Travel, Beaches]
---
{{< tess >}}, EJ, and I took a little weekend trip over Memorial Day this year

View file

@ -0,0 +1,12 @@
---
title: "Lait's Go"
date: 2025-08-27T18:00:41-06:00
tags:
- Travel
- Puns
- Milk
---
Spotted in a small café at the top of Sulphur Mountain in Banff, Alberta: a
delightful bilingual pun. In English, this milk is called "Milk 2 Go". In
French, it's called "Lait's Go".

BIN
content/photos/2025/laits-go/laits-go.jpg (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,18 @@
---
title: "Lake Louise"
date: 2025-08-27T10:15:06-06:00
draft: true
tags:
- Travel
- Nature
- Lake Louise
- Alberta
- Canada
---
Some friends and I had the chance to travel to [Lake Louise][] this summer. It's
stunningly blue -- unlike any body of water I've ever seen -- and surrounded by
picturesque mountains. We had only a few hours here so we did a short hike
around the lake, and then headed to Moraine Lake.
[Lake Louise]: https://www.banfflakelouise.com

BIN
content/photos/2025/lake-louise/lake-louise.jpg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
content/photos/2025/lake-louise/thumbnail.jpg (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,15 @@
---
title: "Mushrooms"
date: 2025-08-27T09:55:45-06:00
draft: true
tags:
- Nature
- Mushrooms
- Fungi
- Lake Louise
- Alberta
- Canada
---
A small colony of mushrooms growing on a stump. Found at Lake Louise, Alberta,
Canada.

BIN
content/photos/2025/mushrooms/mushrooms.jpg (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -1,42 +0,0 @@
{{/* vim: ft=gohtmltmpl: */}}
{{ $tweets := slice }}
{{ with resources.Get "twitter/tweets.json" }}
{{ with . | transform.Unmarshal }}
{{ $tweets = . }}
{{ end }}
{{ end }}
{{ range $tweets }}
{{ $tweet := .tweet }}
{{
$content := dict
"mediaType" "text/markdown"
"value" (partial "twitter/assembleTweetMarkdown.html" $tweet)
}}
{{ $creationDate := partial "twitter/parseCreatedAtDate.html" $tweet.created_at }}
{{ $title := printf "Tweet on %s" (time.Format "2 January 2005" $creationDate) }}
{{ $path := printf "%s/%s" $creationDate.Year $tweet.id_str }}
{{ $dates := dict "date" $creationDate }}
{{
$params := dict
"favoriteCount" $tweet.favorite_count
"retweetCount" $tweet.retweet_count
}}
{{
$page := dict
"title" $title
"dates" $dates
"content" $content
"kind" "page"
"params" $params
"path" $path
}}
{{ $.AddPage $page }}
{{ end }}

View file

@ -1,3 +0,0 @@
---
title: Tweets
---

View file

@ -11,6 +11,3 @@ nethackScore: Score
nethackDungeonLevel: Dungeon Level
nethackCharacterLevel: Character Level
nethackHP: HP
favorites: Favorites
retweets: Retweets

View file

@ -1,14 +0,0 @@
{{ define "main" }}
<main class="main--list">
<header class="page-header">
{{ partial "page_header.html" (dict "page" .) }}
</header>
{{ $paginator := .Paginate .Pages.ByPublishDate.Reverse 100 }}
{{ range $paginator.Pages }}
{{ .Render "page_summary" }}
{{ end }}
{{ partial "pagination.html" . }}
</main>
{{ end }}

View file

@ -1,18 +0,0 @@
<article class="page-summary">
{{ .Content }}
{{- if .Date -}}
{{/* TODO: Include time in this date */}}
{{- partial "page/date.html" (dict "page" . "style" "datetime") -}}
{{- end }}
<div class="tag" data-name="favorites">
<span class="tag__name">{{ T "favorites" }}</span>
<span class="tag__value">{{ .Params.favoriteCount }}</span>
</div>
<div class="tag" data-name="retweets">
<span class="tag__name">{{ T "retweets" }}</span>
<span class="tag__value">{{ .Params.retweetCount }}</span>
</div>
</article>

View file

@ -0,0 +1,72 @@
#!/usr/bin/env python3
# Eryn Wells <eryn@erynwells.me>
import argparse
import datetime
import subprocess
from typing import List
from .scripting import Command
DATE_FORMAT = "%Y-%m-%d"
class DeploymentCommand(Command):
@property
def help(self) -> str:
return 'Deployment tools'
def add_arguments(self, parser: argparse.ArgumentParser):
commands = parser.add_subparsers(title="Deployment", required=True)
deployment_command = commands.add_parser(
'next-tag',
help='Calculate the next deployment tag for a given date, examining all other tags for that day'
)
deployment_command.add_argument(
'--date', '-d',
type=self.__class__.parse_date_argument,
default=datetime.date.today(),
help="date to calculate a new deployment tag for (default: today)"
)
deployment_command.set_defaults(handler=self.handle_next_deployment_tag_command)
@staticmethod
def parse_date_argument(date_string: str) -> datetime.date:
return datetime.datetime.strptime(date_string, DATE_FORMAT).date()
def handle_next_deployment_tag_command(self, args: argparse.Namespace):
next_deployment_tag = deployment_tag_for_date(args.date)
print(next_deployment_tag)
def deployment_tag_for_date(date: datetime.date) -> str:
formatted_date = date.strftime(DATE_FORMAT)
def deploy_tag_filter(tag):
return tag.startswith("deploy-") and formatted_date in tag
filtered_tags = sorted(filter(deploy_tag_filter, git_tags()))
if len(filtered_tags) == 0:
return f"deploy-{formatted_date}-01"
else:
last_tag = filtered_tags[-1]
components = last_tag.split("-")
if len(components) == 5:
# A previous numbered deployment. Add one to the last deployment
# number.
deployment_number = int(components[-1]) + 1
return f"deploy-{formatted_date}-{deployment_number:02}"
else:
# An old style deployment tag that doesn't have a number. There
# should only ever be one of these.
assert len(filtered_tags) == 1
return f"deploy-{formatted_date}-02"
def git_tags() -> List[str]:
return subprocess.check_output(
"git tag -l",
shell=True,
encoding="utf-8"
).splitlines()

View file

@ -20,5 +20,5 @@ class Command:
def help(self) -> str:
return ''
def add_arguments(self, _: argparse.ArgumentParser):
def add_arguments(self, parser: argparse.ArgumentParser):
raise NotImplementedError()

View file

@ -9,10 +9,12 @@ import argparse
from typing import List
from erynwells_me.scripting import Command
from erynwells_me.weeknotes import WeeknotesCommand
from erynwells_me.deployment import DeploymentCommand
COMMANDS: List[Command] = [
WeeknotesCommand(),
DeploymentCommand(),
]

@ -1 +1 @@
Subproject commit 4c101a552eb10ed87a5bec5bee741e65aa80daec
Subproject commit d158b0db8ebaaad35c5ed7fea31db7bee930eb03