Refine Swiss + Editorial themes; add optional date field
Swiss: drop all-caps on titles, soften heavy ink borders to muted rules or remove them where background contrast carries the form, balance hero name weights (smaller lighter first name vs heavier italic last name), fix unreadable white description text on portfolio hover. Editorial: enlarge the section "No" mark and set it in italic Fraunces so it reads as typography instead of a tick, swap the first name into DM Serif Display for a different J, sharpen the section number caption. Client tile: contain custom logos at 86% so wide marks like "The Cooperative Way" stop getting cropped to "operative". New: optional `date` field on every item type (link/card/portfolio/ youtube/client). Accepts YYYY, YYYY-MM, or YYYY-MM-DD. Rendered human-friendly with the raw ISO preserved in <time datetime>. Documented in README and demonstrated in links.example.json.
This commit is contained in:
31
README.md
31
README.md
@@ -114,6 +114,37 @@ has `type: "client"`.
|
||||
Every item lives in a section's `items` array and has a `type` field. The
|
||||
five available types are documented below.
|
||||
|
||||
#### Optional `date` (any item type)
|
||||
|
||||
Every item type supports an optional `date` string. Use it to surface
|
||||
"published", "shipped", "released", or "worked on" timestamps without
|
||||
changing the item's `type`.
|
||||
|
||||
Accepted formats (all ISO-style, all interpreted as plain strings — no
|
||||
time zones, no parsing surprises):
|
||||
|
||||
| Input | Rendered as | Use for |
|
||||
|----------------|------------------------|------------------------------------|
|
||||
| `"2026"` | `2026` | Year-only — "this is from 2026" |
|
||||
| `"2026-05"` | `May 2026` | Year + month — soft / recurring |
|
||||
| `"2026-05-14"` | `May 14, 2026` | Full date — talks, launches, posts |
|
||||
|
||||
Where it appears per type:
|
||||
|
||||
- **`link`** — small monospaced caption under the host (separated by a `·`).
|
||||
- **`card` (project)** — at the end of the tag row.
|
||||
- **`portfolio`** — under the caption description.
|
||||
- **`youtube`** — inline after the title overlay.
|
||||
- **`client`** — rendered as a small caption under the client title.
|
||||
|
||||
The raw value is also written to the `<time datetime="…">` attribute so
|
||||
the original ISO string is preserved for machines and screen readers,
|
||||
even though humans see the friendly form.
|
||||
|
||||
```json
|
||||
{ "type": "card", "title": "CoVote launched", "date": "2025-11-04" }
|
||||
```
|
||||
|
||||
#### `type: "link"` — standard link card
|
||||
|
||||
```json
|
||||
|
||||
Reference in New Issue
Block a user