Compare commits

..

6 commits

Author SHA1 Message Date
c6501564f6 Merge branch 'main' into twitter-archive 2025-08-28 11:21:49 -06:00
f3da1087e3 List and page_summary templates for twitter section 2025-08-28 11:19:48 -06:00
90c2ba8787 Update termlite submodule 2025-08-28 07:56:48 -06:00
e8899a6ead Tweets permalink config 2025-08-28 07:53:10 -06:00
74c796d5cd Section and content generator templates
This is not final. I think the content generator will ultimately operate on a
preprocessed version of the tweets JSON data from the Twitter archive.
2025-08-28 07:52:55 -06:00
90806aa8f6 Retweet and Favorite string localizations 2025-08-28 07:51:55 -06:00
24 changed files with 89 additions and 198 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,12 +0,0 @@
---
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)

Binary file not shown.

View file

@ -1,18 +0,0 @@
---
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

Binary file not shown.

Binary file not shown.

View file

@ -1,15 +0,0 @@
---
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.

Binary file not shown.

View file

@ -0,0 +1,42 @@
{{/* 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 }}

3
content/tweets/_index.md Normal file
View file

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

View file

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

14
layouts/tweets/list.html Normal file
View file

@ -0,0 +1,14 @@
{{ 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

@ -0,0 +1,18 @@
<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

@ -1,72 +0,0 @@
#!/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, parser: argparse.ArgumentParser):
def add_arguments(self, _: argparse.ArgumentParser):
raise NotImplementedError()

View file

@ -9,12 +9,10 @@ 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 d158b0db8ebaaad35c5ed7fea31db7bee930eb03
Subproject commit 4c101a552eb10ed87a5bec5bee741e65aa80daec