alunduil / alunduil/blog.alunduil.com
The whole post history loads in one page at /archives, with /posts as the recent feed
- Vorherrschende Sprache
- Astro
- Sterne
- 1
- Forks
- 1
- Ø Merge
- 6 Std. 34 Min.
- Gemergte PRs (30 T.)
- 118
Beschreibung
## Summary
Give `/archives` the job of holding the entire post history in one page load, and leave `/posts` as a paginated recent feed carrying descriptions.
## Motivation
The two pages do the same job with the same component, so neither does it well.
`/posts` paginates at `SITE.postPerPage: 4`. Sixteen posts are four pages behind a prev/next-only control that reads "1 / 4" — reaching the oldest post takes three clicks, and the page count grows by one every four posts.
`/archives` already lists every post grouped year→month, but renders each entry with `Card.astro` — title, date, and full description. That makes it a second feed rather than an index: it is the page that holds the history, but at 100 posts it is a wall nobody scans.
Long-running personal blogs split these two jobs rather than paginating the history:
| Blog | History page | Entry contents |
| --- | --- | --- |
| [Rands in Repose](https://randsinrepose.com/archives/) | all 912 posts since 2002, one page, grouped by year | date · category · title |
| [Jim Nielsen](https://blog.jim-nielsen.com/archive/) | all 805 posts across 14 years, one page | date · title |
| [Tom MacWright](https://macwright.com/writing) | everything back to 2011, one page | date · title |
| [Dave Rupert](https://daverupert.com/archive/) | one page, year groups, tag filter | date · tags · title · short excerpt |
| [Flameeyes](https://flameeyes.blog/) | feed only, ~10 per page | date · category · tags · excerpt |
None of them paginate the archive. Pagination serves the recent feed; the history is one page, and the entries there are index rows, not cards.
## Scope
- Raise `SITE.postPerPage` from 4. Ten is the proposal — 6–12 is the usual band for a listing that carries descriptions, and Flameeyes runs ~10 on the same shape of entry.
- Stop rendering `/archives` with `Card.astro`. Give it a compact entry: no description.
- Keep the year grouping; add per-year jump links if the page warrants them.
- Decide whether `SITE.postPerIndex` (the home page's recent list) moves with `postPerPage` or stays at 4.
Visual treatment is out of scope — this issue settles what each page contains, not how it looks.
## Acceptance criteria
- [ ] Every published post is reachable from `/archives` in a single page load, with no pagination control on that page.
- [ ] `/archives` entries carry no post description.
- [ ] `/posts` shows at least ten entries per page and keeps descriptions.
- [ ] `pnpm build` and `astro check` pass; Pagefind still indexes both pages.
## Additional context
- #360 migrates the vendored theme to upstream v6 and will churn these files. Nothing here arrives free with that migration: upstream v6 still defaults `posts.perPage` to 4 and still ships prev/next-only pagination. The config half ports cleanly (v6 moves it to `astro-paper.config.ts` as `posts.perPage`); the `/archives` rework is local divergence worth sequencing against.
- The archives link is the least discoverable item in the nav, which undercuts the page this issue invests in — tracked separately.
- What an entry row shows beyond date and title depends on the post-type vocabulary, tracked separately against #320.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Bewertung
Dieses Issue wurde noch nicht bewertet.