diff --git a/cspell.json b/cspell.json
index 77ca04e..ce97a18 100644
--- a/cspell.json
+++ b/cspell.json
@@ -58,6 +58,7 @@
"loggable",
"malloc",
"metas",
+ "mispredictions",
"mixolydian",
"mlockall",
"mosfets",
@@ -68,6 +69,7 @@
"nums",
"permacomputing",
"physarum",
+ "piskel",
"pocketbase",
"powerups",
"proptest",
@@ -92,6 +94,7 @@
"subvolume",
"syncer",
"szintű",
+ "tamagotchi",
"tamagotchis",
"tarjan's",
"tidepool",
@@ -99,6 +102,7 @@
"tweakpane",
"unsets",
"vaultlink",
+ "vtable",
"waveshare",
"waveshare's",
"webform",
diff --git a/package.json b/package.json
index f0e268e..1236e45 100644
--- a/package.json
+++ b/package.json
@@ -18,15 +18,16 @@
"qa:astro-audit": "node scripts/install-playwright-deps.mjs && node scripts/export-astro-audit.mjs --fail-on-issues",
"qa:no-em-dashes": "node scripts/check-no-em-dashes.mjs",
"qa:spelling": "cspell --no-progress \"astro.config.mjs\" \"src/**/*.{astro,ts,md,css}\" \"scripts/**/*.mjs\" \"*.md\"",
+ "qa:no-github-links": "node scripts/check-no-github-links.mjs",
"qa:links": "node scripts/check-links.mjs",
"qa:no-js": "node scripts/check-no-js.mjs",
"qa:overflow": "node scripts/install-playwright-deps.mjs && node scripts/check-overflow.mjs",
"qa:preview-cropping": "node scripts/install-playwright-deps.mjs && node scripts/check-preview-cropping.mjs",
- "qa": "npm run typecheck && npm run lint && npm run qa:no-em-dashes && npm run qa:spelling && npm run build && npm run qa:astro-audit && npm run qa:links && npm run qa:no-js && npm run qa:overflow && npm run qa:preview-cropping"
+ "qa": "npm run typecheck && npm run lint && npm run qa:no-em-dashes && npm run qa:spelling && npm run qa:no-github-links && npm run build && npm run qa:astro-audit && npm run qa:links && npm run qa:no-js && npm run qa:overflow && npm run qa:preview-cropping"
},
"repository": {
"type": "git",
- "url": "git+https://github.com/schmelczer/schmelczer.github.io.git"
+ "url": "git+https://git.schmelczer.dev/andras/schmelczer.dev.git"
},
"keywords": [
"blog",
@@ -37,9 +38,9 @@
"author": "Andras Schmelczer",
"license": "GPL-3.0-or-later",
"bugs": {
- "url": "https://github.com/schmelczer/schmelczer.github.io/issues"
+ "url": "https://git.schmelczer.dev/andras/schmelczer.dev/issues"
},
- "homepage": "https://github.com/schmelczer/schmelczer.github.io#readme",
+ "homepage": "https://git.schmelczer.dev/andras/schmelczer.dev#readme",
"devDependencies": {
"@astrojs/check": "^0.9.9",
"@astrojs/rss": "^4.0.18",
diff --git a/src/components/Footer.astro b/src/components/Footer.astro
index 8834892..7911e1a 100644
--- a/src/components/Footer.astro
+++ b/src/components/Footer.astro
@@ -15,7 +15,7 @@ const year = new Date().getFullYear();
diff --git a/src/content.config.ts b/src/content.config.ts
index f453391..dda961f 100644
--- a/src/content.config.ts
+++ b/src/content.config.ts
@@ -100,13 +100,7 @@ const mediaSchema = ({ image }: SchemaContext) =>
])
.refine((item) => item.decorative || (Boolean(item.alt) && Boolean(item.caption)), {
message: 'Meaningful media needs both alt text and a caption.',
- })
- .refine(
- (item) => item.type !== 'video' || item.decorative || Boolean(item.transcript),
- {
- message: 'Meaningful video needs a transcript.',
- }
- );
+ });
// A single collection where each entry can carry an `article` facet (a written
// page under /articles/), a `project` facet (a card in the /projects/
diff --git a/src/content/work/_assets/ad-astra-breadboard.jpg b/src/content/work/_assets/ad-astra-breadboard.jpg
new file mode 100644
index 0000000..5cf6a76
Binary files /dev/null and b/src/content/work/_assets/ad-astra-breadboard.jpg differ
diff --git a/src/content/work/ad-astra-attiny85-game-engine.md b/src/content/work/ad-astra-attiny85-game-engine.md
index 7bb18b7..d251012 100644
--- a/src/content/work/ad-astra-attiny85-game-engine.md
+++ b/src/content/work/ad-astra-attiny85-game-engine.md
@@ -8,7 +8,7 @@ thumbnail:
alt: The Ad Astra game running on a small OLED display.
links:
- label: Source
- url: https://github.com/schmelczer/ad_astra
+ url: https://git.schmelczer.dev/andras/ad_astra
article:
tags: ['embedded', 'games', 'systems']
stack: ['C', 'ATtiny85V', 'SPI OLED', 'IR receiver', 'EEPROM', 'KiCad']
diff --git a/src/content/work/avoid-early-web-game.md b/src/content/work/avoid-early-web-game.md
index cd435d8..dd5b99e 100644
--- a/src/content/work/avoid-early-web-game.md
+++ b/src/content/work/avoid-early-web-game.md
@@ -8,17 +8,18 @@ thumbnail:
alt: Screenshot of the Avoid web game.
article:
tags: ['games', 'web']
- role: Game author
stack: ['JavaScript', 'Canvas']
outcome: My first browser game; kept for the timeline, reused for teaching
- audience: general
-project:
- description: My first browser game, kept around so the timeline is honest.
- thumbnail:
- alt: Screenshot of the Avoid canvas game.
+project: {}
+
---
-January 2018, my first browser game. You're a peach-coloured dot; red dots stream in from the edges and chase you; the score counts how many the game has dared to spawn so far. It isn't good. I keep it here because pretending the older work didn't happen would be revisionism, and because it marks the moment a `