alunduil / alunduil/blog.alunduil.com

Listing entries name the post's type

Offen
#581 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
enhancement
Vorherrschende Sprache
Astro
Sterne
1
Forks
1
Ø Merge
6 Std. 34 Min.
Gemergte PRs (30 T.)
118

Beschreibung

## Summary

Surface each post's type in `/posts`, `/archives`, and tag pages, so a reader can tell a review from an article without opening it.

## Motivation

Nothing in a listing distinguishes the genres. Four of sixteen posts are reviews, and in the feed they sit among the articles as title, date, and description — the same shape. The only signal is the URL (`/posts/reviews//`), which a reader sees after clicking.

Every reference blog that has more than one genre puts the genre on the row. [Rands](https://randsinrepose.com/archives/) renders each archive entry as date · category · title across all 912 posts; [Flameeyes](https://flameeyes.blog/) carries the category on every feed entry; [Dave Rupert](https://daverupert.com/archive/) uses tags for the same purpose. It is the cheapest possible discriminator: one word per row, it works for every entry, and it does not depend on an image existing.

The blog already has the underlying distinction — `src/data/blog/reviews/` is a real directory that survives into the URL — it just never reaches the reader.

## Scope

- Decide where type comes from: derived from the content path (as the archival `_/` folders already are), or a schema field in `src/content.config.ts`.
- Render the type on listing entries in `/posts`, `/archives`, and tag pages.
- Reconcile against the vocabulary #320 settles. That ADR names `article` and `note` as types with narrative and experience-report as *styles*; "review" is not currently placed on either axis, and this issue needs it named before it can render it.
- Keep tags doing what they do. Type is what the post *is*; tags stay what it is *about*.

## Acceptance criteria

- [ ] Every listing entry carries its type, sourced from one place rather than restated per page.
- [ ] Review posts are distinguishable from articles in `/posts` and `/archives` without opening them.
- [ ] The type names match the vocabulary recorded by #320.
- [ ] `pnpm build` and `astro check` pass.

## Additional context

- Blocked by #320: the type vocabulary has to exist before a listing can print it.
- #580 reworks `/archives` into a compact index; the type is the third column of that row.
- #360 will churn the listing components — worth sequencing against.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.