11 KiB
11 KiB
Todo
- Prüfen, wo
linksnochdata.datestattdata.publishDateverwendet - Link-Seiten, RSS und Archiv auf
publishDateumstellen - Verifikation laufen lassen und Ergebnis dokumentieren
Current Task
src/pages/imprint.mdauf aktuelle Rechtsbezüge und schlanke englische Fassung umstellen- redundante Datenschutzpassage aus dem Impressum entfernen und auf die separate Datenschutzseite verweisen
- Ergebnis per Diff prüfen und in diesem Dokument kurz reviewen
- Obfuskierte Kontaktdaten in
src/pages/privacy-policy.mdkonsistent halten - Privacy-Link im Impressum auf den neuen Slug
/privacy-policykorrigieren - Änderung per Diff und Astro-Check verifizieren
- Obfuskierte Kontaktdaten in
src/pages/privacy-policy.mdkonsistent halten - Privacy-Link im Impressum auf den neuen Slug
/privacy-policykorrigieren - Änderung per Diff und Astro-Check verifizieren
Review
src/pages/links/index.astro,src/pages/links/[...slug].astro,src/pages/rss.xml.ts,src/pages/rss/links.xml.ts,src/pages/tags/[slug].astroundsrc/pages/archives/index.astrolesenlinksjetzt konsistent überdata.publishDate.rgfindet keine verbleibendenlinks-Zugriffe mehr überdata.date.pnpm astro checkläuft auf dem aktuellen Stand komplett sauber durch: 0 Errors, 0 Warnings, 0 Hints.src/pages/imprint.mdverweist jetzt korrekt aufSection 5 DDGstatt auf das alteTMG, enthält obfuskierte direkte Kontaktangaben und hält denMStV-Block separat.- Die redundante Datenschutzpassage wurde aus dem Impressum entfernt; stattdessen verweist die Seite knapp auf
src/pages/privacy-policy.md. - Der Diff für
src/pages/imprint.mdist inhaltlich sauber undpnpm astro checkläuft nach der Änderung weiter ohne Fehler. src/pages/privacy-policy.mdnutzt für die E-Mail jetzt dieselbe Obfuskationslogik mitdata-obfunddata-obf-hrefwie die übrigen Kontaktstellen.src/pages/imprint.mdverweist auf den tatsächlichen Privacy-Slug/privacy-policy, sodass der Link zur umbenannten Datei wieder stimmt.
Current Task (2026-03-24)
- Intro-Text in
src/pages/index.astround Copy insrc/pages/about.astroauf Konsistenz prüfen - Grammatik, Rechtschreibung und Formulierungen in idiomatischem Englisch glätten
- Änderungen per Diff prüfen und Review hier dokumentieren
Review (2026-03-24)
src/pages/index.astroklingt jetzt weniger generisch und passt sprachlich besser zur persönlicheren Stimme der About-Seite.src/pages/about.astronutzt jetzt idiomatischeres Englisch, glattere Satzrhythmen und konsistente Wortwahl rund um web, photography und curiosity.- Der Diff für beide Dateien ist inhaltlich eng begrenzt auf Copy-Änderungen.
pnpm astro checkläuft nach den Anpassungen sauber durch: 0 Errors, 0 Warnings, 0 Hints.
Current Task (2026-03-24, Article Tables)
- Tabellenlayout in
src/pages/articles/[...slug].astrofür Markdown-Content ergänzen - Tabellen-Workaround im Artikelcontent auf semantisches Markdown zurückführen
- Diff und
pnpm astro checkprüfen und Review hier dokumentieren
Review (2026-03-24, Article Tables)
src/pages/articles/[...slug].astrodeklariert jetzt ein eigenes Tabellenlayout für Markdown in.prose, inklusive Abständen, Linien, Zell-Padding und kontrolliertem Umbruch.- Der vorherige
<br>-Workaround insrc/content/articles/2026/03/23/obfuscating-contact-data-on-a-static-site.mdwurde wieder entfernt; der Artikel bleibt semantisch sauberes Markdown. - Der Diff ist eng begrenzt auf die fehlenden Tabellen-Styles und die Projektdokumentation.
pnpm astro checkläuft nach der Änderung sauber durch: 0 Errors, 0 Warnings, 0 Hints.
Current Task (2026-03-24, Syndication Links)
- Inkonsistenz der
syndication-Links insrc/pages/articles/[...slug].astroundsrc/pages/notes/[...slug].astroeingrenzen - Notes-Seite auf konsistente
syndication-Darstellung und korrekten Datentyp umstellen - Diff und
pnpm astro checkprüfen und Review hier dokumentieren
Review (2026-03-24, Syndication Links)
src/components/SyndicationLinks.astrobündelt Rendering, Plattformnamen und Chip-Styling dersyndication-Links jetzt an einer Stelle, sodass Artikel und Notizen dieselbe Darstellung verwenden.src/pages/notes/[...slug].astronormalisiert den optionalen einzelnensyndication-URL-Wert korrekt zu einem Array, statt einen String zu spreaden.src/pages/articles/[...slug].astroverwendet dieselbe Komponente wie die Notes-Seite; der Diff bleibt dadurch eng begrenzt und reduziert künftige Drift zwischen beiden Templates.pnpm astro checkläuft nach der Änderung sauber durch: 0 Errors, 0 Warnings, 0 Hints.
Current Task (2026-03-24, Mastodon Syndication)
scripts/mastodon-syndicate.mjsfür RSS-basiertes Autoposting von Artikeln und Notes mit State-Datei implementierenscripts/publish-posts.shum Mastodon-Env, Script-Aufruf, State-Commit und Remote-Clean-Exclude erweitern- Artikel- und Notes-Seiten um
.mastodon-posted.jsonfür automatische Syndication-Links ergänzen - Änderungen per Diff,
node --checkundpnpm astro checkverifizieren
Review (2026-03-24, Mastodon Syndication)
scripts/mastodon-syndicate.mjspostet neue RSS-Einträge aus Articles und Notes nach Mastodon, baut den Status als Titel + Teaser + Link, lädt OG-Bilder als Media hoch und persistiert erfolgreiche Posts in.mastodon-posted.json.scripts/publish-posts.shbehandelt.mastodon-posted.jsonjetzt wie.bluesky-posted.json(Clean-Exclude + Commit/Push bei Änderungen) und führt Mastodon-Syndication nur mit gesetztenMASTODON_BASE_URLundMASTODON_ACCESS_TOKENaus.src/pages/articles/[...slug].astroundsrc/pages/notes/[...slug].astrolesen zusätzlich.mastodon-posted.json, sodass Mastodon-Status-URLs inSyndicationLinkserscheinen.node --check scripts/mastodon-syndicate.mjsundpnpm astro checklaufen nach den Änderungen sauber durch.
Current Task (2026-03-24, Mastodon Hardening)
- Media-Upload in
scripts/mastodon-syndicate.mjsum Retry/Backoff bei HTTP 429 ergänzen - Optionale
MASTODON_DRY_RUN- undMASTODON_LIMIT-Steuerung im Script ergänzen - Optionale Mastodon-Flags in
scripts/publish-posts.shdurchreichen - Änderungen mit
node --check,pnpm biome checkundpnpm astro checkverifizieren
Review (2026-03-24, Mastodon Hardening)
scripts/mastodon-syndicate.mjsretried Media-Uploads jetzt bis zu 5-mal bei 429 mitRetry-After-Support und exponentiellem Backoff als Fallback.- Das Script unterstützt jetzt
MASTODON_DRY_RUN(simuliert Posts ohne Veröffentlichung) undMASTODON_LIMIT(begrenzt die Anzahl verarbeiteter Items). scripts/publish-posts.shliest und übergibt die optionalen VariablenMASTODON_DRY_RUNundMASTODON_LIMITan das Mastodon-Script.node --check scripts/mastodon-syndicate.mjs,pnpm biome check scripts/mastodon-syndicate.mjs scripts/publish-posts.shundpnpm astro checklaufen nach den Änderungen erfolgreich.
Current Task (2026-03-24, Webmention Re-Validation)
- Serverseitige Webmention-Fetch/Filter-Lib für Bluesky-/Mastodon-Quellen ergänzen
- API-Endpoint
api/webmentions.jsonfür gefilterte Mentions bereitstellen WebMentions.astroauf gefilterte Datenquelle für SSR und Client-Refresh umstellen- Änderungen mit
pnpm biome checkundpnpm astro checkverifizieren
Review (2026-03-24, Webmention Re-Validation)
src/lib/webmentions.tsfiltert eingehende Mentions jetzt serverseitig und prüft Social-Reaktionen auf Interaktionsebene:- Mastodon
#favorited-by-.../#reblogged-by-...wird über die jeweiligen Status-Listen (favourited_by/reblogged_by) validiert. - Bluesky
#liked_by_did:.../#reposted_by_did:...wird über die Public-API (getLikes/getRepostedBy) validiert. - Fallback bleibt eine Existenzprüfung der Quell-URL (404/410/Tombstone), wenn keine Interaktionssignatur erkannt wird.
- Mastodon
src/pages/api/webmentions.json.tsliefert gefilterte Mentions als JSON und wird nicht prerendered, damit die Prüfung live auf dem Server stattfindet.src/components/WebMentions.astronutzt die Filter-Lib für das initiale Rendering und ruft clientseitig stattwebmention.iojetzt den lokalen Endpoint auf, damit beide Pfade konsistent sind.pnpm biome check src/lib/webmentions.ts src/pages/api/webmentions.json.ts src/components/WebMentions.astroundpnpm astro checklaufen nach der Änderung sauber durch.
Current Task (2026-03-24, Mastodon Articles)
- Artikel zur Mastodon-Implementierung in
src/content/articleserstellen - Artikel zum Troubleshooting von Backfeed/Stale Webmentions in
src/content/articleserstellen - Frontmatter und Content-Struktur gegen bestehende Artikelkonventionen verifizieren
Review (2026-03-24, Mastodon Articles)
- Neuer Implementierungsartikel:
src/content/articles/2026/03/24/posse-to-mastodon-with-state-and-media.md - Neuer Troubleshooting-Artikel:
src/content/articles/2026/03/24/troubleshooting-mastodon-backfeed-and-stale-webmentions.md - Beide Artikel verwenden konsistentes Frontmatter (
title,description,publishDate,tags) und orientieren sich in Struktur, Ton und technischer Tiefe an den bestehenden Engineering-Posts.
Current Task (2026-03-24, Remove Bluesky)
- Bluesky-Syndication in
scripts/publish-posts.shundscripts/bluesky-syndicate.mjsvollständig entfernen - Bluesky-State (
.bluesky-posted.json) und Seiten-Imports in Artikel-/Notes-Templates entfernen - Bluesky-Links in
src/components/Footer.astro,src/layouts/BaseLayout.astround Label-Mapping bereinigen - Webmention-Filter in
src/lib/webmentions.tsvon Bluesky-Pfaden auf Mastodon-only zurückbauen - Änderungen per Diff,
pnpm biome checkundpnpm astro checkverifizieren und Review dokumentieren
Review (2026-03-24, Remove Bluesky)
scripts/publish-posts.shenthält keinen Bluesky-Block mehr und nutzt im Remote-Clean nur noch die Mastodon-State-Ausnahme;scripts/bluesky-syndicate.mjswurde entfernt..bluesky-posted.jsonwurde entfernt und die Artikel-/Notes-Templates lesen nur noch.mastodon-posted.jsonfür automatische Syndication-Links.- Bluesky-Profile/Verweise wurden aus
src/components/Footer.astro,src/layouts/BaseLayout.astround dem Host-Label-Mapping insrc/components/SyndicationLinks.astroentfernt. src/lib/webmentions.tsprüft Social-Interaktionen jetzt Mastodon-only; alle Bluesky-spezifischen Resolver/Checks sind entfernt.- Verifikation:
pnpm biome check scripts/publish-posts.sh src/components/Footer.astro src/components/SyndicationLinks.astro src/layouts/BaseLayout.astro src/lib/webmentions.ts src/pages/articles/[...slug].astro src/pages/notes/[...slug].astroundpnpm astro checklaufen erfolgreich (0 Errors, 0 Warnings, 0 Hints).