No github

This commit is contained in:
Andras Schmelczer 2026-06-26 17:56:05 +02:00
parent 283df32afe
commit 1ea3024e4e
13 changed files with 28 additions and 28 deletions

View file

@ -58,6 +58,7 @@
"loggable", "loggable",
"malloc", "malloc",
"metas", "metas",
"mispredictions",
"mixolydian", "mixolydian",
"mlockall", "mlockall",
"mosfets", "mosfets",
@ -68,6 +69,7 @@
"nums", "nums",
"permacomputing", "permacomputing",
"physarum", "physarum",
"piskel",
"pocketbase", "pocketbase",
"powerups", "powerups",
"proptest", "proptest",
@ -92,6 +94,7 @@
"subvolume", "subvolume",
"syncer", "syncer",
"szintű", "szintű",
"tamagotchi",
"tamagotchis", "tamagotchis",
"tarjan's", "tarjan's",
"tidepool", "tidepool",
@ -99,6 +102,7 @@
"tweakpane", "tweakpane",
"unsets", "unsets",
"vaultlink", "vaultlink",
"vtable",
"waveshare", "waveshare",
"waveshare's", "waveshare's",
"webform", "webform",

View file

@ -18,15 +18,16 @@
"qa:astro-audit": "node scripts/install-playwright-deps.mjs && node scripts/export-astro-audit.mjs --fail-on-issues", "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: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: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:links": "node scripts/check-links.mjs",
"qa:no-js": "node scripts/check-no-js.mjs", "qa:no-js": "node scripts/check-no-js.mjs",
"qa:overflow": "node scripts/install-playwright-deps.mjs && node scripts/check-overflow.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: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": { "repository": {
"type": "git", "type": "git",
"url": "git+https://github.com/schmelczer/schmelczer.github.io.git" "url": "git+https://git.schmelczer.dev/andras/schmelczer.dev.git"
}, },
"keywords": [ "keywords": [
"blog", "blog",
@ -37,9 +38,9 @@
"author": "Andras Schmelczer", "author": "Andras Schmelczer",
"license": "GPL-3.0-or-later", "license": "GPL-3.0-or-later",
"bugs": { "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": { "devDependencies": {
"@astrojs/check": "^0.9.9", "@astrojs/check": "^0.9.9",
"@astrojs/rss": "^4.0.18", "@astrojs/rss": "^4.0.18",

View file

@ -15,7 +15,7 @@ const year = new Date().getFullYear();
<address class="footer-contact"> <address class="footer-contact">
<a href={`mailto:${site.email}`}>Email</a> <a href={`mailto:${site.email}`}>Email</a>
<a href={site.cv} rel="noopener">CV</a> <a href={site.cv} rel="noopener">CV</a>
<a href={site.github} rel="noopener me">GitHub</a> <a href={site.git} rel="noopener me">Git</a>
<a href={site.linkedin} rel="noopener me">LinkedIn</a> <a href={site.linkedin} rel="noopener me">LinkedIn</a>
</address> </address>
</div> </div>

View file

@ -100,13 +100,7 @@ const mediaSchema = ({ image }: SchemaContext) =>
]) ])
.refine((item) => item.decorative || (Boolean(item.alt) && Boolean(item.caption)), { .refine((item) => item.decorative || (Boolean(item.alt) && Boolean(item.caption)), {
message: 'Meaningful media needs both alt text and a 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 // A single collection where each entry can carry an `article` facet (a written
// page under /articles/<slug>), a `project` facet (a card in the /projects/ // page under /articles/<slug>), a `project` facet (a card in the /projects/

Binary file not shown.

After

Width:  |  Height:  |  Size: 389 KiB

View file

@ -8,7 +8,7 @@ thumbnail:
alt: The Ad Astra game running on a small OLED display. alt: The Ad Astra game running on a small OLED display.
links: links:
- label: Source - label: Source
url: https://github.com/schmelczer/ad_astra url: https://git.schmelczer.dev/andras/ad_astra
article: article:
tags: ['embedded', 'games', 'systems'] tags: ['embedded', 'games', 'systems']
stack: ['C', 'ATtiny85V', 'SPI OLED', 'IR receiver', 'EEPROM', 'KiCad'] stack: ['C', 'ATtiny85V', 'SPI OLED', 'IR receiver', 'EEPROM', 'KiCad']

View file

@ -8,17 +8,18 @@ thumbnail:
alt: Screenshot of the Avoid web game. alt: Screenshot of the Avoid web game.
article: article:
tags: ['games', 'web'] tags: ['games', 'web']
role: Game author
stack: ['JavaScript', 'Canvas'] stack: ['JavaScript', 'Canvas']
outcome: My first browser game; kept for the timeline, reused for teaching outcome: My first browser game; kept for the timeline, reused for teaching
audience: general project: {}
project:
description: My first browser game, kept around so the timeline is honest.
thumbnail:
alt: Screenshot of the Avoid canvas game.
--- ---
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 `<canvas>` element stopped being mysterious to me.
January 2018, my first browser game. You're a dot; other 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 `<canvas>` element stopped being mysterious to me.
It had a second job, too. The README isn't documentation; it's the handout for a small JS/Canvas workshop, in Hungarian: what JavaScript is, what a 2D context gives you, why a game loop wants `requestAnimationFrame` and a delta time, why `var` is past tense. The little game turned out to be the right size for explaining things to people who'd never drawn a pixel from code before. The process advice in that handout (write working code first, then make it pretty) is still roughly the only process I follow. It had a second job, too. The README isn't documentation; it's the handout for a small JS/Canvas workshop, in Hungarian: what JavaScript is, what a 2D context gives you, why a game loop wants `requestAnimationFrame` and a delta time, why `var` is past tense. The little game turned out to be the right size for explaining things to people who'd never drawn a pixel from code before. The process advice in that handout (write working code first, then make it pretty) is still roughly the only process I follow.

View file

@ -8,9 +8,9 @@ thumbnail:
alt: Placeholder thumbnail for the backup container post. alt: Placeholder thumbnail for the backup container post.
links: links:
- label: Source - label: Source
url: https://github.com/schmelczer/backup-container url: https://git.schmelczer.dev/andras/backup-container
- label: Container image - label: Container image
url: https://github.com/schmelczer/backup-container/pkgs/container/backup-container url: https://git.schmelczer.dev/andras/-/packages/container/backup-container
article: article:
tags: ['systems', 'tools'] tags: ['systems', 'tools']
stack: ['Bash', 'BorgBackup', 'BTRFS', 'Alpine', 'Docker', 'SSH', 'zstd'] stack: ['Bash', 'BorgBackup', 'BTRFS', 'Alpine', 'Docker', 'SSH', 'zstd']

View file

@ -8,7 +8,7 @@ thumbnail:
alt: The decla.red browser game interface showing a space scene. alt: The decla.red browser game interface showing a space scene.
links: links:
- label: Source - label: Source
url: https://github.com/schmelczer/decla.red url: https://git.schmelczer.dev/andras/decla.red
- label: BSc thesis - label: BSc thesis
url: /media/downloads/sdf2d-andras-schmelczer.pdf url: /media/downloads/sdf2d-andras-schmelczer.pdf
download: true download: true

View file

@ -8,7 +8,7 @@ thumbnail:
alt: Life Towers goal tracking interface with tower-like visual structures. alt: Life Towers goal tracking interface with tower-like visual structures.
links: links:
- label: Source - label: Source
url: https://github.com/schmelczer/life-towers/ url: https://git.schmelczer.dev/andras/life-towers/
article: article:
featuredOrder: 4 featuredOrder: 4
tags: ['systems', 'web', 'tools'] tags: ['systems', 'web', 'tools']

View file

@ -10,7 +10,7 @@ links:
- label: Demo - label: Demo
url: /reconcile/ url: /reconcile/
- label: Source - label: Source
url: https://github.com/schmelczer/reconcile url: https://git.schmelczer.dev/andras/reconcile
- label: crates.io - label: crates.io
url: https://crates.io/crates/reconcile-text url: https://crates.io/crates/reconcile-text
- label: npm - label: npm

View file

@ -8,7 +8,7 @@ thumbnail:
alt: 'The VaultLink logo: a chain-link mark in a soft gradient.' alt: 'The VaultLink logo: a chain-link mark in a soft gradient.'
links: links:
- label: Source - label: Source
url: https://github.com/schmelczer/vault-link url: https://git.schmelczer.dev/andras/vault-link
- label: Docs - label: Docs
url: https://vault-link.schmelczer.dev url: https://vault-link.schmelczer.dev
article: article:

View file

@ -17,7 +17,7 @@ export const site = {
'Notebook of someone who keeps reaching for the same two moves: let the hard constraint pick the data structure, then keep the API small enough to defend.', 'Notebook of someone who keeps reaching for the same two moves: let the hard constraint pick the data structure, then keep the API small enough to defend.',
url: 'https://schmelczer.dev', url: 'https://schmelczer.dev',
email: 'andras@schmelczer.dev', email: 'andras@schmelczer.dev',
github: 'https://github.com/schmelczer', git: 'https://git.schmelczer.dev/andras',
linkedin: 'https://www.linkedin.com/in/andras-schmelczer', linkedin: 'https://www.linkedin.com/in/andras-schmelczer',
cv: '/media/downloads/cv-andras-schmelczer.pdf', cv: '/media/downloads/cv-andras-schmelczer.pdf',
}; };
@ -211,7 +211,7 @@ export function buildPersonJsonLd(extra?: Record<string, unknown>) {
name: site.name, name: site.name,
url: site.url, url: site.url,
email: `mailto:${site.email}`, email: `mailto:${site.email}`,
sameAs: [site.github, site.linkedin], sameAs: [site.git, site.linkedin],
description: site.description, description: site.description,
...extra, ...extra,
}; };